{"_id":"@agent-tool-platform/runtime","_rev":"3-78fe483c0e7d20e48fdaedec469b5ce7","name":"@agent-tool-platform/runtime","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@agent-tool-platform/runtime","version":"0.1.0","keywords":["mcp","model-context-protocol","agent-tools","tool-server","openapi","fastify","runtime"],"license":"MIT","_id":"@agent-tool-platform/runtime@0.1.0","maintainers":[{"name":"ashergarland","email":"asher.garland@gmail.com"}],"homepage":"https://github.com/ashergarland/agent-tool-platform/tree/main/packages/runtime#readme","bugs":{"url":"https://github.com/ashergarland/agent-tool-platform/issues"},"bin":{"agent-tool-validate-metadata":"bin/validate-metadata.js"},"dist":{"shasum":"d82b0c67b20e31c3bc51589bcb2325a0f897278e","tarball":"https://registry.npmjs.org/@agent-tool-platform/runtime/-/runtime-0.1.0.tgz","fileCount":120,"integrity":"sha512-d3F9PFoSwLqGqqmPJ8fZJgvgAg+5RObPyH5aQCIyI6mbuUnGKm16KxknKBG+AZLCz1yWyf0Y2rhmGasfbW+MaA==","signatures":[{"sig":"MEYCIQDlRPkU1HpZUaBzEIflsnf7NpqIi6jf++dEVt4QniI97gIhAK/b53VTv5b1UTOl7DlZL+AONss5jRd0k8w6tfw5wjRP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227832},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./fs":{"types":"./dist/fs/index.d.ts","import":"./dist/fs/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","import":"./dist/auth/index.js"},"./http":{"types":"./dist/http/index.d.ts","import":"./dist/http/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/errors.d.ts","import":"./dist/errors.js"},"./limits":{"types":"./dist/limits/index.d.ts","import":"./dist/limits/index.js"},"./context":{"types":"./dist/context/index.d.ts","import":"./dist/context/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./openapi":{"types":"./dist/openapi/index.d.ts","import":"./dist/openapi/index.js"},"./process":{"types":"./dist/process/index.d.ts","import":"./dist/process/index.js"},"./metadata":{"types":"./dist/metadata/index.d.ts","import":"./dist/metadata/index.js"},"./lifecycle":{"types":"./dist/lifecycle/index.d.ts","import":"./dist/lifecycle/index.js"},"./mutations":{"types":"./dist/mutations/index.d.ts","import":"./dist/mutations/index.js"},"./telemetry":{"types":"./dist/telemetry/index.d.ts","import":"./dist/telemetry/index.js"},"./capability":{"types":"./dist/capability/index.d.ts","import":"./dist/capability/index.js"},"./concurrency":{"types":"./dist/concurrency/index.d.ts","import":"./dist/concurrency/index.js"},"./cancellation":{"types":"./dist/cancellation.d.ts","import":"./dist/cancellation.js"},"./package.json":"./package.json"},"gitHead":"3486ad6b6711242e981ac4f3e3b80690183836ad","scripts":{"build":"tsc -p tsconfig.build.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"ashergarland","email":"asher.garland@gmail.com"},"repository":{"url":"git+https://github.com/ashergarland/agent-tool-platform.git","type":"git","directory":"packages/runtime"},"_npmVersion":"11.17.0","description":"Shared runtime for hosted agent tool servers: capability definition, tool registry, MCP/HTTP/OpenAPI transports, auth, lifecycle, and safety primitives.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"4.4.3","jose":"6.2.8","pino":"10.3.1","fastify":"5.11.2","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/runtime_0.1.0_1787166339104_0.22285576560594955","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agent-tool-platform/runtime","version":"0.1.1","keywords":["mcp","model-context-protocol","agent-tools","tool-server","openapi","fastify","runtime"],"license":"MIT","_id":"@agent-tool-platform/runtime@0.1.1","maintainers":[{"name":"ashergarland","email":"asher.garland@gmail.com"}],"homepage":"https://github.com/ashergarland/agent-tool-platform/tree/main/packages/runtime#readme","bugs":{"url":"https://github.com/ashergarland/agent-tool-platform/issues"},"bin":{"agent-tool-validate-metadata":"bin/validate-metadata.js"},"dist":{"shasum":"3747085968598c62886ef6c6455f7354db753792","tarball":"https://registry.npmjs.org/@agent-tool-platform/runtime/-/runtime-0.1.1.tgz","fileCount":120,"integrity":"sha512-PECdkELf2HpSfW7zrnAJ5TmmxkxWcL3dZiqklC/O1B+X5BBIc8oSNcgnPaxV+P4zQB2tsjTIiLoOQ6ZS5mNGYg==","signatures":[{"sig":"MEUCIQCOvUHT5FXkSaZQKdKs06+rL5Av7OdED/88CW+OQrI0BgIgWijZG4A9RLL8aqroateLyM6dd/Usq00SsN0EzC92/yk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-tool-platform%2fruntime@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":227614},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./fs":{"types":"./dist/fs/index.d.ts","import":"./dist/fs/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js"},"./auth":{"types":"./dist/auth/index.d.ts","import":"./dist/auth/index.js"},"./http":{"types":"./dist/http/index.d.ts","import":"./dist/http/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/errors.d.ts","import":"./dist/errors.js"},"./limits":{"types":"./dist/limits/index.d.ts","import":"./dist/limits/index.js"},"./context":{"types":"./dist/context/index.d.ts","import":"./dist/context/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./openapi":{"types":"./dist/openapi/index.d.ts","import":"./dist/openapi/index.js"},"./process":{"types":"./dist/process/index.d.ts","import":"./dist/process/index.js"},"./metadata":{"types":"./dist/metadata/index.d.ts","import":"./dist/metadata/index.js"},"./lifecycle":{"types":"./dist/lifecycle/index.d.ts","import":"./dist/lifecycle/index.js"},"./mutations":{"types":"./dist/mutations/index.d.ts","import":"./dist/mutations/index.js"},"./telemetry":{"types":"./dist/telemetry/index.d.ts","import":"./dist/telemetry/index.js"},"./capability":{"types":"./dist/capability/index.d.ts","import":"./dist/capability/index.js"},"./concurrency":{"types":"./dist/concurrency/index.d.ts","import":"./dist/concurrency/index.js"},"./cancellation":{"types":"./dist/cancellation.d.ts","import":"./dist/cancellation.js"},"./package.json":"./package.json"},"gitHead":"2436222357367be900c603350a816cf297543e8e","scripts":{"build":"tsc -p tsconfig.build.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e261ce9e-bc0e-4771-8282-36655acf6638"}},"repository":{"url":"git+https://github.com/ashergarland/agent-tool-platform.git","type":"git","directory":"packages/runtime"},"_npmVersion":"11.19.0","description":"Shared runtime for hosted agent tool servers: capability definition, tool registry, MCP/HTTP/OpenAPI transports, auth, lifecycle, and safety primitives.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"4.4.3","jose":"6.2.8","pino":"10.3.1","fastify":"5.11.2","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/runtime_0.1.1_1787330407393_0.7928610208581537","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agent-tool-platform/runtime","version":"0.1.2","description":"Shared runtime for hosted agent tool servers: capability definition, tool registry, MCP/HTTP/OpenAPI transports, auth, lifecycle, and safety primitives.","license":"MIT","type":"module","engines":{"node":">=22.0.0"},"homepage":"https://github.com/ashergarland/agent-tool-platform/tree/main/packages/runtime#readme","repository":{"type":"git","url":"git+https://github.com/ashergarland/agent-tool-platform.git","directory":"packages/runtime"},"bugs":{"url":"https://github.com/ashergarland/agent-tool-platform/issues"},"keywords":["mcp","model-context-protocol","agent-tools","tool-server","openapi","fastify","runtime"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"agent-tool-validate-metadata":"bin/validate-metadata.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./errors":{"types":"./dist/errors.d.ts","import":"./dist/errors.js"},"./cancellation":{"types":"./dist/cancellation.d.ts","import":"./dist/cancellation.js"},"./auth":{"types":"./dist/auth/index.d.ts","import":"./dist/auth/index.js"},"./capability":{"types":"./dist/capability/index.d.ts","import":"./dist/capability/index.js"},"./concurrency":{"types":"./dist/concurrency/index.d.ts","import":"./dist/concurrency/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./context":{"types":"./dist/context/index.d.ts","import":"./dist/context/index.js"},"./fs":{"types":"./dist/fs/index.d.ts","import":"./dist/fs/index.js"},"./http":{"types":"./dist/http/index.d.ts","import":"./dist/http/index.js"},"./lifecycle":{"types":"./dist/lifecycle/index.d.ts","import":"./dist/lifecycle/index.js"},"./limits":{"types":"./dist/limits/index.d.ts","import":"./dist/limits/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js"},"./metadata":{"types":"./dist/metadata/index.d.ts","import":"./dist/metadata/index.js"},"./mutations":{"types":"./dist/mutations/index.d.ts","import":"./dist/mutations/index.js"},"./openapi":{"types":"./dist/openapi/index.d.ts","import":"./dist/openapi/index.js"},"./process":{"types":"./dist/process/index.d.ts","import":"./dist/process/index.js"},"./telemetry":{"types":"./dist/telemetry/index.d.ts","import":"./dist/telemetry/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js"},"./package.json":"./package.json"},"scripts":{"build":"tsc -p tsconfig.build.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"dependencies":{"@modelcontextprotocol/sdk":"1.30.0","fastify":"5.11.2","jose":"6.2.8","pino":"10.3.1","zod":"4.4.3"},"devDependencies":{"@types/node":"22.20.1","typescript":"5.9.3"},"gitHead":"85cc1a2c3573288902464e21cec5d84309e4568d","_id":"@agent-tool-platform/runtime@0.1.2","_nodeVersion":"24.19.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-bXQisdBV1aYl6a6IHgEGk7rc/x8KBe8wnNDne4Z1cs3AMLDHDu840qbyuEbQMSfZubN0ejbztg/MTcwMo0aGRw==","shasum":"ab9960bb897d0e6176b496533d141e5bb052d8c8","tarball":"https://registry.npmjs.org/@agent-tool-platform/runtime/-/runtime-0.1.2.tgz","fileCount":124,"unpackedSize":245585,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-tool-platform%2fruntime@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFh9k74uXagcoigQYIxOQ8ZvRwRSFxsYdqgdM/Y3azgwAiEA+GoK1URZs6V18riSC9g2/LOCKutm6fxbyZACDATe6WE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e261ce9e-bc0e-4771-8282-36655acf6638"}},"directories":{},"maintainers":[{"name":"ashergarland","email":"asher.garland@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/runtime_0.1.2_1787373916590_0.2248601205866021"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-19T19:05:38.937Z","modified":"2026-08-22T04:45:17.045Z","0.1.0":"2026-08-19T19:05:39.249Z","0.1.1":"2026-08-21T16:40:07.530Z","0.1.2":"2026-08-22T04:45:16.738Z"},"bugs":{"url":"https://github.com/ashergarland/agent-tool-platform/issues"},"license":"MIT","homepage":"https://github.com/ashergarland/agent-tool-platform/tree/main/packages/runtime#readme","keywords":["mcp","model-context-protocol","agent-tools","tool-server","openapi","fastify","runtime"],"repository":{"type":"git","url":"git+https://github.com/ashergarland/agent-tool-platform.git","directory":"packages/runtime"},"description":"Shared runtime for hosted agent tool servers: capability definition, tool registry, MCP/HTTP/OpenAPI transports, auth, lifecycle, and safety primitives.","maintainers":[{"name":"ashergarland","email":"asher.garland@gmail.com"}],"readme":"# @agent-tool-platform/runtime\n\nThe shared runtime every `agent-tool-server-*` capability consumes.\n\nThis package owns transports, contracts, and safety primitives. It contains no domain behaviour and\nnever will: the moment it learns what an AST, a repository, or an Azure resource is, it stops being\na platform.\n\nVersion 0.1.0 is publicly available from the primary npm registry.\n\n```bash\nnpm install @agent-tool-platform/runtime\n```\n\n## Import surface\n\nThe root export carries everything:\n\n```ts\nimport {\n  defineAgentToolCapability,\n  defineTool,\n  startAgentToolApplication,\n  startStdioAgentToolApplication,\n} from '@agent-tool-platform/runtime';\n```\n\n## Starting a capability\n\n| Entry point                                         | Use for                                                                    |\n| --------------------------------------------------- | -------------------------------------------------------------------------- |\n| `startAgentToolApplication(capability, options?)`   | A hosted deployment. Binds the HTTP listener and installs signal handlers. |\n| `startStdioAgentToolApplication(capability, opts?)` | A local stdio process launched by an agent host. Binds no listener.        |\n| `createAgentToolApplication(capability, options?)`  | Tests and advanced callers. Assembles the application and starts nothing.  |\n\nThe stdio helper is the preferred startup mechanism for a local entry point. It owns the whole\nlocal lifecycle — silent logger, local execution semantics, capability start hook, MCP server,\ntransport, `SIGINT`/`SIGTERM` handling, ordered teardown, and the process exit code — so a\ncapability entry point is only its own environment policy:\n\n```ts\nimport { startStdioAgentToolApplication } from '@agent-tool-platform/runtime';\nimport capability from './capability.js';\n\nawait startStdioAgentToolApplication(capability, {\n  env: {\n    ...process.env,\n    // A capability-specific default. The platform never learns what this variable means.\n    CAPABILITY_WORKSPACE_ROOT: process.env.CAPABILITY_WORKSPACE_ROOT?.trim() || process.cwd(),\n  },\n});\n```\n\nIt resolves to `{ application, server, transport, close }`. `close()` drains the application, runs\nthe capability `stop` hook, and closes the MCP server, once however often it is called. Signal\nhandlers are released only after all of that has settled, so a signal arriving during a long drain\ncannot cut teardown short. A startup that fails after the capability has begun starting rolls the\napplication and any half-connected server back before rethrowing the original error.\n\nBecause stdio is a local pipe with no network peer, the helper applies local execution semantics\nover the environment it is given — authentication disabled, non-production `NODE_ENV` (a `test`\nenvironment is preserved), loopback host — after the caller's own values, so an inherited\nproduction environment cannot change how a local process runs. No listener is ever bound, and the\ndefault logger is silent because stdout carries protocol traffic. Hosted HTTP semantics are\nunchanged: disabled authentication is still refused in production there.\n\nDeliberate subpath exports exist for narrower imports:\n\n| Subpath         | Contents                                                                                                                                 |\n| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |\n| `/errors`       | `AppError`, the twelve error codes, constructors, `toAppError`, status and retryability mapping.                                         |\n| `/cancellation` | `Deadline`, `linkSignals`, `whenAborted`, `neverCancelled`.                                                                              |\n| `/auth`         | `Principal`, `Authenticator`, API-key and Entra JWT authenticators, credential strength and fingerprinting.                              |\n| `/capability`   | `defineAgentToolCapability`, `createAgentToolApplication`, `startAgentToolApplication`, `startStdioAgentToolApplication`, `ToolInvoker`. |\n| `/concurrency`  | `BoundedSemaphore`, `BoundedQueue`.                                                                                                      |\n| `/config`       | `PlatformConfig`, `defineCapabilityConfig`, `loadCapabilityConfig`, env parsing helpers.                                                 |\n| `/context`      | Request-id resolution and bounds.                                                                                                        |\n| `/fs`           | `RootBoundary` and path containment helpers.                                                                                             |\n| `/http`         | `createHttpServer`, `FixedWindowRateLimiter`, the Fastify adapter.                                                                       |\n| `/lifecycle`    | `ApplicationLifecycle`, `ReadinessAggregator`, readiness helpers, `installShutdownSignalHandlers`.                                       |\n| `/limits`       | Clamping, ceilings, bounded text, lists, and warnings.                                                                                   |\n| `/logging`      | `createLogger`, redaction paths, `createSilentLogger`.                                                                                   |\n| `/mcp`          | `createMcpServer`, stdio and Streamable HTTP adapters.                                                                                   |\n| `/metadata`     | Capability metadata validation.                                                                                                          |\n| `/mutations`    | `MutationGate`, `decideMutation`.                                                                                                        |\n| `/openapi`      | `buildOpenApiDocument`.                                                                                                                  |\n| `/process`      | `buildChildEnvironment`, `resolveExecutable`, `runBoundedProcess`.                                                                       |\n| `/telemetry`    | The telemetry contract, sinks, and measurement sanitization.                                                                             |\n| `/tools`        | `ToolDefinition`, `ToolRegistry`, routing grammar and rendering.                                                                         |\n\n## Binary\n\n```bash\nagent-tool-validate-metadata --server server.json --package package.json [--registry entry.json]\n```\n\nValidates a capability repository's metadata: schema shape, semantic versioning, version agreement\nbetween `server.json` and `package.json`, truthful package and remote declarations, and the absence\nof placeholder content.\n\n## Documentation\n\nSee the [repository README](../../README.md) for the architecture, the capability contract, and the\nownership boundaries between the platform, capabilities, and agent repositories.\n","readmeFilename":"README.md"}