{"_id":"@codedprojects/api-mapper-client","_rev":"2-9d2631324894d5d8c4224e6dddfe4174","name":"@codedprojects/api-mapper-client","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@codedprojects/api-mapper-client","version":"1.0.0","keywords":["ai","mcp","apimapper","llm","tools","typescript","sdk","client"],"author":{"name":"Coded Projects"},"license":"MIT","_id":"@codedprojects/api-mapper-client@1.0.0","maintainers":[{"name":"walterfolli","email":"walter.folli@codedprojects.com"}],"homepage":"https://apimapper.ai","dist":{"shasum":"dc20f63dd207b6e017145fc176fd56ee844e5a07","tarball":"https://registry.npmjs.org/@codedprojects/api-mapper-client/-/api-mapper-client-1.0.0.tgz","fileCount":7,"integrity":"sha512-76jtRZAqpkrOeaRpHpDppukAkx4lcIkCuQ2NJYwMWEwwpHdz3b0Y/xzMGwYHcffN/39QZSAcpRWdGGKUrffA7g==","signatures":[{"sig":"MEYCIQCSC4NYXN3kX5nMAnFv70SMLYHamBmAy1R2UNwEWXDb/QIhAOvN+njqnJpe9IKRwCE0XclX+sDBNZ5iQFdt1al4Hg5U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30027},"main":"dist/index.js","_from":"file:/Users/walterfolli/dev/cp/git/CodedProjects.AI.ApiMapper/artifacts/npm/codedprojects-api-mapper-client-1.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"68e96d0651072caff5f46d9180a8c33279d6fc55","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","build":"tsup src/index.ts --format cjs,esm --dts","clean":"rm -rf dist"},"_npmUser":{"name":"walterfolli","email":"walter.folli@codedprojects.com"},"_resolved":"/Users/walterfolli/dev/cp/git/CodedProjects.AI.ApiMapper/artifacts/npm/codedprojects-api-mapper-client-1.0.0.tgz","_integrity":"sha512-76jtRZAqpkrOeaRpHpDppukAkx4lcIkCuQ2NJYwMWEwwpHdz3b0Y/xzMGwYHcffN/39QZSAcpRWdGGKUrffA7g==","_npmVersion":"11.11.0","description":"Client SDK for the CodedProjects AI ApiMapper Runtime","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/api-mapper-client_1.0.0_1781479661308_0.16654247132057676","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"_id":"@codedprojects/api-mapper-client@1.2.0","dist":{"shasum":"e8a15c61b1d58c33b2ea753326ed79c819f72b44","tarball":"https://registry.npmjs.org/@codedprojects/api-mapper-client/-/api-mapper-client-1.2.0.tgz","fileCount":7,"integrity":"sha512-V+yZ+hoCNd25QJokNzlVrENZsMJ9NA6QsVrup+gubDEJMmJAius3lXjg3fTZS925V+jthcEfuq+kyEkQSGNshA==","signatures":[{"sig":"MEYCIQCD33grPyeKWa9gImDwUfy+fCXalo7U8WrfEdMG30Fs6QIhAL5Dxxy4eRF0LpsuX+uKM+IIotLVYi0p/qDCxUeWGDuK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDWDnzPtqIg39Fd2GL1mP0mycyCnMqj7F8fcShXUX4uLAiBWtiFDpyINm8mBTIgq5MW7TXtnG1vFCC1LFZCvxR7FaQ=="}],"unpackedSize":72430},"main":"dist/index.js","name":"@codedprojects/api-mapper-client","_from":"file:/Users/walterfolli/dev/cp/git/CodedProjects.AI.ApiMapper/artifacts/npm/codedprojects-api-mapper-client-1.2.0.tgz","types":"dist/index.d.ts","author":{"name":"Coded Projects"},"module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f511ce59327f4aae5374e05a8c12a8cc48a2873a","license":"MIT","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","clean":"rm -rf dist"},"version":"1.2.0","_npmUser":{"name":"walterfolli","email":"walter.folli@codedprojects.com"},"homepage":"https://apimapper.ai","keywords":["ai","mcp","apimapper","llm","tools","typescript","sdk","client"],"_resolved":"/Users/walterfolli/dev/cp/git/CodedProjects.AI.ApiMapper/artifacts/npm/codedprojects-api-mapper-client-1.2.0.tgz","_integrity":"sha512-V+yZ+hoCNd25QJokNzlVrENZsMJ9NA6QsVrup+gubDEJMmJAius3lXjg3fTZS925V+jthcEfuq+kyEkQSGNshA==","_npmVersion":"11.11.0","description":"Client SDK for the CodedProjects AI ApiMapper Runtime","directories":{},"maintainers":[{"name":"walterfolli","email":"walter.folli@codedprojects.com"}],"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.6","typescript":"^5.5.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/api-mapper-client_1.2.0_1789234585156_0.40244052593997526"}}},"time":{"created":"2026-06-14T23:27:41.138Z","modified":"2026-09-12T17:36:25.441Z","1.0.0":"2026-06-14T23:27:41.457Z","1.2.0":"2026-09-12T17:36:25.240Z"},"author":{"name":"Coded Projects"},"license":"MIT","homepage":"https://apimapper.ai","keywords":["ai","mcp","apimapper","llm","tools","typescript","sdk","client"],"description":"Client SDK for the CodedProjects AI ApiMapper Runtime","maintainers":[{"name":"walterfolli","email":"walter.folli@codedprojects.com"}],"readme":"# @codedprojects/api-mapper-client\n\nTypeScript client SDK for discovering and invoking AI ApiMapper Runtime tools from JavaScript and TypeScript applications.\n\n## Install\n\n```bash\nnpm install @codedprojects/api-mapper-client\n```\n\n## What it provides\n\n- runtime tool discovery,\n- runtime system prompt loading,\n- tool invocation over MCP-compatible HTTP endpoints,\n- API key, delegated bearer token, and OAuth2 client credentials authentication helpers.\n\n## Quick start\n\n```ts\nimport { ApiMapperClient, ApiKeyCredentialProvider } from \"@codedprojects/api-mapper-client\";\n\nconst client = new ApiMapperClient({\n  baseUrl: \"https://runtime.example.com\",\n  tenantId: \"11111111-1111-1111-1111-111111111111\",\n  clientId: \"my-ai-client\",\n  credentials: new ApiKeyCredentialProvider(\"replace-with-your-api-key\"),\n});\n\nconst tools = await client.getTools();\nconsole.log(tools.map((tool) => tool.name));\n```\n\n## Streamable HTTP / SSE\n\nThe Runtime's `/mcp` endpoint may answer a request either as plain `application/json` or as an\nSSE-framed `text/event-stream` body — both are normal, steady-state responses; which one you get is\ndecided by the Runtime, not the client. The client handles both transparently: no configuration is\nneeded, and calls like `getTools()` and `invokeTool()` behave identically either way. If an\nSSE-framed response stream ends before delivering its result, the client automatically makes one\nresumption attempt using the stream's last event id before giving up.\n\n### `closeSession()`\n\nEnds the MCP session on the Runtime (`DELETE /mcp`) and clears local session state. Safe to call at\nany time, including when no session was established — it never throws, so it's safe to use in a\nshutdown/cleanup path.\n\n```ts\nawait client.closeSession();\n```\n\n### `listen()`\n\nOpens the Runtime's standalone server-push stream (`GET /mcp`) and yields each message the Runtime\npushes outside of a request/response exchange. Reconnects automatically (tracking `Last-Event-ID`)\nafter transient faults, and stops with a clear error on a non-retryable failure (e.g. an unknown or\nexpired session). Pass an `AbortSignal` to stop listening on demand.\n\n```ts\nconst controller = new AbortController();\n\nfor await (const message of client.listen(controller.signal)) {\n  console.log(\"Runtime pushed:\", message);\n}\n\n// Elsewhere: controller.abort();\n```\n\n## Correlation IDs\n\nSend your application's own trace ID with each call and the Runtime records it against the execution\nID it generates, so you can retrieve the full platform audit trail for work you triggered. Configure\nan ambient provider on the client options, or pass one per call. See the\n[SDK correlation guide](https://github.com/CodedProjects/ApiMapper/blob/main/docs/SDK.md#correlation-ids).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}