{"_id":"@atlasprotocol/agent-tools","_rev":"6-d98b0fb0f621991637cee01f52764408","name":"@atlasprotocol/agent-tools","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.0":{"name":"@atlasprotocol/agent-tools","version":"0.1.0","keywords":["atlas","atlas-protocol","agent","mcp","langchain","events","x402"],"license":"MIT","_id":"@atlasprotocol/agent-tools@0.1.0","maintainers":[{"name":"nooblemon_eth","email":"kc@lemonade.social"}],"homepage":"https://github.com/lemonadesocial/atlas-protocol#readme","bugs":{"url":"https://github.com/lemonadesocial/atlas-protocol/issues"},"dist":{"shasum":"5678bca37e074dacb627380e53a04a20131bb091","tarball":"https://registry.npmjs.org/@atlasprotocol/agent-tools/-/agent-tools-0.1.0.tgz","fileCount":35,"integrity":"sha512-KPuS4TsSKZybACJCEY5zi78wy/IGs6EEoHnpxRUFwT6vi09hntz6GBUYFCkVJuhpYCoYAOJxg8CdTOp03NdSwg==","signatures":[{"sig":"MEQCIBEuhhOeO9jzv20zj/kcLuD+giqRFsNge4FjolFnKOVSAiBzOQvbwwozlOJFFsrfRxcvbDcx+F1FxoAi65Ne3F65tA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atlasprotocol%2fagent-tools@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82422},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"7af48bdc455a16b92154f888643d588c162e98d2","scripts":{"lint":"echo \"no lint configured\" && exit 0","test":"vitest run","build":"tsc -p tsconfig.json","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"nooblemon_eth","email":"kc@lemonade.social"},"repository":{"url":"git+https://github.com/lemonadesocial/atlas-protocol.git","type":"git","directory":"packages/agent-tools"},"_npmVersion":"10.9.7","description":"Agent-side ATLAS Protocol tooling for LangChain and MCP. Speak ATLAS from any agent runtime.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","vitest":"^2.0.0","typescript":"^5.6.3","@types/node":"^22.0.0","@langchain/core":"^0.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"peerDependencies":{"zod":">=4.0.0","@langchain/core":">=0.3.0","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"@langchain/core":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agent-tools_0.1.0_1777548800331_0.3788581673854572","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@atlasprotocol/agent-tools","version":"0.1.1","keywords":["atlas","atlas-protocol","agent","mcp","langchain","events","x402"],"license":"MIT","_id":"@atlasprotocol/agent-tools@0.1.1","maintainers":[{"name":"nooblemon_eth","email":"kc@lemonade.social"}],"homepage":"https://github.com/lemonadesocial/atlas-protocol#readme","bugs":{"url":"https://github.com/lemonadesocial/atlas-protocol/issues"},"dist":{"shasum":"31c4e1d00b923c7875cdcad6c86d1428f39ce46a","tarball":"https://registry.npmjs.org/@atlasprotocol/agent-tools/-/agent-tools-0.1.1.tgz","fileCount":35,"integrity":"sha512-pZQ2Pn6A6LiAS4vHRZ0XakCd/Ce25zv2I53y4jqz4O+K2B6orhsLSgoUR2cMAnSD7Q6q7o1zgqAR77BA3VCHdg==","signatures":[{"sig":"MEUCIQCwvS4si8Iq3CfORJpkuUK6+bnEw9U0vaR/Dhky4JQrwgIgEGOdFcbVEmT27KcULV0DcIEioyW7C0lQjrLZX1xvRCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atlasprotocol%2fagent-tools@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82981},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"117333a62b200f2d9df3a1b37e69c76ec446ca92","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d299c945-22cb-4dff-bb1a-7bfe21078c12"}},"repository":{"url":"git+https://github.com/lemonadesocial/atlas-protocol.git","type":"git","directory":"packages/agent-tools"},"_npmVersion":"11.11.0","description":"Agent-side ATLAS Protocol tooling for LangChain and MCP. Speak ATLAS from any agent runtime.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","vitest":"^2.0.0","typescript":"^5.6.3","@types/node":"^24.0.0","@langchain/core":"^0.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"peerDependencies":{"zod":">=4.0.0","@langchain/core":">=0.3.0","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"@langchain/core":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agent-tools_0.1.1_1777572904159_0.6583019295261872","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@atlasprotocol/agent-tools","version":"0.2.0","keywords":["atlas","atlas-protocol","agent","mcp","langchain","events","x402"],"license":"MIT","_id":"@atlasprotocol/agent-tools@0.2.0","maintainers":[{"name":"nooblemon_eth","email":"kc@lemonade.social"}],"homepage":"https://github.com/lemonadesocial/atlas-protocol#readme","bugs":{"url":"https://github.com/lemonadesocial/atlas-protocol/issues"},"dist":{"shasum":"ea8617b1523c032e4ee34ff8cfdfed2a2026e5b6","tarball":"https://registry.npmjs.org/@atlasprotocol/agent-tools/-/agent-tools-0.2.0.tgz","fileCount":39,"integrity":"sha512-3ok35duQEyKFM+ad1DkVhlHIikzoUghIAuRPvN9+a8mHRXtxliH5KkfJIoVw+ad6O+BnrQFI0PZ9YP7RbAgrFg==","signatures":[{"sig":"MEQCICzdAVdBdYWYpNAWr7fTWuK7mCeNfs3Y5cBB3mIq4LkBAiAEOojzL/214mWH7B+HIHVm1A2YFoXupRGBGhtVT3hV4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atlasprotocol%2fagent-tools@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117344},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"835089646bad9e244176b024d767628fedbde3bb","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d299c945-22cb-4dff-bb1a-7bfe21078c12"}},"repository":{"url":"git+https://github.com/lemonadesocial/atlas-protocol.git","type":"git","directory":"packages/agent-tools"},"_npmVersion":"11.11.0","description":"Agent-side ATLAS Protocol tooling for LangChain and MCP. Speak ATLAS from any agent runtime.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@atlasprotocol/mpp":"workspace:^"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","vitest":"^2.0.0","typescript":"^5.6.3","@types/node":"^24.0.0","@langchain/core":"^0.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"peerDependencies":{"zod":">=4.0.0","viem":"^2.0.0","@langchain/core":">=0.3.0","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"viem":{"optional":true},"@langchain/core":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agent-tools_0.2.0_1777708537608_0.8820661637353904","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@atlasprotocol/agent-tools","version":"0.2.1","keywords":["atlas","atlas-protocol","agent","mcp","langchain","events","x402"],"license":"MIT","_id":"@atlasprotocol/agent-tools@0.2.1","maintainers":[{"name":"nooblemon_eth","email":"kc@lemonade.social"}],"homepage":"https://github.com/lemonadesocial/atlas-protocol#readme","bugs":{"url":"https://github.com/lemonadesocial/atlas-protocol/issues"},"dist":{"shasum":"4ece35683a9d41db4a0e1c4878d9425fa7289915","tarball":"https://registry.npmjs.org/@atlasprotocol/agent-tools/-/agent-tools-0.2.1.tgz","fileCount":39,"integrity":"sha512-Skxxk6k/q/sjCNqi6I5kSEf1V40AwLiIXD8fw8MZQmqoN9U3D25bCPe9FueW1gaIYnh6+xX807Un1X5BNmJZ/A==","signatures":[{"sig":"MEUCIQDCLLUU8pJ4zm3FtH5Tbhz9LutyyC/qB4x6k5haHQFirAIgLJAJGcDqWR5eZquMUwYpb2Jq9OvsvKSP8Bnc8ovGYFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atlasprotocol%2fagent-tools@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117597},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"36a55da350abd598e2bf5827a99f9018df0ff5aa","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d299c945-22cb-4dff-bb1a-7bfe21078c12"}},"repository":{"url":"git+https://github.com/lemonadesocial/atlas-protocol.git","type":"git","directory":"packages/agent-tools"},"_npmVersion":"11.11.0","description":"Agent-side ATLAS Protocol tooling for LangChain and MCP. Speak ATLAS from any agent runtime.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@atlasprotocol/mpp":"workspace:^"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","vitest":"^2.0.0","typescript":"^5.6.3","@types/node":"^24.0.0","@langchain/core":"^0.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"peerDependencies":{"zod":">=4.0.0","viem":"^2.0.0","@langchain/core":">=0.3.0","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"viem":{"optional":true},"@langchain/core":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agent-tools_0.2.1_1777766297532_0.9334063422245193","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@atlasprotocol/agent-tools","version":"0.2.2","keywords":["atlas","atlas-protocol","agent","mcp","langchain","events","x402"],"license":"MIT","_id":"@atlasprotocol/agent-tools@0.2.2","maintainers":[{"name":"nooblemon_eth","email":"kc@lemonade.social"}],"homepage":"https://github.com/lemonadesocial/atlas-protocol#readme","bugs":{"url":"https://github.com/lemonadesocial/atlas-protocol/issues"},"dist":{"shasum":"76cf7bcff33494a992f130af24f7e601c26d783f","tarball":"https://registry.npmjs.org/@atlasprotocol/agent-tools/-/agent-tools-0.2.2.tgz","fileCount":39,"integrity":"sha512-KSlXQGPa/4eGxjb+0+9lAIsOBxmkwW/dol6oltecf/04dz20bHysj3OWDG8lQbZ6Z9VxDKlQLLHxz4dHU582dA==","signatures":[{"sig":"MEUCIQC/1c5k84torpTuhhvpT/Gspk9loQch0zaZYWK18QKGJgIgI0pf9CNHv2FG3kEPT/i/Lo6CvpknrnfEIAyYBRNVY2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atlasprotocol%2fagent-tools@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117850},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"7916bb19b9ca5e086ed2ea2ae7672b1d647b4f1a","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d299c945-22cb-4dff-bb1a-7bfe21078c12"}},"repository":{"url":"git+https://github.com/lemonadesocial/atlas-protocol.git","type":"git","directory":"packages/agent-tools"},"_npmVersion":"11.11.0","description":"Agent-side ATLAS Protocol tooling for LangChain and MCP. Speak ATLAS from any agent runtime.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@atlasprotocol/mpp":"workspace:^"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","vitest":"^2.0.0","typescript":"^5.6.3","@types/node":"^24.0.0","@langchain/core":"^0.3.0","@modelcontextprotocol/sdk":"^1.0.0"},"peerDependencies":{"zod":">=4.0.0","viem":"^2.0.0","@langchain/core":">=0.3.0","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"viem":{"optional":true},"@langchain/core":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/agent-tools_0.2.2_1777766816058_0.5935435672049854","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@atlasprotocol/agent-tools","version":"0.2.3","description":"Agent-side ATLAS Protocol tooling for LangChain and MCP. Speak ATLAS from any agent runtime.","license":"MIT","homepage":"https://github.com/lemonadesocial/atlas-protocol/tree/main/packages/agent-tools#readme","repository":{"type":"git","url":"git+https://github.com/lemonadesocial/atlas-protocol.git","directory":"packages/agent-tools"},"keywords":["atlas","atlas-protocol","agent","mcp","langchain","events","x402"],"type":"module","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@atlasprotocol/mpp":"^0.3.0"},"peerDependencies":{"@langchain/core":">=0.3.0","@modelcontextprotocol/sdk":">=1.0.0","viem":"^2.0.0","zod":">=4.0.0"},"peerDependenciesMeta":{"@langchain/core":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true},"viem":{"optional":true}},"devDependencies":{"@langchain/core":"^0.3.0","@modelcontextprotocol/sdk":"^1.0.0","@types/node":"^24.0.0","typescript":"^5.6.3","vitest":"^2.0.0","zod":"^4.0.0"},"scripts":{"build":"tsc -p tsconfig.json","test":"vitest run","test:watch":"vitest","lint":"eslint .","format:check":"prettier --check .","typecheck":"tsc --noEmit -p tsconfig.json","clean":"rm -rf dist *.tsbuildinfo"},"_id":"@atlasprotocol/agent-tools@0.2.3","bugs":{"url":"https://github.com/lemonadesocial/atlas-protocol/issues"},"_integrity":"sha512-PJGv40eyuys+uQcUm3Ydge5p1eGdN8Bl2VWO/U7WFvJJUhFffM/i8jG8jlT6i0V1V+6Oew0O68uVpVUPD8AiWA==","_resolved":"/tmp/14bc5440bee89c7800425254ec37255a/atlasprotocol-agent-tools-0.2.3.tgz","_from":"file:atlasprotocol-agent-tools-0.2.3.tgz","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-PJGv40eyuys+uQcUm3Ydge5p1eGdN8Bl2VWO/U7WFvJJUhFffM/i8jG8jlT6i0V1V+6Oew0O68uVpVUPD8AiWA==","shasum":"a3cc8d236efecfb0b44cadedb0d2520c96fee430","tarball":"https://registry.npmjs.org/@atlasprotocol/agent-tools/-/agent-tools-0.2.3.tgz","fileCount":40,"unpackedSize":119318,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atlasprotocol%2fagent-tools@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFGEZt+iviuLavZNqcTmSj5LzO3wHndm29Rw3i8phjIFAiEAjhdIRsJk0q9u2Yc/xl4aIyiyb2OOdIGRDCgI3pqpHog="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d299c945-22cb-4dff-bb1a-7bfe21078c12"}},"directories":{},"maintainers":[{"name":"nooblemon_eth","email":"kc@lemonade.social"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-tools_0.2.3_1777868767785_0.7418723593880889"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-30T11:33:20.202Z","modified":"2026-05-04T04:26:08.246Z","0.1.0":"2026-04-30T11:33:20.470Z","0.1.1":"2026-04-30T18:15:04.308Z","0.2.0":"2026-05-02T07:55:37.740Z","0.2.1":"2026-05-02T23:58:17.651Z","0.2.2":"2026-05-03T00:06:56.200Z","0.2.3":"2026-05-04T04:26:07.922Z"},"bugs":{"url":"https://github.com/lemonadesocial/atlas-protocol/issues"},"license":"MIT","homepage":"https://github.com/lemonadesocial/atlas-protocol/tree/main/packages/agent-tools#readme","keywords":["atlas","atlas-protocol","agent","mcp","langchain","events","x402"],"repository":{"type":"git","url":"git+https://github.com/lemonadesocial/atlas-protocol.git","directory":"packages/agent-tools"},"description":"Agent-side ATLAS Protocol tooling for LangChain and MCP. Speak ATLAS from any agent runtime.","maintainers":[{"name":"nooblemon_eth","email":"kc@lemonade.social"}],"readme":"# @atlasprotocol/agent-tools\n\nAgent-side ATLAS Protocol tooling. Drop these helpers into any LangChain agent\nor Model Context Protocol server and your runtime can discover events, fetch\nticket types, drive the HTTP 402 purchase flow, and read receipts against any\nATLAS Registry — without writing a line of protocol glue. The package is\nruntime-agnostic, has no implicit `process.env` reads, and pushes payment\nsigning back to the caller's wallet layer where it belongs.\n\n## Install\n\n```bash\npnpm add @atlasprotocol/agent-tools\n# Pick the runtimes you actually use:\npnpm add @langchain/core            # for LangChain bindings\npnpm add @modelcontextprotocol/sdk  # for MCP server bindings\npnpm add zod                        # always required (peer dep)\n```\n\n`@langchain/core` and `@modelcontextprotocol/sdk` are **optional peer\ndependencies** — install only the ones your agent uses.\n\n## Quickstart — LangChain\n\n```ts\nimport { buildAtlasLangChainTools } from '@atlasprotocol/agent-tools';\n\nconst atlasTools = buildAtlasLangChainTools({\n  config: {\n    registryUrl: 'https://registry.example.com',\n    backendUrl: 'https://api.example.com',\n    agentId: 'agent:my-app',\n  },\n  getAuthHeader: () => `Bearer ${currentUserToken}`,\n});\n\nconst agent = createReactAgent({ model, tools: atlasTools });\n```\n\n## Quickstart — MCP\n\n```ts\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport {\n  registerAtlasMcpTools,\n  registerAtlasMcpResources,\n  registerAtlasMcpPrompts,\n} from '@atlasprotocol/agent-tools';\n\nconst server = new McpServer({ name: 'atlas', version: '0.1.0' });\nconst config = { registryUrl: '…', backendUrl: '…', agentId: 'agent:my-app' };\n\nregisterAtlasMcpTools(server, config);\nregisterAtlasMcpResources(server, { config });\nregisterAtlasMcpPrompts(server, config);\n```\n\n## Configuration\n\n`AtlasToolsConfig`:\n\n| Field         | Type     | Required | Description                                                                 |\n| ------------- | -------- | -------- | --------------------------------------------------------------------------- |\n| `registryUrl` | `string` | yes      | Base URL of an ATLAS Registry (federated event search).                     |\n| `backendUrl`  | `string` | yes      | Base URL of the ATLAS Backend (purchases, holds, receipts).                 |\n| `agentId`     | `string` | yes      | Stable identifier for this agent (sent as `Atlas-Agent-Id`).                |\n| `apiKey`      | `string` | no       | Pre-shared API key. If set, sent as `Authorization: Bearer <apiKey>`.       |\n| `apiVersion`  | `string` | no       | Override the `Atlas-Version` header. Defaults to `\"1.0\"`.                   |\n| `logger`      | `Logger` | no       | Optional `{debug, info, warn, error}`. Compatible with pino, winston, etc.  |\n\nEnd-user authentication (e.g. session tokens) is passed through the\n`getAuthHeader` callback in LangChain mode, or read from the MCP request's\n`authorization` header in MCP mode. The package never stores user credentials.\n\n## Tools\n\nThe four canonical ATLAS Protocol tools are exposed identically across both\nruntimes:\n\n| Tool                    | Description                                                |\n| ----------------------- | ---------------------------------------------------------- |\n| `atlas_search`          | Federated search across registries.                        |\n| `atlas_compare_tickets` | Parallel fetch of 2–5 events for side-by-side comparison.  |\n| `atlas_purchase`        | Start a purchase. Surfaces a 402 challenge for paid events.|\n| `atlas_get_receipt`     | Poll a hold's purchase receipt by `hold_id`.               |\n\n## Payment handling (x402)\n\nWhen the backend returns HTTP 402 with an `atlas:challenge` payload, the\npackage surfaces the challenge to the caller — it does NOT sign payments. That\ndeliberately keeps the package free of any wallet, network, or chain\ndependency. Plug your own wallet / x402 client into the `atlas_purchase` flow\nwhen handling a `pending_payment` result.\n\n## See also\n\n- Protocol spec: [`../../specs/01-PROTOCOL-SPEC.md`](../../specs/01-PROTOCOL-SPEC.md)\n- Wire schemas: [`../../specs/02-SCHEMAS.md`](../../specs/02-SCHEMAS.md)\n- Agent ecosystem: [`../../specs/08-AGENT-ECOSYSTEM-SPEC.md`](../../specs/08-AGENT-ECOSYSTEM-SPEC.md)\n","readmeFilename":"README.md"}