{"_id":"@cyanheads/mcp-ts-core","_rev":"169-0a8154d6055917c2ed90c5a61c43095e","name":"@cyanheads/mcp-ts-core","dist-tags":{"latest":"0.13.7"},"versions":{"0.1.0-beta.12":{"name":"@cyanheads/mcp-ts-core","version":"0.1.0-beta.12","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.0-beta.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"d87144da3bfd960f4de8d18354fe8c500c1e5349","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.0-beta.12.tgz","fileCount":485,"integrity":"sha512-5us1AsgcNUqwGEOU15tneBblyd/kP2okfH9ZbzT+pl9eE5MQAUuZNC9GMOqGtd0RGLYg8ZNWjUEp6FXmNwa5Vw==","signatures":[{"sig":"MEUCIBGt/VrDW9LhdiZJc438fz5rm0Gau3llVqYacBU9lPxEAiEAjhcZ2qKrpqMc6L/0wL0DpQ97bcQ1rF6ocLS6hEbvf8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1822874},"main":"dist/app.js","type":"module","types":"dist/app.d.ts","shasum":"d87144da3bfd960f4de8d18354fe8c500c1e5349","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/app.d.ts","import":"./dist/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/newToolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/newToolDefinition.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/newPromptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/newPromptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/newResourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/newResourceDefinition.js"},"./biome.json":"./biome.json","./utils/types":{"types":"./dist/utils/types/index.d.ts","import":"./dist/utils/types/index.js"},"./package.json":"./package.json","./utils/logger":{"types":"./dist/utils/internal/logger.d.ts","import":"./dist/utils/internal/logger.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./utils/network":{"types":"./dist/utils/network/fetchWithTimeout.d.ts","import":"./dist/utils/network/fetchWithTimeout.js"},"./utils/parsing":{"types":"./dist/utils/parsing/index.d.ts","import":"./dist/utils/parsing/index.js"},"./utils/runtime":{"types":"./dist/utils/internal/runtime.d.ts","import":"./dist/utils/internal/runtime.js"},"./vitest.config":"./vitest.config.base.ts","./utils/security":{"types":"./dist/utils/security/index.d.ts","import":"./dist/utils/security/index.js"},"./utils/formatting":{"types":"./dist/utils/formatting/index.d.ts","import":"./dist/utils/formatting/index.js"},"./utils/pagination":{"types":"./dist/utils/pagination/pagination.d.ts","import":"./dist/utils/pagination/pagination.js"},"./utils/scheduling":{"types":"./dist/utils/scheduling/scheduler.d.ts","import":"./dist/utils/scheduling/scheduler.js"},"./tsconfig.base.json":"./tsconfig.base.json","./utils/errorHandler":{"types":"./dist/utils/internal/error-handler/errorHandler.d.ts","import":"./dist/utils/internal/error-handler/errorHandler.js"},"./utils/requestContext":{"types":"./dist/utils/internal/requestContext.d.ts","import":"./dist/utils/internal/requestContext.js"}},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","prepare":"bunx husky","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:report":"bun run scripts/test-report.ts","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","prepublishOnly":"bun run build","coverage:commit":"bun run scripts/update-coverage.ts --commit","coverage:update":"bun run scripts/update-coverage.ts","test:integration":"bunx vitest run --config vitest.integration.ts","test:report:open":"bun run scripts/test-report.ts --open","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-5us1AsgcNUqwGEOU15tneBblyd/kP2okfH9ZbzT+pl9eE5MQAUuZNC9GMOqGtd0RGLYg8ZNWjUEp6FXmNwa5Vw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.7","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.5","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"7.3.1","execa":"^9.6.1","husky":"^9.1.7","ignore":"^7.0.5","vitest":"^4.0.18","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","tsc-alias":"^1.8.16","@types/bun":"^1.3.10","@vitest/ui":"4.0.18","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.4.0","pino-pretty":"^13.1.3","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/papaparse":"^5.5.2","@types/validator":"13.15.10","vite-tsconfig-paths":"^6.1.1","@types/sanitize-html":"^2.16.1","@cloudflare/workers-types":"^4.20260312.1","@vitest/coverage-istanbul":"4.0.18"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"latest","openai":"latest","js-yaml":"^3.14.2","pdf-lib":"latest","node-cron":"latest","papaparse":"latest","validator":"latest","@hono/otel":"latest","chrono-node":"latest","partial-json":"latest","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"latest","@opentelemetry/sdk-node":"latest","@opentelemetry/resources":"latest","@opentelemetry/sdk-metrics":"latest","@opentelemetry/sdk-trace-node":"latest","@opentelemetry/instrumentation-pino":"latest","@opentelemetry/semantic-conventions":"latest","@opentelemetry/exporter-trace-otlp-http":"latest","@opentelemetry/auto-instrumentations-node":"latest","@opentelemetry/exporter-metrics-otlp-http":"latest"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.0-beta.12_1773317828262_0.7828082608144273","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.14":{"name":"@cyanheads/mcp-ts-core","version":"0.1.0-beta.14","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.0-beta.14","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"7191158b802803d3a7fa134691e7f709c1cf0ace","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.0-beta.14.tgz","fileCount":485,"integrity":"sha512-lolOBQPZIR/Qv/Kp5i0AD1zQMKYeGo+qSGkPTxswcaiZs/HBAg9agyGcBrOOZVIZa/MH6dkeouRec24val0/mA==","signatures":[{"sig":"MEUCIDGz1phJU9vVt9bKWB5gbuHaQ4hcvXfL/CyL9f178blAAiEA13XzEcLNGS5U2lV3eV/ADutqirrel5i6+hZNt/M7veE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1824359},"main":"dist/app.js","type":"module","types":"dist/app.d.ts","shasum":"7191158b802803d3a7fa134691e7f709c1cf0ace","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/app.d.ts","import":"./dist/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/newToolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/newToolDefinition.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/newPromptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/newPromptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/newResourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/newResourceDefinition.js"},"./biome.json":"./biome.json","./utils/types":{"types":"./dist/utils/types/index.d.ts","import":"./dist/utils/types/index.js"},"./package.json":"./package.json","./utils/logger":{"types":"./dist/utils/internal/logger.d.ts","import":"./dist/utils/internal/logger.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./utils/network":{"types":"./dist/utils/network/fetchWithTimeout.d.ts","import":"./dist/utils/network/fetchWithTimeout.js"},"./utils/parsing":{"types":"./dist/utils/parsing/index.d.ts","import":"./dist/utils/parsing/index.js"},"./utils/runtime":{"types":"./dist/utils/internal/runtime.d.ts","import":"./dist/utils/internal/runtime.js"},"./vitest.config":"./vitest.config.base.ts","./utils/security":{"types":"./dist/utils/security/index.d.ts","import":"./dist/utils/security/index.js"},"./utils/formatting":{"types":"./dist/utils/formatting/index.d.ts","import":"./dist/utils/formatting/index.js"},"./utils/pagination":{"types":"./dist/utils/pagination/pagination.d.ts","import":"./dist/utils/pagination/pagination.js"},"./utils/scheduling":{"types":"./dist/utils/scheduling/scheduler.d.ts","import":"./dist/utils/scheduling/scheduler.js"},"./tsconfig.base.json":"./tsconfig.base.json","./utils/errorHandler":{"types":"./dist/utils/internal/error-handler/errorHandler.d.ts","import":"./dist/utils/internal/error-handler/errorHandler.js"},"./utils/requestContext":{"types":"./dist/utils/internal/requestContext.d.ts","import":"./dist/utils/internal/requestContext.js"}},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","prepare":"bunx husky","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:report":"bun run scripts/test-report.ts","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","prepublishOnly":"bun run build","coverage:commit":"bun run scripts/update-coverage.ts --commit","coverage:update":"bun run scripts/update-coverage.ts","test:integration":"bunx vitest run --config vitest.integration.ts","test:report:open":"bun run scripts/test-report.ts --open","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-lolOBQPZIR/Qv/Kp5i0AD1zQMKYeGo+qSGkPTxswcaiZs/HBAg9agyGcBrOOZVIZa/MH6dkeouRec24val0/mA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.7","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.5","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"7.3.1","execa":"^9.6.1","husky":"^9.1.7","ignore":"^7.0.5","vitest":"^4.0.18","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","tsc-alias":"^1.8.16","@types/bun":"^1.3.10","@vitest/ui":"4.0.18","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.4.0","pino-pretty":"^13.1.3","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/papaparse":"^5.5.2","@types/validator":"13.15.10","vite-tsconfig-paths":"^6.1.1","@types/sanitize-html":"^2.16.1","@cloudflare/workers-types":"^4.20260312.1","@vitest/coverage-istanbul":"4.0.18"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"latest","openai":"latest","js-yaml":"^3.14.2","pdf-lib":"latest","node-cron":"latest","papaparse":"latest","validator":"latest","@hono/otel":"latest","chrono-node":"latest","partial-json":"latest","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"latest","@opentelemetry/sdk-node":"latest","@opentelemetry/resources":"latest","@opentelemetry/sdk-metrics":"latest","@opentelemetry/sdk-trace-node":"latest","@opentelemetry/instrumentation-pino":"latest","@opentelemetry/semantic-conventions":"latest","@opentelemetry/exporter-trace-otlp-http":"latest","@opentelemetry/auto-instrumentations-node":"latest","@opentelemetry/exporter-metrics-otlp-http":"latest"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.0-beta.14_1773318644328_0.6373229052848608","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.15":{"name":"@cyanheads/mcp-ts-core","version":"0.1.0-beta.15","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.0-beta.15","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"0c5dec22df426f7346c3b186ce1345553d39113d","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.0-beta.15.tgz","fileCount":485,"integrity":"sha512-Y9ktcXWFdZKKbq7H5T2nSNNWDaOyy1S1t0VMiJPxnfk0OD8OjvXpNvupLqG42m9P0IS2osoG+h7wEMRwixl8hg==","signatures":[{"sig":"MEUCIDzc3vCDhZVuMaFTPV3f6AugzOFruuhUGrM8HccVApKtAiEAq1obJ2CiJzBe/8aGsP0z4XJOvzluNF7n19dpynOgk04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1824389},"main":"dist/app.js","type":"module","types":"dist/app.d.ts","shasum":"0c5dec22df426f7346c3b186ce1345553d39113d","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/app.d.ts","import":"./dist/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/newToolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/newToolDefinition.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/newPromptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/newPromptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/newResourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/newResourceDefinition.js"},"./biome.json":"./biome.json","./utils/types":{"types":"./dist/utils/types/index.d.ts","import":"./dist/utils/types/index.js"},"./package.json":"./package.json","./utils/logger":{"types":"./dist/utils/internal/logger.d.ts","import":"./dist/utils/internal/logger.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./utils/network":{"types":"./dist/utils/network/fetchWithTimeout.d.ts","import":"./dist/utils/network/fetchWithTimeout.js"},"./utils/parsing":{"types":"./dist/utils/parsing/index.d.ts","import":"./dist/utils/parsing/index.js"},"./utils/runtime":{"types":"./dist/utils/internal/runtime.d.ts","import":"./dist/utils/internal/runtime.js"},"./vitest.config":"./vitest.config.base.ts","./utils/security":{"types":"./dist/utils/security/index.d.ts","import":"./dist/utils/security/index.js"},"./utils/formatting":{"types":"./dist/utils/formatting/index.d.ts","import":"./dist/utils/formatting/index.js"},"./utils/pagination":{"types":"./dist/utils/pagination/pagination.d.ts","import":"./dist/utils/pagination/pagination.js"},"./utils/scheduling":{"types":"./dist/utils/scheduling/scheduler.d.ts","import":"./dist/utils/scheduling/scheduler.js"},"./tsconfig.base.json":"./tsconfig.base.json","./utils/errorHandler":{"types":"./dist/utils/internal/error-handler/errorHandler.d.ts","import":"./dist/utils/internal/error-handler/errorHandler.js"},"./utils/requestContext":{"types":"./dist/utils/internal/requestContext.d.ts","import":"./dist/utils/internal/requestContext.js"}},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","prepare":"bunx husky","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:report":"bun run scripts/test-report.ts","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","prepublishOnly":"bun run build","coverage:commit":"bun run scripts/update-coverage.ts --commit","coverage:update":"bun run scripts/update-coverage.ts","test:integration":"bunx vitest run --config vitest.integration.ts","test:report:open":"bun run scripts/test-report.ts --open","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Y9ktcXWFdZKKbq7H5T2nSNNWDaOyy1S1t0VMiJPxnfk0OD8OjvXpNvupLqG42m9P0IS2osoG+h7wEMRwixl8hg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.7","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.5","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"7.3.1","execa":"^9.6.1","husky":"^9.1.7","ignore":"^7.0.5","vitest":"^4.0.18","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","tsc-alias":"^1.8.16","@types/bun":"^1.3.10","@vitest/ui":"4.0.18","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.4.0","pino-pretty":"^13.1.3","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/papaparse":"^5.5.2","@types/validator":"13.15.10","vite-tsconfig-paths":"^6.1.1","@types/sanitize-html":"^2.16.1","@cloudflare/workers-types":"^4.20260312.1","@vitest/coverage-istanbul":"4.0.18"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"latest","openai":"latest","js-yaml":"^3.14.2","pdf-lib":"latest","node-cron":"latest","papaparse":"latest","validator":"latest","@hono/otel":"latest","chrono-node":"latest","partial-json":"latest","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"latest","@opentelemetry/sdk-node":"latest","@opentelemetry/resources":"latest","@opentelemetry/sdk-metrics":"latest","@opentelemetry/sdk-trace-node":"latest","@opentelemetry/instrumentation-pino":"latest","@opentelemetry/semantic-conventions":"latest","@opentelemetry/exporter-trace-otlp-http":"latest","@opentelemetry/auto-instrumentations-node":"latest","@opentelemetry/exporter-metrics-otlp-http":"latest"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.0-beta.15_1773318987257_0.7293273403864271","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.16":{"name":"@cyanheads/mcp-ts-core","version":"0.1.0-beta.16","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.0-beta.16","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"151a1c8dc07c2a7c8548dd69ec19478416f50e7f","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.0-beta.16.tgz","fileCount":486,"integrity":"sha512-2ywi7R3xueRKUIctgn3Na9/YgcnEC11F0mbiB5ap5YE60JoUuZlH5aXW/KHXgkw7MzQY8q97iZIWpEy7nkqiug==","signatures":[{"sig":"MEUCIBXe2xHLDrVxXyKQMzAsQ71lQCQ6m/5rJksAWtSt77T3AiEAvNSjECQ2c/pZGUPjQ+KPk1+NKX7SKPmkMPEdB0jGMDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1825235},"main":"dist/app.js","type":"module","types":"dist/app.d.ts","shasum":"151a1c8dc07c2a7c8548dd69ec19478416f50e7f","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/app.d.ts","import":"./dist/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/newToolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/newToolDefinition.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/newPromptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/newPromptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/newResourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/newResourceDefinition.js"},"./biome.json":"./biome.json","./utils/types":{"types":"./dist/utils/types/index.d.ts","import":"./dist/utils/types/index.js"},"./package.json":"./package.json","./utils/logger":{"types":"./dist/utils/internal/logger.d.ts","import":"./dist/utils/internal/logger.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./utils/network":{"types":"./dist/utils/network/fetchWithTimeout.d.ts","import":"./dist/utils/network/fetchWithTimeout.js"},"./utils/parsing":{"types":"./dist/utils/parsing/index.d.ts","import":"./dist/utils/parsing/index.js"},"./utils/runtime":{"types":"./dist/utils/internal/runtime.d.ts","import":"./dist/utils/internal/runtime.js"},"./vitest.config":"./vitest.config.base.ts","./utils/security":{"types":"./dist/utils/security/index.d.ts","import":"./dist/utils/security/index.js"},"./utils/formatting":{"types":"./dist/utils/formatting/index.d.ts","import":"./dist/utils/formatting/index.js"},"./utils/pagination":{"types":"./dist/utils/pagination/pagination.d.ts","import":"./dist/utils/pagination/pagination.js"},"./utils/scheduling":{"types":"./dist/utils/scheduling/scheduler.d.ts","import":"./dist/utils/scheduling/scheduler.js"},"./tsconfig.base.json":"./tsconfig.base.json","./utils/errorHandler":{"types":"./dist/utils/internal/error-handler/errorHandler.d.ts","import":"./dist/utils/internal/error-handler/errorHandler.js"},"./utils/requestContext":{"types":"./dist/utils/internal/requestContext.d.ts","import":"./dist/utils/internal/requestContext.js"}},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","prepare":"bunx husky","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:report":"bun run scripts/test-report.ts","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","prepublishOnly":"bun run build","coverage:commit":"bun run scripts/update-coverage.ts --commit","coverage:update":"bun run scripts/update-coverage.ts","test:integration":"bunx vitest run --config vitest.integration.ts","test:report:open":"bun run scripts/test-report.ts --open","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-2ywi7R3xueRKUIctgn3Na9/YgcnEC11F0mbiB5ap5YE60JoUuZlH5aXW/KHXgkw7MzQY8q97iZIWpEy7nkqiug==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.7","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.5","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"7.3.1","execa":"^9.6.1","husky":"^9.1.7","ignore":"^7.0.5","vitest":"^4.0.18","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","tsc-alias":"^1.8.16","@types/bun":"^1.3.10","@vitest/ui":"4.0.18","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.4.0","pino-pretty":"^13.1.3","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/papaparse":"^5.5.2","@types/validator":"13.15.10","vite-tsconfig-paths":"^6.1.1","@types/sanitize-html":"^2.16.1","@cloudflare/workers-types":"^4.20260312.1","@vitest/coverage-istanbul":"4.0.18"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"latest","openai":"latest","js-yaml":"^3.14.2","pdf-lib":"latest","node-cron":"latest","papaparse":"latest","validator":"latest","@hono/otel":"latest","chrono-node":"latest","partial-json":"latest","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"latest","@opentelemetry/sdk-node":"latest","@opentelemetry/resources":"latest","@opentelemetry/sdk-metrics":"latest","@opentelemetry/sdk-trace-node":"latest","@opentelemetry/instrumentation-pino":"latest","@opentelemetry/semantic-conventions":"latest","@opentelemetry/exporter-trace-otlp-http":"latest","@opentelemetry/auto-instrumentations-node":"latest","@opentelemetry/exporter-metrics-otlp-http":"latest"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.0-beta.16_1773321087295_0.2432996754759793","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.19":{"name":"@cyanheads/mcp-ts-core","version":"0.1.0-beta.19","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.0-beta.19","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b240a8a4e6771a1654dbb554bf358ea6e2f772bd","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.0-beta.19.tgz","fileCount":470,"integrity":"sha512-cOy+TOk/hN/3cpFtMcv4oMC2w4CA46GBIrwvUIX/88N2HoX1nipI6k8qb1De3NGV6la6wk0iAssOomvwIYQu8w==","signatures":[{"sig":"MEYCIQDGMysMfWClQjzb9wppGBDG2Bz92EyGNj5wbWMHFlTRcgIhAL4MvgXf+D/Aly+7mepHaoBjPD1aZwMQeDyNVDv/05mv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1792816},"main":"dist/app.js","type":"module","types":"dist/app.d.ts","shasum":"b240a8a4e6771a1654dbb554bf358ea6e2f772bd","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/app.d.ts","import":"./dist/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./context":{"types":"./dist/context.d.ts","import":"./dist/context.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./biome.json":"./biome.json","./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","prepare":"bunx husky","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:report":"bun run scripts/test-report.ts","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","prepublishOnly":"bun run build","coverage:commit":"bun run scripts/update-coverage.ts --commit","coverage:update":"bun run scripts/update-coverage.ts","test:integration":"bunx vitest run --config vitest.integration.ts","test:report:open":"bun run scripts/test-report.ts --open","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-cOy+TOk/hN/3cpFtMcv4oMC2w4CA46GBIrwvUIX/88N2HoX1nipI6k8qb1De3NGV6la6wk0iAssOomvwIYQu8w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"8.0.0","execa":"^9.6.1","husky":"^9.1.7","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.29.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.10","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.1","@biomejs/biome":"2.4.7","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.1","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260313.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/auto-instrumentations-node":"^0.71.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/auto-instrumentations-node":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.0-beta.19_1773518611144_0.8051778285994138","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.24":{"name":"@cyanheads/mcp-ts-core","version":"0.1.0-beta.24","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.0-beta.24","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b7038368878b05dfcdda09501b7a7827334c9cbc","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.0-beta.24.tgz","fileCount":470,"integrity":"sha512-wwgHw5Rl189BKKFgxePlHSSEVbKF3pvprNfi4Nx1Ju7P2Xyu2tgAL7eeDUsf+8P1l58VQrV3yYPqWjmLhF519g==","signatures":[{"sig":"MEYCIQCKbacVFd3Au+3uqofdtVK01/W9R2graz/B0aDPAksE/QIhAN5GWQe4NVg6bUsZIlWFR68Xq2IOj0Tv6y2hba8w09r1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1804163},"main":"dist/app.js","type":"module","types":"dist/app.d.ts","shasum":"b7038368878b05dfcdda09501b7a7827334c9cbc","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/app.d.ts","import":"./dist/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./biome.json":"./biome.json","./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","prepare":"bunx husky","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:report":"bun run scripts/test-report.ts","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","prepublishOnly":"bun run build","coverage:commit":"bun run scripts/update-coverage.ts --commit","coverage:update":"bun run scripts/update-coverage.ts","test:integration":"bunx vitest run --config vitest.integration.ts","test:report:open":"bun run scripts/test-report.ts --open","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-wwgHw5Rl189BKKFgxePlHSSEVbKF3pvprNfi4Nx1Ju7P2Xyu2tgAL7eeDUsf+8P1l58VQrV3yYPqWjmLhF519g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"8.0.0","execa":"^9.6.1","husky":"^9.1.7","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.29.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.10","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.1","@biomejs/biome":"2.4.7","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.1","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260313.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/auto-instrumentations-node":"^0.71.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/auto-instrumentations-node":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.0-beta.24_1773525657599_0.7707532240200283","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.25":{"name":"@cyanheads/mcp-ts-core","version":"0.1.0-beta.25","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.0-beta.25","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"44c30110cd823c7cead42eae76a254641986b09c","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.0-beta.25.tgz","fileCount":470,"integrity":"sha512-g15WCjiFVpYAlEzqH9QCTonGnnuzPs1hVB3OzzI4yyCJyVvTSb9DP4PIIhUkRPoz/JXyUTSdqGhPElcYTIWq+g==","signatures":[{"sig":"MEYCIQDYx5h40K1gyu7lvoRVEO5XVF+3AN/7oIhnZCvEjLMzMAIhAP6VlOLpYY85x2sEp8DphEgDYLFyiJx0OPqHT4Uisd3n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1804386},"main":"dist/core/app.js","type":"module","types":"dist/core/app.d.ts","shasum":"44c30110cd823c7cead42eae76a254641986b09c","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/app.d.ts","import":"./dist/core/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./biome.json":"./biome.json","./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","prepare":"bunx husky","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:report":"bun run scripts/test-report.ts","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","prepublishOnly":"bun run build","coverage:commit":"bun run scripts/update-coverage.ts --commit","coverage:update":"bun run scripts/update-coverage.ts","test:integration":"bunx vitest run --config vitest.integration.ts","test:report:open":"bun run scripts/test-report.ts --open","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-g15WCjiFVpYAlEzqH9QCTonGnnuzPs1hVB3OzzI4yyCJyVvTSb9DP4PIIhUkRPoz/JXyUTSdqGhPElcYTIWq+g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"8.0.0","execa":"^9.6.1","husky":"^9.1.7","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.29.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.10","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.1","@biomejs/biome":"2.4.7","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.1","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260313.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/auto-instrumentations-node":"^0.71.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/auto-instrumentations-node":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.0-beta.25_1773526930846_0.6861054181044488","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@cyanheads/mcp-ts-core","version":"0.1.0","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"f0fa192b8b39bc934e953ddf9460221d993be6f1","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.0.tgz","fileCount":474,"integrity":"sha512-1bmX2IR9rt4dGrmlpDRfM/woSAaMpYPYGtT89TOmqJsHr3pV1PISjkYSBRZwhbuM4bQNkV0xNg9mHKKbDZ7uDg==","signatures":[{"sig":"MEUCIQCWrBLWU1YMNh1leXXbPcYOOZYcWa2IPZoWovaxjnC6zwIgDaGBgueB6bOccPTzw+ec5e5HZU/dY8NcBvfkZvYshZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1913998},"main":"dist/core/app.js","type":"module","types":"dist/core/app.d.ts","shasum":"f0fa192b8b39bc934e953ddf9460221d993be6f1","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/app.d.ts","import":"./dist/core/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./biome.json":"./biome.json","./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","prepare":"bunx husky","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:report":"bun run scripts/test-report.ts","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","prepublishOnly":"bun run build","coverage:commit":"bun run scripts/update-coverage.ts --commit","coverage:update":"bun run scripts/update-coverage.ts","test:integration":"bunx vitest run --config vitest.integration.ts","test:report:open":"bun run scripts/test-report.ts --open","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-1bmX2IR9rt4dGrmlpDRfM/woSAaMpYPYGtT89TOmqJsHr3pV1PISjkYSBRZwhbuM4bQNkV0xNg9mHKKbDZ7uDg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"8.0.0","execa":"^9.6.1","husky":"^9.1.7","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.29.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.10","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.1","@biomejs/biome":"2.4.7","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.1","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260313.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/auto-instrumentations-node":"^0.71.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/auto-instrumentations-node":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.0_1773532412555_0.6712457402516023","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cyanheads/mcp-ts-core","version":"0.1.1","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"407f88557a8d7ee057baba99310e0b34ac061c73","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.1.tgz","fileCount":478,"integrity":"sha512-cgbW7LKxRDE3KCiZalykAZv6gsZI6g9nj+NS0kwrT4Zm9BnwO3BcRS+8fZbYQqYeo6oN/izE5wJqamAept3Q2Q==","signatures":[{"sig":"MEYCIQD5E9N4UB2fEUkAwGSQx7MjBxDzLyj7nATyJ0NyTLHQewIhAI85dcrN99NsALy9i/9qgJZ6hCdKzZZns8OOVvRPHAlO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1966738},"main":"dist/core/app.js","type":"module","types":"dist/core/app.d.ts","shasum":"407f88557a8d7ee057baba99310e0b34ac061c73","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/app.d.ts","import":"./dist/core/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-cgbW7LKxRDE3KCiZalykAZv6gsZI6g9nj+NS0kwrT4Zm9BnwO3BcRS+8fZbYQqYeo6oN/izE5wJqamAept3Q2Q==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"8.0.0","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.29.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.10","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.1","@biomejs/biome":"2.4.7","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.1","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260313.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/auto-instrumentations-node":"^0.71.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/auto-instrumentations-node":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.1_1773537432271_0.3976884031412429","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cyanheads/mcp-ts-core","version":"0.1.2","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-template#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-template/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a5db6077f8ee707ec54a41df58e3e7bd79d33467","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.2.tgz","fileCount":479,"integrity":"sha512-Dmm1u9bdpujDNKQ30LDkuoh4PP2eWk/4++iI9A56N5e0Ql39OZ+RBh706v5uKt2NCVdIIIuxvuVd9hvWbS1BUg==","signatures":[{"sig":"MEQCIDF/MU5K9hKg6aC1WmnEIm8CD1zdrkTq5Rrv2C1FjbPBAiA3BNvdpbNIi8RU8GggOvSGfLE7zSfv91d869Wjs8wEDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1977964},"main":"dist/core/app.js","type":"module","types":"dist/core/app.d.ts","shasum":"a5db6077f8ee707ec54a41df58e3e7bd79d33467","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/app.d.ts","import":"./dist/core/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Dmm1u9bdpujDNKQ30LDkuoh4PP2eWk/4++iI9A56N5e0Ql39OZ+RBh706v5uKt2NCVdIIIuxvuVd9hvWbS1BUg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-template.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"8.0.0","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.29.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.10","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.1","@biomejs/biome":"2.4.7","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.1","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260313.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/auto-instrumentations-node":"^0.71.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/auto-instrumentations-node":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.2_1773538737714_0.8513729147314477","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cyanheads/mcp-ts-core","version":"0.1.4","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"075136611aecda2aa87af5bcf7cf628af74777df","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.4.tgz","fileCount":479,"integrity":"sha512-WlCPa0ajJ92TJbtDbr543M3BkiezCv4XbVIUZx3dd6WIureNSabErI7lvxQrx8tTaqFlZysHsph4zh/g011G3w==","signatures":[{"sig":"MEYCIQDy4iHxdE9Nh2iiGWkI7gQNqRvAkEdHWATVwpRGPkMNRgIhAIB6TILdmLE3MrD1S+z3ja9B8NdTFO4mkaVvNdGv8lFW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1977982},"main":"dist/core/app.js","type":"module","types":"dist/core/app.d.ts","shasum":"075136611aecda2aa87af5bcf7cf628af74777df","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/app.d.ts","import":"./dist/core/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-WlCPa0ajJ92TJbtDbr543M3BkiezCv4XbVIUZx3dd6WIureNSabErI7lvxQrx8tTaqFlZysHsph4zh/g011G3w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"8.0.0","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.29.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.10","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.1","@biomejs/biome":"2.4.7","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.1","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260313.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/auto-instrumentations-node":"^0.71.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/auto-instrumentations-node":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.4_1773540844757_0.4607041895226738","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cyanheads/mcp-ts-core","version":"0.1.5","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"86491fc1623cd48ab2b74acd733b347ce8c53bb6","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.5.tgz","fileCount":479,"integrity":"sha512-VC6vK7puMO79BKqujp3FfBLumtLHh3+zXgdoOxnt8RdI9lW3VRgVmcz+wqRGNcXzOEH9yAVSSYx/eJSFd8H0mg==","signatures":[{"sig":"MEQCIH4D2IJAnnySgj7OZ2xbz0t/uvVWMmuwK/hDhDv7Nxa+AiAGsjaLNs7v3AWftCIqiIofBnXEsOEzoq3i1Qs77KW7ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1980359},"main":"dist/core/app.js","type":"module","types":"dist/core/app.d.ts","shasum":"86491fc1623cd48ab2b74acd733b347ce8c53bb6","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/app.d.ts","import":"./dist/core/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-VC6vK7puMO79BKqujp3FfBLumtLHh3+zXgdoOxnt8RdI9lW3VRgVmcz+wqRGNcXzOEH9yAVSSYx/eJSFd8H0mg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.1","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.10","vite":"8.0.0","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.29.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.10","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.10","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.1","@biomejs/biome":"2.4.7","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.1","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260313.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/auto-instrumentations-node":"^0.71.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/auto-instrumentations-node":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/auto-instrumentations-node":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.5_1773605272336_0.535884932007124","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@cyanheads/mcp-ts-core","version":"0.1.8","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"f028d339f1400cc6f213921c5c618d4358c9ec79","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.8.tgz","fileCount":486,"integrity":"sha512-tBx85T1FwyC3KfNRXwGVeZJGaqTsWvOiVixKMRMj9kIa40PgdwZiCY3+wWKofnQlnbPRLg0kRUOpKspUaDqIEg==","signatures":[{"sig":"MEUCIGCawaRh0jeYb6dtOJUe5YWrO2P6Y7L+XloRCHjg2hFfAiEA2MwxD6LK3kTlnA6Z6juwh5urmelT6KEy+X/RC6o6Dck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1997808},"main":"dist/core/app.js","type":"module","types":"dist/core/app.d.ts","shasum":"f028d339f1400cc6f213921c5c618d4358c9ec79","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/app.d.ts","import":"./dist/core/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-tBx85T1FwyC3KfNRXwGVeZJGaqTsWvOiVixKMRMj9kIa40PgdwZiCY3+wWKofnQlnbPRLg0kRUOpKspUaDqIEg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.13","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-http":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.8_1774013546717_0.4764603419568194","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@cyanheads/mcp-ts-core","version":"0.1.9","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"9ec47f16015b8eb071d19e4389d78a622946241f","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.9.tgz","fileCount":486,"integrity":"sha512-oBvSAzcj1cAg10zzHo1uG66j01oNAUeEtoWawOPewL2DqgTQKi2pJqoNTiMvE+NPX3D+HFazDhqcLLuhWqzWWg==","signatures":[{"sig":"MEYCIQDektblYBxxl/f0J6EihNQDTF38J7QsNGHUmSPzMSHcYAIhAJI1lUwqsaUmb39HzBTu6HPtQLyM18zMaUUxAOPSfPqr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1997873},"main":"dist/core/app.js","type":"module","types":"dist/core/app.d.ts","shasum":"9ec47f16015b8eb071d19e4389d78a622946241f","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/app.d.ts","import":"./dist/core/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","inspector":"bunx mcp-inspector --config mcp.json --server mcp-ts-core","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-oBvSAzcj1cAg10zzHo1uG66j01oNAUeEtoWawOPewL2DqgTQKi2pJqoNTiMvE+NPX3D+HFazDhqcLLuhWqzWWg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"qs":"6.15.0","ajv":"8.18.0","zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","lodash":"4.17.23","rollup":"4.59.0","minimatch":"3.1.5","typescript":"5.9.3","chrono-node":"2.9.0","markdown-it":"14.1.1","@hono/node-server":"1.19.11","escape-string-regexp":"4.0.0","@isaacs/brace-expansion":"5.0.1"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.13","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"","openai":"","js-yaml":"^3.14.2","pdf-lib":"","node-cron":"","papaparse":"","validator":"","@hono/otel":"","chrono-node":"","partial-json":"","sanitize-html":"latest","fast-xml-parser":"^5.4.1","@supabase/supabase-js":"","@opentelemetry/sdk-node":"","@opentelemetry/resources":"","@opentelemetry/sdk-metrics":"","@opentelemetry/sdk-trace-node":"","@opentelemetry/instrumentation-http":"","@opentelemetry/instrumentation-pino":"","@opentelemetry/semantic-conventions":"","@opentelemetry/exporter-trace-otlp-http":"","@opentelemetry/exporter-metrics-otlp-http":""},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.9_1774014616824_0.8451836498084171","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@cyanheads/mcp-ts-core","version":"0.1.10","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"3e391fcc2ee65d5a47d25a50cefabe345cef703e","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.10.tgz","fileCount":486,"integrity":"sha512-YOGeTgmTifSlf1bqkD0QnVC+hclXCMO3MU6TjJJ7mRI070125hAPKRTp+PnUIyUp84v0z00MOqfoQUY+f1yr1Q==","signatures":[{"sig":"MEQCICho6HFn2wmcuj1f+wO9GnqHjs7yl4Qs5RT4/prEEA/fAiAPZu2IJA9LSKzPHrYDFpREY1j7mczXQD+gDKo/Whi8PA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2001210},"main":"dist/core/app.js","type":"module","types":"dist/core/app.d.ts","shasum":"3e391fcc2ee65d5a47d25a50cefabe345cef703e","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/app.d.ts","import":"./dist/core/app.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-YOGeTgmTifSlf1bqkD0QnVC+hclXCMO3MU6TjJJ7mRI070125hAPKRTp+PnUIyUp84v0z00MOqfoQUY+f1yr1Q==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.13","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"zod":"^4.3.6","diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^3.14.2","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.10_1774017408361_0.8371974409881593","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@cyanheads/mcp-ts-core","version":"0.1.11","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"475abdaaec1599d1993fc60e72ddd71f1229a662","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.11.tgz","fileCount":490,"integrity":"sha512-+7UNN1AtlHeF05BIXc+aBW17/cbKybjp0HefhYGmopccK6s7WmIagvgCC0amaERHwBoGSm8zRrPGwVxXEsaNYQ==","signatures":[{"sig":"MEUCIQCg/3toCJdpVNUKm0NfYnZps0zSrmmluNOXGUH+L+bksAIgYXa2EwchLE4AeYrH6xZqDosF0tUCgTh9b0aAIISoffY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2035799},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"475abdaaec1599d1993fc60e72ddd71f1229a662","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-+7UNN1AtlHeF05BIXc+aBW17/cbKybjp0HefhYGmopccK6s7WmIagvgCC0amaERHwBoGSm8zRrPGwVxXEsaNYQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.13","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^3.14.2","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.11_1774025892901_0.6812212606612802","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@cyanheads/mcp-ts-core","version":"0.1.12","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"70e00becafb7ae7396240d926583d33f99b6193a","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.12.tgz","fileCount":490,"integrity":"sha512-FV8jyxEp2FZVkwLs/U8i2kIoO1HcCoFvTYiPtGBaUMFhYxn8nfkoA8D6YhDsIUH/zQ/SPbVFllqbBMZmDl3ELQ==","signatures":[{"sig":"MEQCIFaH1RYzV2rij2tjBOMKjFFHBAtv0R1XY7xz4aI1syQqAiBoNPAIDWWZIs9U70m6K3dMlP/2Gb/BLkDrZPAyiUD3dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2036776},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"70e00becafb7ae7396240d926583d33f99b6193a","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-FV8jyxEp2FZVkwLs/U8i2kIoO1HcCoFvTYiPtGBaUMFhYxn8nfkoA8D6YhDsIUH/zQ/SPbVFllqbBMZmDl3ELQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.13","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^3.14.2","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.12_1774039268443_0.44719114259058745","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@cyanheads/mcp-ts-core","version":"0.1.15","keywords":["agent","ai","ai-agent","authentication","cloudflare-workers","declarative-tools","core","error-handling","hono","llm-integration","mcp","model-context-protocol","mcp-server","elicitation","observability","opentelemetry","otel","framework","typescript","zod"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.15","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b991a3b75cd5b32a26ed0b6ca2fea57694624de3","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.15.tgz","fileCount":526,"integrity":"sha512-Rfetu9ZIPpHzmtPRmiv7OJOErL0OIRaSJKOe2Qp0TydC0BV2ZTzmc74JlOmYjq/IhEnQX1DPsMm7iOxIQNS/Cw==","signatures":[{"sig":"MEYCIQDOV2kNNoSWefLa+AW1H/K8Yde9FGltSni9+gQgkQFIXQIhAOZNjRtll1s+E2FJof5Z4wDBFhZ+RAe8lRU8jQcQOkKR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2097839},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b991a3b75cd5b32a26ed0b6ca2fea57694624de3","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Rfetu9ZIPpHzmtPRmiv7OJOErL0OIRaSJKOe2Qp0TydC0BV2ZTzmc74JlOmYjq/IhEnQX1DPsMm7iOxIQNS/Cw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers)","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^3.14.2","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.15_1774095082731_0.044370123364013914","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@cyanheads/mcp-ts-core","version":"0.1.16","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.16","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"efac0eb7a73e0419e371684cf2ed8a861fbac882","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.16.tgz","fileCount":527,"integrity":"sha512-Z4PDpYnKxSCcy5szU2NPRPL3iJdmBC3LfdMkVsTjhzo5uNOHDLgjMMYXXE21DBgEYNYTqpv8Tt4aTJQRGL93cQ==","signatures":[{"sig":"MEYCIQDiZRK12N48hPXmbJAzscWXdLsfT77BRDHgofeGlcCA7AIhAOqUc7Pax3zyUiaFk94TeC9FkpcmPEujf4doa6bl5AQw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2095425},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"efac0eb7a73e0419e371684cf2ed8a861fbac882","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Z4PDpYnKxSCcy5szU2NPRPL3iJdmBC3LfdMkVsTjhzo5uNOHDLgjMMYXXE21DBgEYNYTqpv8Tt4aTJQRGL93cQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^3.14.2","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.16_1774097545180_0.37210910584340295","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@cyanheads/mcp-ts-core","version":"0.1.18","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.18","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"e232cf4e9f12efa9ad9ee8e549d21c48de81bd1b","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.18.tgz","fileCount":530,"integrity":"sha512-gL+2JDayUi9+Jwa4NJoFyZVEjhW3Tx9YFXrhYJPDKqDOgw9O9+5ewvgUTY4ucD8lcCde+v0Ps+r0reEQZPFe6g==","signatures":[{"sig":"MEYCIQC/bMGvD0USyrgQvQYWY9WdKMR04bSgMOMrbK+hoAS2hAIhAPY9d/U0nsx9//aJVAbMoTZMerLS7e5D5EFXpTZjXD3Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2101401},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"e232cf4e9f12efa9ad9ee8e549d21c48de81bd1b","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-gL+2JDayUi9+Jwa4NJoFyZVEjhW3Tx9YFXrhYJPDKqDOgw9O9+5ewvgUTY4ucD8lcCde+v0Ps+r0reEQZPFe6g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^3.14.2","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.18_1774103750847_0.8770582790354235","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@cyanheads/mcp-ts-core","version":"0.1.19","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.19","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"804327b02c0cfa848dc22064c7dde61c9b313bab","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.19.tgz","fileCount":532,"integrity":"sha512-BpILhg0jvxGSNUCISJcEK262aKF5SYotduw7KjQwhYgDRT0C9T0WpDdi1jnWDN/PZkwsdesJywoh+n1GH70hDA==","signatures":[{"sig":"MEYCIQDRxZod+h2ut+wOa51yhnGP/crYSuHaYn2Ad9HFED0UKAIhAMyh44ZwTM0rgpbVyRXi/gcT1OuEEpxRGNIPY3Vjizp3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2109912},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"804327b02c0cfa848dc22064c7dde61c9b313bab","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-BpILhg0jvxGSNUCISJcEK262aKF5SYotduw7KjQwhYgDRT0C9T0WpDdi1jnWDN/PZkwsdesJywoh+n1GH70hDA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^3.14.2","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.19_1774107085335_0.39203121104503147","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@cyanheads/mcp-ts-core","version":"0.1.20","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.20","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"fb913d2fe38a6b662cc600e7d352d75bdbe91f0b","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.20.tgz","fileCount":533,"integrity":"sha512-tRIyH2I8O8qgjC9uHfetNYXSqC1miCSbNTafhnpLiRgja7R8ernc+0obb+UcXYrBrs2R0V+zM4tbGCJGpuQYIw==","signatures":[{"sig":"MEUCIC4MM64eHSCqa+7xSZ+gnJZHTaHfba7+9seDV86NWTjeAiEA8ZrdoSe0B6xx3lTLOL++Un7JuLoX4ZU17ybM8UTbp68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2111196},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"fb913d2fe38a6b662cc600e7d352d75bdbe91f0b","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-tRIyH2I8O8qgjC9uHfetNYXSqC1miCSbNTafhnpLiRgja7R8ernc+0obb+UcXYrBrs2R0V+zM4tbGCJGpuQYIw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^3.14.2","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.20_1774108184503_0.42339803376231133","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@cyanheads/mcp-ts-core","version":"0.1.21","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.21","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"593d487ba97a25ed30cb92224f7e65a19d2801b2","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.21.tgz","fileCount":536,"integrity":"sha512-ISAJD4OGU5kDzrXepkajIB+FpOD0fsBR4OSJJnlhDGkMdibJaFVQEXJImz97AIdUtFGGTPQ/W7GSl2IklLq1yQ==","signatures":[{"sig":"MEUCIQDIADzLXvdhXkUEGGNTXTNWuGwdi/L9lYMRsd32KuT+nAIgBC2y1vEuI8ZrUEskvfzbSRRpalHjRbBhcaFJzAIbHFE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2113514},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"593d487ba97a25ed30cb92224f7e65a19d2801b2","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-ISAJD4OGU5kDzrXepkajIB+FpOD0fsBR4OSJJnlhDGkMdibJaFVQEXJImz97AIdUtFGGTPQ/W7GSl2IklLq1yQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.21_1774110077833_0.07817294586474","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@cyanheads/mcp-ts-core","version":"0.1.22","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.22","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"cbd6ea04b98691aa4e7c99c7e8d72dc7ced019a2","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.22.tgz","fileCount":537,"integrity":"sha512-+g9FOB8ZMOPh9ilplN2+lApap74qwaSy5UPe9zJx7K0R/oAiGyy0FU8PoHeSuz8OLhiIEO/uViX4TDdU5hAUOQ==","signatures":[{"sig":"MEUCIQCVqslupaTBBNWMY/hci/PTAFEe+NIwZz3OOsTR0j0Y2gIgW0Z6sfNDs+uk/o3x5yMZ0D9xYrTiChOD1aCmuPmkLGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2132395},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"cbd6ea04b98691aa4e7c99c7e8d72dc7ced019a2","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-+g9FOB8ZMOPh9ilplN2+lApap74qwaSy5UPe9zJx7K0R/oAiGyy0FU8PoHeSuz8OLhiIEO/uViX4TDdU5hAUOQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.22_1774142108071_0.6275628466676793","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@cyanheads/mcp-ts-core","version":"0.1.23","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.23","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"baf7c530bff65294f49d88231d028afa88464a06","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.23.tgz","fileCount":537,"integrity":"sha512-IRZPjLelUYk9rian/7bfitSKqCLQO44WY+y3rYwbBP5BzqBHxYuBJdUzzQjnXNe4xzN1eHLZ0wBlkX+O7+hHsg==","signatures":[{"sig":"MEYCIQC4i6rALxxbJ5s8EuSF36QpDJtclcWRGUoaXtJc9RB8kQIhAN1SxfNKpAxA88tf4Iw9eQjdxLwTCYC+9nEaQrRIHCUn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2132841},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"baf7c530bff65294f49d88231d028afa88464a06","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-IRZPjLelUYk9rian/7bfitSKqCLQO44WY+y3rYwbBP5BzqBHxYuBJdUzzQjnXNe4xzN1eHLZ0wBlkX+O7+hHsg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.23_1774145040285_0.2223732143476791","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@cyanheads/mcp-ts-core","version":"0.1.24","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.24","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"f907c6f95383153f5040274ad5974ebd5a0159ed","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.24.tgz","fileCount":537,"integrity":"sha512-gnO8wOQRC9QvuzCtrXDNdPs7RFRvctsgzuuS0+myq1ZgFaDnKUm9J8Bhc+cbylrQzUzw0DGJALqVEgPEo64HGg==","signatures":[{"sig":"MEUCIQCxpAO2KO44dyrEtus4rGdjJ8ie9Go8gV1k4hqz/MmWzwIgCwDkSuWT6TRoL8Sihy9aDGz3Nj8wy2Vs6FsZ/9393zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2133788},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"f907c6f95383153f5040274ad5974ebd5a0159ed","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-gnO8wOQRC9QvuzCtrXDNdPs7RFRvctsgzuuS0+myq1ZgFaDnKUm9J8Bhc+cbylrQzUzw0DGJALqVEgPEo64HGg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.24_1774146269233_0.30943652266077004","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"@cyanheads/mcp-ts-core","version":"0.1.25","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.25","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"dbd65fd36470f0b5e118279be8de1782016d624c","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.25.tgz","fileCount":537,"integrity":"sha512-937KTaH4Dwz08yBg7gh8ng2L5BEh25SmhvpRCMdxlzlM4KIMEky/C+vogv8BR2BBsEv8COPdBQpzOSGC6ZbTHA==","signatures":[{"sig":"MEQCICRkuRPLjCsV3syoCXPQAQ1dfxuD3vQrlp/rpZb89jkTAiBiHQkcu/Q3T3UUHXqLPcGiKp0uXiCPtYtPLHAboPrD3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2135995},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"dbd65fd36470f0b5e118279be8de1782016d624c","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-937KTaH4Dwz08yBg7gh8ng2L5BEh25SmhvpRCMdxlzlM4KIMEky/C+vogv8BR2BBsEv8COPdBQpzOSGC6ZbTHA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.3","hono":"4.12.8","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.1","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.17","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.25_1774150038923_0.028058435982643237","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@cyanheads/mcp-ts-core","version":"0.1.26","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.26","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"1a0cb38cd68b479d3d5ffe3d904232492a42d35f","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.26.tgz","fileCount":537,"integrity":"sha512-/akRQ+/gf45IeFjfT8GkS0wJkZVjVlLE8x+BwanvvRT2v384brQ34D5K2elrUiclReWSKXOP8T+0U+2wsBpFjQ==","signatures":[{"sig":"MEYCIQD2RwsxM0/Px/PBdHSGvfg+0nQ/5yye0fCDizd00p8fqgIhAJ8ZKrXD1iRlkGNg8pLL9bKuGyDe8Me1oCdmaGR1StoD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2140068},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"1a0cb38cd68b479d3d5ffe3d904232492a42d35f","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-/akRQ+/gf45IeFjfT8GkS0wJkZVjVlLE8x+BwanvvRT2v384brQ34D5K2elrUiclReWSKXOP8T+0U+2wsBpFjQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.8","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.2","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.12.0","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.0","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.3","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.26_1774274053467_0.4542419344060602","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"@cyanheads/mcp-ts-core","version":"0.1.27","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.27","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"85d702fe2f03e909e5afb625f6d0acdf76ead713","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.27.tgz","fileCount":537,"integrity":"sha512-fY1hnKzcStZP1b8kBp03lHk/y/90BI/kXt2bC7jCtqbjjE3j/DiDv/zcoE25aRD/M5pxs/fJqfcmrfhdz29CfQ==","signatures":[{"sig":"MEYCIQDOaM15O0zfUvJ2vENS9VDqqkANj1UOTmQ4pLbnoJ0LlgIhALb28q9fbD/gEg6vwqzP7SH99DrugPiLbXpbW4ZX+W+u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2149065},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"85d702fe2f03e909e5afb625f6d0acdf76ead713","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-fY1hnKzcStZP1b8kBp03lHk/y/90BI/kXt2bC7jCtqbjjE3j/DiDv/zcoE25aRD/M5pxs/fJqfcmrfhdz29CfQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","dotenv":"17.3.1","flatted":"3.4.2","typescript":"5.9.3","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.2","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.1","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.0","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.0","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^5.9.3","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.0","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.8","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.27_1774284454969_0.4227867010485258","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"@cyanheads/mcp-ts-core","version":"0.1.28","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.28","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"80a38066ef2e880527ba83e3114cd238bc5a900b","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.28.tgz","fileCount":537,"integrity":"sha512-rRh14ZfEYycIZu8G0sCkwNgMq2oSXE0sEsyZu6LOJjNvJGnrSEAWlJHM9T50//h+PpaXbxq7CTCSb13PzHwsNA==","signatures":[{"sig":"MEUCICJFOg0yQmiee0Ae2Lb/yOt9c6X8JNW22sETcYZmkmNtAiEAkehYK9W2D+5//KX5Sqa75qe4Qdo7UrD4vfSAKIyUOTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2149002},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"80a38066ef2e880527ba83e3114cd238bc5a900b","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-rRh14ZfEYycIZu8G0sCkwNgMq2oSXE0sEsyZu6LOJjNvJGnrSEAWlJHM9T50//h+PpaXbxq7CTCSb13PzHwsNA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","dotenv":"17.3.1","flatted":"3.4.2","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.2","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.1","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.0","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.1","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.0","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.1","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"^5.5.9","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.28_1774285219560_0.7560651499226818","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"@cyanheads/mcp-ts-core","version":"0.1.29","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.1.29","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"afb286add554700f0059a943d7e70fd3ad043aa3","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.1.29.tgz","fileCount":537,"integrity":"sha512-3kZtWnZwUqj3xTi+gbzXvSiteS7rASA/E4F0WjYpT4JjNJhxSZ0vlqodLj4kH259ZYE+iblYXVjYq8zQYFnQCQ==","signatures":[{"sig":"MEYCIQD/CnDBCD+m2bEh4hedyiO6r60aN2BtyEMqfzJD/dx0agIhAKOWZoSrGymjADgNJNgax+OoxNGiSLCAR/QXFVeWRhR1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2151615},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"afb286add554700f0059a943d7e70fd3ad043aa3","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-3kZtWnZwUqj3xTi+gbzXvSiteS7rASA/E4F0WjYpT4JjNJhxSZ0vlqodLj4kH259ZYE+iblYXVjYq8zQYFnQCQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","dotenv":"17.3.1","flatted":"3.4.2","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.2","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.1","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.0","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.1","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.0","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.1","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.1.29_1774357055564_0.9100010394948141","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cyanheads/mcp-ts-core","version":"0.2.0","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"fde2292d8040d80c265ba80a3c612861900aac03","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.0.tgz","fileCount":550,"integrity":"sha512-jW7Sm3q6vQQ+m4YMewODqqW76cNY2jJQPFq5LCsLfW/ZtMO3bRZg3e+oJftYsYLHxj2qUXi2KwwByhKLDIh/uA==","signatures":[{"sig":"MEQCIFNIMThY/1e0pRWHZH2THMhgkClL+7r3TjVHJORj/IjHAiA5RBQb89UkNYGlGnv6BttadC2+YFrr3B9XmydZbzNt2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2232420},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"fde2292d8040d80c265ba80a3c612861900aac03","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-jW7Sm3q6vQQ+m4YMewODqqW76cNY2jJQPFq5LCsLfW/ZtMO3bRZg3e+oJftYsYLHxj2qUXi2KwwByhKLDIh/uA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","dotenv":"17.3.1","flatted":"3.4.2","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.2","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.1","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.0","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.1","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.0","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.1","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.0_1774421618572_0.757221283240912","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cyanheads/mcp-ts-core","version":"0.2.1","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"e0623e1fe444b5ab6f659e2f8d76dee2c5345b97","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.1.tgz","fileCount":550,"integrity":"sha512-cXvpQqNDuQieZn4iOvUT0sgnZYCFMgr+VVRwvQUhivMSot1MuIOAivbsfsWlbCZO2ndSb/4K+TdTpnqz/fy1qw==","signatures":[{"sig":"MEUCIGxvQFmkDt8F0mVnyYxQteutLQlnCBS71NefWh6pwroAAiEAi6tqeFew8HPMOYNnmoDHnGoWcUSN1uZP7PjQBCQEMaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2231592},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"e0623e1fe444b5ab6f659e2f8d76dee2c5345b97","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-cXvpQqNDuQieZn4iOvUT0sgnZYCFMgr+VVRwvQUhivMSot1MuIOAivbsfsWlbCZO2ndSb/4K+TdTpnqz/fy1qw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","dotenv":"17.3.1","flatted":"3.4.2","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.0","@modelcontextprotocol/sdk":"^1.27.1","@modelcontextprotocol/ext-apps":"^1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.2","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.32.0","vitest":"^4.1.1","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.0","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.1","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.8","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.0","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.1","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.213.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.213.0","@opentelemetry/instrumentation-pino":"^0.59.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.213.0","@opentelemetry/exporter-metrics-otlp-http":"^0.213.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.1_1774422941042_0.07611610783619227","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cyanheads/mcp-ts-core","version":"0.2.2","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"243341e6ebffdcc89b23385defeb32426edc4c5b","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.2.tgz","fileCount":550,"integrity":"sha512-KkynbCa42M6Zcpha79qZGc3yBALTOLTQHvBRxfaO4ORb9QiFFyv/1X71EIK+dfebv7naWupjyzejgXhSjCQFDw==","signatures":[{"sig":"MEUCIC8cilYLCdQ3ZxMCPeUIxm00xsT1GZJcwgaqItfrxVjEAiEA/1BSBrsGY0k/9XPdIp1HnGN1AgQfcwXEJ0iX+ukxITk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2239600},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"243341e6ebffdcc89b23385defeb32426edc4c5b","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-KkynbCa42M6Zcpha79qZGc3yBALTOLTQHvBRxfaO4ORb9QiFFyv/1X71EIK+dfebv7naWupjyzejgXhSjCQFDw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.28.0","@modelcontextprotocol/ext-apps":"^1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.9","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.2_1774554127244_0.21051263825709277","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@cyanheads/mcp-ts-core","version":"0.2.3","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"6dab7b752bba7ab01a84cc217d66932e9ad6dc46","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.3.tgz","fileCount":550,"integrity":"sha512-r0S/9kl9Mpqilcsxz5P+9as6opYugs2WC8Bs3rhUwIkgQJ9LXdn/k0hVMP1lv0FdwRaXr3ZyMJa/r5wXW7MRLQ==","signatures":[{"sig":"MEUCIQCHsHc0/2e2Uie3C7OaT2cTxlJOeIBOm4gwnS1hv8N+vQIgSFInsyhGGR4cNMnNEUjZ2fIvD/UWjnypQyZpwVuftpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2244060},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"6dab7b752bba7ab01a84cc217d66932e9ad6dc46","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-r0S/9kl9Mpqilcsxz5P+9as6opYugs2WC8Bs3rhUwIkgQJ9LXdn/k0hVMP1lv0FdwRaXr3ZyMJa/r5wXW7MRLQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","chrono-node":"2.9.0","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.28.0","@modelcontextprotocol/ext-apps":"^1.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.9","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.3_1774689275356_0.38127237599394537","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@cyanheads/mcp-ts-core","version":"0.2.4","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"e9acaeacc75cdbd67dc6153ea92be3d42d996e2d","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.4.tgz","fileCount":554,"integrity":"sha512-KNXUBuAluzNjz8Fl/0L6jjboM0JgYOw78n/YAFf15/l26LJwiNpFHFWnhaWPJwxnyqFqnvDO1AyfsMdpTBoKgw==","signatures":[{"sig":"MEUCIHHoRBHQB6HQlMK/u5TIbrWLDRKyT2IWFMpjZVMD5afnAiEA4qZsvuRZFDaIVb5dMGYJY1azlIAI9rI3X59nS3K46vY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2279015},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"e9acaeacc75cdbd67dc6153ea92be3d42d996e2d","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-KNXUBuAluzNjz8Fl/0L6jjboM0JgYOw78n/YAFf15/l26LJwiNpFHFWnhaWPJwxnyqFqnvDO1AyfsMdpTBoKgw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.28.0","@modelcontextprotocol/ext-apps":"^1.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.9","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.4_1774703055000_0.6288086903425989","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@cyanheads/mcp-ts-core","version":"0.2.5","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"4cfd8e5d59b3c99b62087d442be7374adba12919","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.5.tgz","fileCount":554,"integrity":"sha512-Dw0ajo+JV5QUPfBWk0yYLP7mM8axOKsrIfpIV9EGr3Z0DwbSt2rDsit+jV3oCStYNM1X5/bHHN5oWegnt1vOKQ==","signatures":[{"sig":"MEUCIQDXNACPa/Kz3WjTQEUHBjS2nRKaHv4Gigu7pnpSrtOaBAIgVlZ+QHfRBk19NlB3dn/9B4XXrz6semTFaRU4E8bsDK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2290912},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"4cfd8e5d59b3c99b62087d442be7374adba12919","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Dw0ajo+JV5QUPfBWk0yYLP7mM8axOKsrIfpIV9EGr3Z0DwbSt2rDsit+jV3oCStYNM1X5/bHHN5oWegnt1vOKQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.28.0","@modelcontextprotocol/ext-apps":"^1.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.9","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.5_1774706030430_0.2846372462221025","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@cyanheads/mcp-ts-core","version":"0.2.6","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"23e25e19070b37f98928d50d93e720200ed84c61","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.6.tgz","fileCount":554,"integrity":"sha512-JDAmyAvYMtHjTa4fyZiMxVAJYvGbPQHTipnP+qyrTvYNv2PV5rQZH8x83JrZ8+qB1SPUl7Z4pDgqlHBE4ff10A==","signatures":[{"sig":"MEUCIERuYma5TruubZ04N5bRSf9Sq2xkHMujhOvc6/2faBnJAiEAi+vznOCoW0AdOpkAHok2lSgyzrhovwK6pugH2tiqiek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2291994},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"23e25e19070b37f98928d50d93e720200ed84c61","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-JDAmyAvYMtHjTa4fyZiMxVAJYvGbPQHTipnP+qyrTvYNv2PV5rQZH8x83JrZ8+qB1SPUl7Z4pDgqlHBE4ff10A==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@modelcontextprotocol/sdk":"^1.28.0","@modelcontextprotocol/ext-apps":"^1.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.9","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@opentelemetry/api":"^1.9.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@opentelemetry/api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.6_1774710373055_0.8826627873741995","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@cyanheads/mcp-ts-core","version":"0.2.7","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"ee73762be386e62449e3f6b38c930f161d4b2fc0","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.7.tgz","fileCount":558,"integrity":"sha512-h7gb+rJ9ZH1dvWQkfmKa9w+WwyrEKz8IAYJghwRnXuwCpDvQPwwFPImks0tqft1NRjSPelF+PovgvQgZq51hSA==","signatures":[{"sig":"MEYCIQDdzRCk/57/OzCf947POjbxZQVGqjYMpvRt81fzr7KtlAIhAK3eMyVbWJItBYokMMJ1yDtXtcpRxfBm9AK5W85i9HLD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2307126},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"ee73762be386e62449e3f6b38c930f161d4b2fc0","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-h7gb+rJ9ZH1dvWQkfmKa9w+WwyrEKz8IAYJghwRnXuwCpDvQPwwFPImks0tqft1NRjSPelF+PovgvQgZq51hSA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@modelcontextprotocol/sdk":"^1.28.0","@modelcontextprotocol/ext-apps":"^1.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.9","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@opentelemetry/api":"^1.9.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@opentelemetry/api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.7_1774712333777_0.8052692652588187","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@cyanheads/mcp-ts-core","version":"0.2.8","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"12c74eeffab017a7a5d671d3f4f0c038e16efc54","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.8.tgz","fileCount":558,"integrity":"sha512-J5slvKkObc/K6McuwN1aJz3NsgszL45GckepIZQFHNeB9tmRGTRspf0lH98FelZbwfDR3QGOjSLQ7EuhxgIC9w==","signatures":[{"sig":"MEUCIFw6Bf3slMbtZhq0Qr7c15B15SLFIe559/cqLit+lBjOAiEAyooC/g8gk+7yMNETT6yKZ+nTlHpVNMc+8h8+SvnwXgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2307121},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"12c74eeffab017a7a5d671d3f4f0c038e16efc54","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-J5slvKkObc/K6McuwN1aJz3NsgszL45GckepIZQFHNeB9tmRGTRspf0lH98FelZbwfDR3QGOjSLQ7EuhxgIC9w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@modelcontextprotocol/sdk":"^1.28.0","@modelcontextprotocol/ext-apps":"^1.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.9","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260317.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@opentelemetry/api":"^1.9.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@opentelemetry/api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.8_1774713206646_0.07415993803466314","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@cyanheads/mcp-ts-core","version":"0.2.9","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"61dde14802c5853ae174bb2c833ac140b82578de","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.9.tgz","fileCount":565,"integrity":"sha512-nbtZlTWmWKPVNwonFWGIlnN99qIVYPHoXGR55rgzb24mj63sn4+2ht4mnnaSaoJfTvr3nyq38w2BjPPm2ktV9w==","signatures":[{"sig":"MEUCIFWVycCxpBmGlLE01B8QXy4TC3PN4DMtdZBxkqBTIYGiAiEAkR0/fDA8j9xhMVnnRMrmDPaYO4U3/fjQELjvoSa48xA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2316490},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"61dde14802c5853ae174bb2c833ac140b82578de","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-nbtZlTWmWKPVNwonFWGIlnN99qIVYPHoXGR55rgzb24mj63sn4+2ht4mnnaSaoJfTvr3nyq38w2BjPPm2ktV9w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.11"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.4","@hono/node-server":"^1.19.11","@modelcontextprotocol/sdk":"^1.28.0","@modelcontextprotocol/ext-apps":"^1.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.9","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260329.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@opentelemetry/api":"^1.9.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@opentelemetry/api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.9_1774864210931_0.5339673232050501","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@cyanheads/mcp-ts-core","version":"0.2.10","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"62d5eec4d4ef0c0f0645540f2435bcacf87bfea2","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.10.tgz","fileCount":562,"integrity":"sha512-owz4g23eSg9pNiAnoMUopj7N7s55X0JOREC2j5KK7c06YERRDa7PVbUamGNd3244uSNpgiWdnFO8cKsy6Ea9xw==","signatures":[{"sig":"MEQCIGcNKhdQ82+xezlFFr+xDUignMcoRkHM/c10wxhHIeaRAiArHDYO9LgZqb34n/4NMSOPJU+RUJZ1xP8p6lbgD/Csfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2310355},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"62d5eec4d4ef0c0f0645540f2435bcacf87bfea2","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-owz4g23eSg9pNiAnoMUopj7N7s55X0JOREC2j5KK7c06YERRDa7PVbUamGNd3244uSNpgiWdnFO8cKsy6Ea9xw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.12"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.12","@modelcontextprotocol/sdk":"^1.28.0","@modelcontextprotocol/ext-apps":"^1.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.9","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.100.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260329.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@opentelemetry/api":"^1.9.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@opentelemetry/api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.10_1774877600596_0.21025796578873246","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@cyanheads/mcp-ts-core","version":"0.2.11","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"948076849ec7915bd2ac184277edf729a15347af","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.11.tgz","fileCount":562,"integrity":"sha512-eyeGhv9jOqjVAqnZPxV91jbrQsbW7ENjXMc+Ad6iWcnZEDl3HjvtsncRe2ORlE/SbI0JNoM/mXuW2258qU8zTw==","signatures":[{"sig":"MEUCIQDeTKWk0pApeRd7A1gkJUdICTXJttPri1reYPQ+Shu7XgIgU6lh1aZ0n22ZfHt7eoI6229HTLUo/HJd/VCVa3DW/cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2313753},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"948076849ec7915bd2ac184277edf729a15347af","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-eyeGhv9jOqjVAqnZPxV91jbrQsbW7ENjXMc+Ad6iWcnZEDl3HjvtsncRe2ORlE/SbI0JNoM/mXuW2258qU8zTw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.9","yaml":"1.10.3","dotenv":"17.3.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.12"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.9","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.3.1","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.12","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.26","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.10","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.101.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260401.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@opentelemetry/api":"^1.9.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@opentelemetry/api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.11_1775062576923_0.9286331599180995","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@cyanheads/mcp-ts-core","version":"0.2.12","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.2.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"1b46c2aab5a7fa076c48bda38c96219922d55bc6","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.2.12.tgz","fileCount":562,"integrity":"sha512-0L1/wGhHAhecs394bq5mEsYm/sHDn37+rYwoM+Z71tSaitiA3Iw7W1FGa3TaLjEbi2yBRfI2IdF5Xyk3bz5tBQ==","signatures":[{"sig":"MEYCIQDC815wlZylYRl7U2mKdlDlFcIKrivaeOpEZAD0VS1vAwIhAIMOyIRsB/l6umZjzpQIAKGk6eky2lvy3p8vks+6W5Zj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2317958},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"1b46c2aab5a7fa076c48bda38c96219922d55bc6","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-0L1/wGhHAhecs394bq5mEsYm/sHDn37+rYwoM+Z71tSaitiA3Iw7W1FGa3TaLjEbi2yBRfI2IdF5Xyk3bz5tBQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.10","yaml":"1.10.3","dotenv":"17.4.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.12"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.10","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.0","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.12","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.12.14","vite":"8.0.3","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.2","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.10","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.101.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260403.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@opentelemetry/api":"^1.9.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@opentelemetry/api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.2.12_1775228186857_0.6531528796156443","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@cyanheads/mcp-ts-core","version":"0.3.0","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.3.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a04afb20b21a62b5505c5f1196ea8510b51a5bd8","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.3.0.tgz","fileCount":569,"integrity":"sha512-3J+sKOzrqO0/0mhg+6G73fEpg1XPiS3DFff085ncQ9iRSY8a4CMu8Hp7WSqVG1nHIuxL+TGTA2G2IaJUfnW7FQ==","signatures":[{"sig":"MEYCIQCK/N5AeOfUOFHOgAsrQhzsGopsUbR7gWNvOi1YKYPljgIhANVP89hApxC/O/s8vCCtQPWnvHaAcaBZPcm2HzuqEIKY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2352634},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"a04afb20b21a62b5505c5f1196ea8510b51a5bd8","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-3J+sKOzrqO0/0mhg+6G73fEpg1XPiS3DFff085ncQ9iRSY8a4CMu8Hp7WSqVG1nHIuxL+TGTA2G2IaJUfnW7FQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.11","yaml":"1.10.3","dotenv":"17.4.1","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.12"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.10","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.0","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.12","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.13.0","vite":"8.0.5","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.2","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.10","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.101.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260405.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@opentelemetry/api":"^1.9.1","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@opentelemetry/api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.3.0_1775495198274_0.7122386521884749","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@cyanheads/mcp-ts-core","version":"0.3.1","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.3.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"c142063535b5bf8c22a9efa5ca86055d764ae2e1","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.3.1.tgz","fileCount":569,"integrity":"sha512-QW93NesqjC80rSFtDC8MA5ZlDIkf2pb1zqpzSM9MSzkLQVwctJ7f67REk14MpYYrc52Z4dz+g6QqaHluorHVFw==","signatures":[{"sig":"MEUCIQCLj7Z+3AgE3hhhH8vhI1zHgmspnZRkmZwdr9aW+4XcwgIgCGbUjqoEgMtZMS1sn3aSLSBlkqoseBg7uALaZaybWCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2352576},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"c142063535b5bf8c22a9efa5ca86055d764ae2e1","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-QW93NesqjC80rSFtDC8MA5ZlDIkf2pb1zqpzSM9MSzkLQVwctJ7f67REk14MpYYrc52Z4dz+g6QqaHluorHVFw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.11","yaml":"1.10.3","dotenv":"17.4.1","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.12"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.10","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.0","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.12","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.13.0","vite":"8.0.5","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.2","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.10","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.101.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260405.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.3.1_1775496056835_0.09066461746985688","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@cyanheads/mcp-ts-core","version":"0.3.2","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.3.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"09da9ee2a8123a606b30c1d54b2b42f10bf0096a","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.3.2.tgz","fileCount":569,"integrity":"sha512-STsbY6cLab8HXex4/If/nZ2auMQCaKdYhaN7wY8LlVZZQ0i/xTPt0irYbNWAwbUJaBQdjn3iFosErKku9pYoQA==","signatures":[{"sig":"MEUCIQCLVDKhqHX0cYGy1ZbWKc1wP3hnL+Njk8vddUHtMeEsCwIgCm/BxHLgiSUcknfF2ly9wEyK9F7G2SBKTkNNmEQcs+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2354260},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"09da9ee2a8123a606b30c1d54b2b42f10bf0096a","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-STsbY6cLab8HXex4/If/nZ2auMQCaKdYhaN7wY8LlVZZQ0i/xTPt0irYbNWAwbUJaBQdjn3iFosErKku9pYoQA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.11","yaml":"1.10.3","dotenv":"17.4.1","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.12"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.11","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.1","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.12","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.13.0","vite":"8.0.5","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.33.0","vitest":"^4.1.2","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.2","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.2","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.10","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.101.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260405.1","@vitest/coverage-istanbul":"4.1.2","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.3.2_1775498594992_0.29502248199980086","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@cyanheads/mcp-ts-core","version":"0.3.3","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.3.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"c6b86cb08a4edba111baf096d2af905ba86f41ff","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.3.3.tgz","fileCount":569,"integrity":"sha512-Qsv3GmcGENn7mCgfMZMvvOI5ju9mREOjEu6l67QWtalLehIyX/5Yt+f5nQ5XpwoZCSXq6/H/0DD+Za5G/Hz1RQ==","signatures":[{"sig":"MEUCIBjogviBQZNSrbldzkLlaHdiP1dUkvBws37myo1HKO+xAiEA9zTyqqHdtok1DCy2nmT+zeJGRDSWrtRFUCazj7THcII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2354770},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"c6b86cb08a4edba111baf096d2af905ba86f41ff","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Qsv3GmcGENn7mCgfMZMvvOI5ju9mREOjEu6l67QWtalLehIyX/5Yt+f5nQ5XpwoZCSXq6/H/0DD+Za5G/Hz1RQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.12","yaml":"1.10.3","dotenv":"17.4.1","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.13"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.12","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.1","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.13","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.13.2","vite":"8.0.7","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.3","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.3","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.2","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.10","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.102.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260408.1","@vitest/coverage-istanbul":"4.1.3","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.3.3_1775691688826_0.22356166846613124","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@cyanheads/mcp-ts-core","version":"0.3.4","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.3.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b75b37072a6a7da743672276e19f587bd67fc910","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.3.4.tgz","fileCount":569,"integrity":"sha512-Aq5GkUltxnauCtQCEOrH6H7cI3hSPNEAnKAUxdHroxXFwupiCse7MR3tJrgDBIOVubFVBcEQjFVc1iDPQaOPWQ==","signatures":[{"sig":"MEUCIFda2NX25p27kNgprhzEwW4+M+Z/We/7g7VsOpFXNTx9AiEAokJGz4rDARtUeCACdxHxFIrdB4rVgbkx2nzkAMq36NE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2376965},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b75b37072a6a7da743672276e19f587bd67fc910","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Aq5GkUltxnauCtQCEOrH6H7cI3hSPNEAnKAUxdHroxXFwupiCse7MR3tJrgDBIOVubFVBcEQjFVc1iDPQaOPWQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.12","yaml":"1.10.3","dotenv":"17.4.1","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.13"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.12","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.1","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.13","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.13.2","vite":"8.0.8","execa":"^9.6.1","unpdf":"^1.4.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.3","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.18","depcheck":"^1.4.7","bun-types":"^1.3.11","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.11","@vitest/ui":"4.1.3","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.5.2","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.10","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.102.1","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260409.1","@vitest/coverage-istanbul":"4.1.3","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.3.4_1775710452080_0.01276997664999513","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@cyanheads/mcp-ts-core","version":"0.3.5","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.3.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"bee46acaa5301712b11bd1c3d9097c23ebfe8bd7","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.3.5.tgz","fileCount":569,"integrity":"sha512-jfiOtMV0vOv5DZfG6ASxQojIA0GryArgnSYYtS9A6j2KQzsAhhrsN00+dW7d1SNxKTvsbzkJxAveYsMPtJQ21w==","signatures":[{"sig":"MEUCIQCydmjygZIDo3BcuCRYAYHHZ5s9XLdQblaUu2NE7G2mbQIgKMZqNgN6syPNidyCPexA1yTmpBsmUJIErv000GvJDVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2377124},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"bee46acaa5301712b11bd1c3d9097c23ebfe8bd7","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-jfiOtMV0vOv5DZfG6ASxQojIA0GryArgnSYYtS9A6j2KQzsAhhrsN00+dW7d1SNxKTvsbzkJxAveYsMPtJQ21w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"8.0.4","hono":"4.12.12","yaml":"1.10.3","dotenv":"17.4.2","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.12","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.1","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.13","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.13.2","vite":"8.0.8","execa":"^9.6.1","unpdf":"^1.5.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.12","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.6.0","typescript":"^6.0.2","@types/diff":"^8.0.0","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.2","@biomejs/biome":"2.4.11","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.103.0","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.1","@cloudflare/workers-types":"^4.20260413.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.6.1","@opentelemetry/sdk-trace-node":"^2.6.1","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependencies":{"diff":"^8.0.4","unpdf":"^1.4.0","openai":"^6.32.0","js-yaml":"^4.1.0","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.26","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.2","fast-xml-parser":"latest","@supabase/supabase-js":"^2.99.3","@opentelemetry/sdk-node":"^0.214.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-metrics":"^2.6.0","@opentelemetry/sdk-trace-node":"^2.6.0","@opentelemetry/instrumentation-http":"^0.214.0","@opentelemetry/instrumentation-pino":"^0.60.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.3.5_1776067434717_0.857594790337548","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@cyanheads/mcp-ts-core","version":"0.3.6","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.3.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"4546d77578a54c768556ca88ce6e578d1034f6e6","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.3.6.tgz","fileCount":569,"integrity":"sha512-q95xwUjDNDRK+eb8ULVzXQF92luxoC2sZxxi5Mh8KdOzoZ9cDp+oUt2UFMPn+LJT/KPdNW3TjO2UExEPHf4aHA==","signatures":[{"sig":"MEUCIF5/wWMBQr1pbE/xUPfDqQtvfQZCxaUSpF1Uc5B4OqqyAiEA5hxAkk/iqaluxBXKP4iGRJVF9SjAU1dDLKOSVN+gCsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2377692},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"4546d77578a54c768556ca88ce6e578d1034f6e6","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-q95xwUjDNDRK+eb8ULVzXQF92luxoC2sZxxi5Mh8KdOzoZ9cDp+oUt2UFMPn+LJT/KPdNW3TjO2UExEPHf4aHA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"9.0.0","hono":"4.12.14","yaml":"1.10.3","dotenv":"17.4.2","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.14","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.13.4","vite":"8.0.8","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.12","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260418.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.3.6_1776613609348_0.19226530738553538","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@cyanheads/mcp-ts-core","version":"0.3.7","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.3.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a04c26f63d1b518a9a212944110c33ee4d3356cc","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.3.7.tgz","fileCount":569,"integrity":"sha512-gWoC5lycQj4/6/E61asEPOTGWPvbmHzDGcFdiOEOJJGxQkqX8kDJCpOeT5pSQq19sZ3VGhy8DoL903dY6bdTvQ==","signatures":[{"sig":"MEUCIQDfmYvuFPRnya8O2MRtHqF1kd8QU4BQ6GgTue61BELiBgIgfZ9FfktYhhVetTmKcexWTPUSZoWdSYch6tzZwvRNfKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2383037},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"a04c26f63d1b518a9a212944110c33ee4d3356cc","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-gWoC5lycQj4/6/E61asEPOTGWPvbmHzDGcFdiOEOJJGxQkqX8kDJCpOeT5pSQq19sZ3VGhy8DoL903dY6bdTvQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"9.0.0","hono":"4.12.14","yaml":"1.10.3","dotenv":"17.4.2","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.14","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.13.4","vite":"8.0.8","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.12","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260418.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.3.7_1776616849533_0.25005703593878237","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@cyanheads/mcp-ts-core","version":"0.3.8","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.3.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"36c4a8f03c1a25827c521423a5d947e0d15c79f6","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.3.8.tgz","fileCount":569,"integrity":"sha512-9LeXPRfE1q5FX4pZYEaXjMRBGBFR5kOhEi/Sgj2Dr2FPaIc5V8reNh/Qj5m5IIhhkndG+/6LvY1+KQHUC+YMZA==","signatures":[{"sig":"MEYCIQCYmk3o2zDxSu61S8xMeCzocZs0aHp1yDFKQyHxa1bbQwIhAI7bBJCGMdf2PrKuVzFcnwG318W8zCOC+2aSDlu6Itu9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2382812},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"36c4a8f03c1a25827c521423a5d947e0d15c79f6","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run fuzz","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-9LeXPRfE1q5FX4pZYEaXjMRBGBFR5kOhEi/Sgj2Dr2FPaIc5V8reNh/Qj5m5IIhhkndG+/6LvY1+KQHUC+YMZA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"9.0.0","hono":"4.12.14","yaml":"1.10.3","dotenv":"17.4.2","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.14","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"msw":"^2.13.4","vite":"8.0.8","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.12","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260418.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.3.8_1776637090504_0.6587034088587771","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@cyanheads/mcp-ts-core","version":"0.4.0","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.4.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"3361409e0361e526a1c7251b422a6d0eb6d58f91","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.4.0.tgz","fileCount":569,"integrity":"sha512-owxf3INFmVzeW1LG96g9qaFFlNlW2be4kEadEpkuqDuYVEjpL2Zqnlm+jrxw+0GdvDDikd1AXEldKWOGo5rWDA==","signatures":[{"sig":"MEUCIQDNRy045R7u9UQi2crhvktdln8GG5zRmAZQmQd9Q/FVRQIgEIu/8jj79g1G6TYrb4Wv6CaDfz4of1Bvw6s8XTwAHmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2388372},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"3361409e0361e526a1c7251b422a6d0eb6d58f91","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-owxf3INFmVzeW1LG96g9qaFFlNlW2be4kEadEpkuqDuYVEjpL2Zqnlm+jrxw+0GdvDDikd1AXEldKWOGo5rWDA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"9.0.0","hono":"4.12.14","yaml":"1.10.3","dotenv":"17.4.2","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.14","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"vite":"8.0.8","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.12","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260418.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.4.0_1776639573149_0.03790376836415987","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@cyanheads/mcp-ts-core","version":"0.4.1","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.4.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"acd00998ebd2e79619fae23c91cc8a97eb07fa25","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.4.1.tgz","fileCount":569,"integrity":"sha512-JxcWtNl0x5xoSqJeJmS9KVsbod7NLEoZ9GNL7sf4r+C+H3eudbORDkVTEy4cvZtjqqIreLY0Fxn++47zUWlLKw==","signatures":[{"sig":"MEQCIHpYrpK5ziw+sT3P6tazBzSDghZnGIvf8L/KJSsqMN+BAiABUDS0vztE1A+rqx5EwliD7J6asOrRAdRnvgNW8xKKxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2400276},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"acd00998ebd2e79619fae23c91cc8a97eb07fa25","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-JxcWtNl0x5xoSqJeJmS9KVsbod7NLEoZ9GNL7sf4r+C+H3eudbORDkVTEy4cvZtjqqIreLY0Fxn++47zUWlLKw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.3.6","diff":"9.0.0","hono":"4.12.14","yaml":"1.10.3","dotenv":"17.4.2","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","chrono-node":"2.9.0","path-to-regexp":"8.4.0","brace-expansion":"1.1.13","@hono/node-server":"1.19.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.14","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"vite":"8.0.8","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.12","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260418.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.4.1_1776640603017_0.06313554570374236","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@cyanheads/mcp-ts-core","version":"0.5.0","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.5.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"251eb84e7405eb545040198d2cf34e997f9cb992","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.5.0.tgz","fileCount":573,"integrity":"sha512-sXDddT/iq+0LpV6JhrDTaXHOmwfY4Lawp8pYMzuQztIX2xXE7t2aoGgGghzEmduOYsH7U4785k3mJSCFBRiExQ==","signatures":[{"sig":"MEQCIC5owZorevSPi0BAJOBqYIeacOK1NPGfu9MeG/tzBEiMAiA8eB/6q4n8Funtxl4f0ihvBcHG+k7/MBaxTPd5LEtlLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2419086},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"251eb84e7405eb545040198d2cf34e997f9cb992","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-sXDddT/iq+0LpV6JhrDTaXHOmwfY4Lawp8pYMzuQztIX2xXE7t2aoGgGghzEmduOYsH7U4785k3mJSCFBRiExQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.14","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260420.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.5.0_1776711694018_0.8178713706171024","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@cyanheads/mcp-ts-core","version":"0.5.2","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.5.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b5d4703b5145c7267c7014634cb47226948d07a7","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.5.2.tgz","fileCount":575,"integrity":"sha512-dQIXq1kzZ+quW50mA8XeIHBowcQ4UdP/TnW1lzdoCjhKreRmUn05nAA6EOuc2lvLUBpmKEV3JEtHq18IzjacHQ==","signatures":[{"sig":"MEYCIQCdyxXDz6ynSDYbj9iPhANNa0cA3loQQDHby9xuN98ejwIhAMfKcdfdkQXavUAfZjAWAE3mK0Rqoyxwo7iaQ1p/wLCt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2447192},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b5d4703b5145c7267c7014634cb47226948d07a7","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-dQIXq1kzZ+quW50mA8XeIHBowcQ4UdP/TnW1lzdoCjhKreRmUn05nAA6EOuc2lvLUBpmKEV3JEtHq18IzjacHQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^1.19.14","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260420.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.5.2_1776732250262_0.38737062175270753","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@cyanheads/mcp-ts-core","version":"0.5.3","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.5.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"2131c3a44d568d69a267a1eada2381d476d7ef64","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.5.3.tgz","fileCount":576,"integrity":"sha512-RbE979mXSmuuP0S1jeTxvhRG10mcxogLu2Cpt6mpTl/b6ozIUMF00IwAJNTAaXCXb1xsMqwYVs/bkUw2BZsYtg==","signatures":[{"sig":"MEYCIQCXsqsuvmO1PxFBx5L4ycLoenz2ojdi0nhWwDUxZ88U5wIhAPYeln1BAb3gPLr+Ehc72pe4UYs5hE50m9KJ+EzjL64o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2453150},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"2131c3a44d568d69a267a1eada2381d476d7ef64","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-RbE979mXSmuuP0S1jeTxvhRG10mcxogLu2Cpt6mpTl/b6ozIUMF00IwAJNTAaXCXb1xsMqwYVs/bkUw2BZsYtg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260420.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.5.3_1776737201953_0.4399233025584586","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@cyanheads/mcp-ts-core","version":"0.5.4","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.5.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"65b11d5a5730bfa2c4d6166a9db40794e34ade15","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.5.4.tgz","fileCount":577,"integrity":"sha512-9KuuArOAodjrfP1WTKPvRVpP7U4PAj/vR4TGdjwWc/ec9K01lYTQguLzbrSywrPyOy0OSLFDVNL88BuLiWfkmg==","signatures":[{"sig":"MEQCIDTiQJZcUMw/E+BTTcICWkxvQMOMjk+/daykywcQzzsbAiBpOW5BBj4ZQZ41hDIDYYpfTtKqZOetLdErRfWont28lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2473448},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"65b11d5a5730bfa2c4d6166a9db40794e34ade15","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-9KuuArOAodjrfP1WTKPvRVpP7U4PAj/vR4TGdjwWc/ec9K01lYTQguLzbrSywrPyOy0OSLFDVNL88BuLiWfkmg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260420.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.5.4_1776748032888_0.6116085986674733","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@cyanheads/mcp-ts-core","version":"0.6.0","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"787dbb0685fc9ca8e95b16822cfcba07fe675241","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.0.tgz","fileCount":660,"integrity":"sha512-w8Avjr42eze5m8wWDXKPXtmlvSWdJCjEXnJueAol1vdIfHN35NFRnV0NtxXwbNZnDKmP4KI5wbOWMtuq3iLeSw==","signatures":[{"sig":"MEYCIQDNQFZw0CGFnqKga5IvxPNvU9N2y/5bfNb7GXUdIjQpDgIhANCGHntLs6Vl55VytYQVKYZ5rc0eirxu+qALMog3mJG2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2755877},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"787dbb0685fc9ca8e95b16822cfcba07fe675241","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-w8Avjr42eze5m8wWDXKPXtmlvSWdJCjEXnJueAol1vdIfHN35NFRnV0NtxXwbNZnDKmP4KI5wbOWMtuq3iLeSw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260420.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.0_1776761008161_0.8130057659758938","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@cyanheads/mcp-ts-core","version":"0.6.1","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"d85087b0eef003fec507eb78638ebac86e6895b9","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.1.tgz","fileCount":661,"integrity":"sha512-EkSV5Tn9Qb7IralxR63omyy+VphppvhwMN0IMB1mxiU8NT1OAmjtkffdBqBAqZC5abEHjdi9UGuuG+qZEgKmKA==","signatures":[{"sig":"MEYCIQDZCooNKhkxiN7c9PuEFZhECavGoAR1YTjyz9XgPA2XpAIhAPY2wTA0zCDtzPnsIJKUtJBkkYPspXI3CaCillPfCId1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2779930},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"d85087b0eef003fec507eb78638ebac86e6895b9","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-EkSV5Tn9Qb7IralxR63omyy+VphppvhwMN0IMB1mxiU8NT1OAmjtkffdBqBAqZC5abEHjdi9UGuuG+qZEgKmKA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260420.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.1_1776765833534_0.6051158157716765","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@cyanheads/mcp-ts-core","version":"0.6.2","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"95d53562bb8a5529785e0b99d4463fa5607c7515","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.2.tgz","fileCount":662,"integrity":"sha512-H4FvtRWmvP1dnHEx9e0jYv1h+aSVSznGa3udHLGtKen0NMebW+h6jag3n4mB8QHZtIK/zPiVaXI/vbFtAWQqEA==","signatures":[{"sig":"MEQCIDDRPmGZVOfTQEooqZu42OOs0ogXf2bxOwc4WhD7pzsUAiASddeTiJhMGO8P8zevLYqmLP6+jyrTTxTB3u1ncwfd7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2787674},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"95d53562bb8a5529785e0b99d4463fa5607c7515","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-H4FvtRWmvP1dnHEx9e0jYv1h+aSVSznGa3udHLGtKen0NMebW+h6jag3n4mB8QHZtIK/zPiVaXI/vbFtAWQqEA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260420.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.2_1776770722960_0.6658683001492847","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@cyanheads/mcp-ts-core","version":"0.6.3","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"5ee2a64ac7df9f5d631bd8a91a910226134b6f6a","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.3.tgz","fileCount":663,"integrity":"sha512-qqwWG4TAUudEDVo3jo5OXFzxCFJ3s1DpZ80wedMNweBJ28MNIMc5ww4RcoSyAvcCOnzoIkMfdDXH9A+brUHS9g==","signatures":[{"sig":"MEQCICGZHhASTdpw8Dc9SPTGRd6+gnOr2DAR7kLPLDm2FU1cAiB1NJ/WpiBH3J1BzF9+rY7+txVRyZQSg4Vn0e17CvzCcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2791168},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"5ee2a64ac7df9f5d631bd8a91a910226134b6f6a","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-qqwWG4TAUudEDVo3jo5OXFzxCFJ3s1DpZ80wedMNweBJ28MNIMc5ww4RcoSyAvcCOnzoIkMfdDXH9A+brUHS9g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.4","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.4","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260420.1","@vitest/coverage-istanbul":"4.1.4","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.3_1776771777537_0.8508455091125857","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@cyanheads/mcp-ts-core","version":"0.6.5","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b4fe2b2672b1af2f6f49edde6df265477e29b2b8","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.5.tgz","fileCount":665,"integrity":"sha512-xuu7Uod0PqVvAkkr4eq6D8cH1P/SI4FA6VjZrRzL8Xi1cuUhCDhKVuYFfZ6myMmpX/Pup9dSyzukIlGXkw/Xdg==","signatures":[{"sig":"MEQCIAJJUCCb6zTA3nMa9qyBw15DQOZOptJStGZeepqr91dNAiBNMB18I3f3X/ImrRHoQtud2U0LCa/8y6JuZN5VilUPxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2795476},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b4fe2b2672b1af2f6f49edde6df265477e29b2b8","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-xuu7Uod0PqVvAkkr4eq6D8cH1P/SI4FA6VjZrRzL8Xi1cuUhCDhKVuYFfZ6myMmpX/Pup9dSyzukIlGXkw/Xdg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260422.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.5_1776870010604_0.368709007372398","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"@cyanheads/mcp-ts-core","version":"0.6.6","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"3fe19338268b9907cac20346fc06ff99d55f7e7b","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.6.tgz","fileCount":666,"integrity":"sha512-vGf9Jg9hlsEjUVbGXYSfJz1AqceRE/QRqhCRrJtvyOk1ry4vXNVbp2RexxqfE0+c5VMTi81E0MvETAkrwuU2hA==","signatures":[{"sig":"MEQCIHO72d4Py3XW1+7+j3WLGWodt/0Oe+ovcKDeh2221npCAiAMYeS3+2hERieLFXVxhCxl4vsh4Ko79srqZs0faj3N1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2816866},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"3fe19338268b9907cac20346fc06ff99d55f7e7b","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-vGf9Jg9hlsEjUVbGXYSfJz1AqceRE/QRqhCRrJtvyOk1ry4vXNVbp2RexxqfE0+c5VMTi81E0MvETAkrwuU2hA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.12","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260422.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.6_1776886197033_0.4485656536209517","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"@cyanheads/mcp-ts-core","version":"0.6.7","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"4726f5d5bd8b0348af939597dc43fbd1948d28c1","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.7.tgz","fileCount":667,"integrity":"sha512-yw0U89ssEVVnhuQGi6IRVYHZNdtEfmJLiQr6AQiTfmO8wM23VaZd5Ncvj6rh5h+jBH76HAPtMdinLDbNL2Gl3w==","signatures":[{"sig":"MEUCIQCuzLRaJ4Ci9XnFKPCB+VJbOh6aCRM3vGdt2Ty39H91LgIgaWocE/g4c2Sd4JL0neQXnE1pluFduhgmil+HKL1vgWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2819890},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"4726f5d5bd8b0348af939597dc43fbd1948d28c1","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-yw0U89ssEVVnhuQGi6IRVYHZNdtEfmJLiQr6AQiTfmO8wM23VaZd5Ncvj6rh5h+jBH76HAPtMdinLDbNL2Gl3w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260422.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.7_1776889494256_0.4445673455768355","host":"s3://npm-registry-packages-npm-production"}},"0.6.8":{"name":"@cyanheads/mcp-ts-core","version":"0.6.8","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"974b0a71a8f343848953a65df3207d951ca99da2","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.8.tgz","fileCount":668,"integrity":"sha512-25E5fqz4Ln8QmaOsXXLEDOHxtDq6/Xkse4YpkVqD0i7Lo2nb3j+/NGQzEwIX2x/B6j8yjm4yfkH9T5k+efJSwA==","signatures":[{"sig":"MEYCIQDfzqF1MgmSedvfPtbKyhLPDchWegKHCi7ZYg6KNmT8PAIhAMBteUKJfnCfyfBCv14WMxNKD6xKSZ+yF44Hi/YHFXeU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2827373},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"974b0a71a8f343848953a65df3207d951ca99da2","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-25E5fqz4Ln8QmaOsXXLEDOHxtDq6/Xkse4YpkVqD0i7Lo2nb3j+/NGQzEwIX2x/B6j8yjm4yfkH9T5k+efJSwA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260422.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.8_1776892243226_0.30696493948024073","host":"s3://npm-registry-packages-npm-production"}},"0.6.9":{"name":"@cyanheads/mcp-ts-core","version":"0.6.9","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"95da260679e0271c2b242d59fef81dbe9575f1dd","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.9.tgz","fileCount":725,"integrity":"sha512-1N5eFvqTjq0J2nH7qfQauq92gLn7qcZUzajm5BZwRoYa1rUpAPqqd+HY+LukuLsaKiZ0gXoWtWEV7/36ugU17Q==","signatures":[{"sig":"MEQCIFFghAqe2iqindvhjZc6ikW914DbgMP/Ki9WxQGm1dy8AiBAla32Blu3YTSA8cf1FzQmQaBHrzfXwjcdHOhQDP8Vhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2858459},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"95da260679e0271c2b242d59fef81dbe9575f1dd","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"bunx mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-1N5eFvqTjq0J2nH7qfQauq92gLn7qcZUzajm5BZwRoYa1rUpAPqqd+HY+LukuLsaKiZ0gXoWtWEV7/36ugU17Q==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.9","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260422.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.9_1776899614926_0.20152854721461333","host":"s3://npm-registry-packages-npm-production"}},"0.6.10":{"name":"@cyanheads/mcp-ts-core","version":"0.6.10","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"869bdb27d1c5a4443405620ce8b3aaac3d2c9726","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.10.tgz","fileCount":729,"integrity":"sha512-ukm6X1Fqs3ZYR/Nd3AH8Bzl/UTlxklOD2gxkkOf0KzShMhbFYz6fVpi5fSjMKFdnK/o4aC7ubXyBfbAI/pH9xA==","signatures":[{"sig":"MEUCIQDDeqeM/5VxLzVx/FXxpyIAOtz89KVV6MHnc+D6xxOZZwIgAqDvhqfgp7a66/1WIDKYUKZS0IvThlpsxrDmuqaRWJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2878081},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"869bdb27d1c5a4443405620ce8b3aaac3d2c9726","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-ukm6X1Fqs3ZYR/Nd3AH8Bzl/UTlxklOD2gxkkOf0KzShMhbFYz6fVpi5fSjMKFdnK/o4aC7ubXyBfbAI/pH9xA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","depcheck":"^1.4.7","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.12","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260423.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.10_1776956189377_0.6150441495493792","host":"s3://npm-registry-packages-npm-production"}},"0.6.11":{"name":"@cyanheads/mcp-ts-core","version":"0.6.11","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"4ebe6dbebcc449ea2e4d32678a9e8cb20cffb96f","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.11.tgz","fileCount":734,"integrity":"sha512-O9U69t777yuJQC2QmrjCFBCN2GnRPxVPORRmmIjAcrh+BrQir7u/ISlOdkjEueeroUp1pheLVENiy/ILB0fW0g==","signatures":[{"sig":"MEQCIFqvHKQIKFvAACjUEgn811mz5HW29u5ZdsGLYhbIh9QbAiA3WfrDQmiVBBYXTH/mHaYpvKGj/ieYuBg/+GtHmnsxxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2902055},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"4ebe6dbebcc449ea2e4d32678a9e8cb20cffb96f","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-O9U69t777yuJQC2QmrjCFBCN2GnRPxVPORRmmIjAcrh+BrQir7u/ISlOdkjEueeroUp1pheLVENiy/ILB0fW0g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260423.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.11_1776964275175_0.41529438307395883","host":"s3://npm-registry-packages-npm-production"}},"0.6.12":{"name":"@cyanheads/mcp-ts-core","version":"0.6.12","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"31e35e7c58f82aa340b284fba5a4dfc1db00cfa7","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.12.tgz","fileCount":735,"integrity":"sha512-9lZGbJW5iUBhUaBWYFzRpDIx7KrcGTUHU1jOrx00mcP7wdJIpEBNwZmNZCIVl+esNcEKopdXMwDzj9pVifCT+Q==","signatures":[{"sig":"MEUCIBksjuKmVHZHyqpBVABzMQaTwHUCbxIbUe3n2Z5gNC9FAiEAlAUiOXDHcALmF3I+pOGZxtJzbVAN2diHLTnExrcJM8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2911034},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"31e35e7c58f82aa340b284fba5a4dfc1db00cfa7","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-9lZGbJW5iUBhUaBWYFzRpDIx7KrcGTUHU1jOrx00mcP7wdJIpEBNwZmNZCIVl+esNcEKopdXMwDzj9pVifCT+Q==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260423.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.12_1776966197599_0.014272882071582726","host":"s3://npm-registry-packages-npm-production"}},"0.6.13":{"name":"@cyanheads/mcp-ts-core","version":"0.6.13","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"912dfb473669e02a3c915f5152ee25a578c62bd9","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.13.tgz","fileCount":736,"integrity":"sha512-7caBcqypyE5zTzYAAmhzymuqVfF90Zqe+0qztR6gVdXbMRzjWypmSZq7YEw5VnoPetJGct1krxlXCu+0uQSUKA==","signatures":[{"sig":"MEUCIQDmgPD7LqmC+OXBErb0oiZ+fld68JPr9oR0EUF3QxMTQAIgTJI4tA21K8m8eCPCwDT+4TcrIwI1DYIfxji+nlVTJpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2912284},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"912dfb473669e02a3c915f5152ee25a578c62bd9","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-7caBcqypyE5zTzYAAmhzymuqVfF90Zqe+0qztR6gVdXbMRzjWypmSZq7YEw5VnoPetJGct1krxlXCu+0uQSUKA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260423.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.13_1776967778077_0.7037153423313871","host":"s3://npm-registry-packages-npm-production"}},"0.6.14":{"name":"@cyanheads/mcp-ts-core","version":"0.6.14","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.14","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"43130e612007ddc881e56dcebf8052972c6f5b10","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.14.tgz","fileCount":739,"integrity":"sha512-1va4HaI84zNdrMhNIRlEzrXkELLetEVqDIC3O4Oh/PexgqxIJk3htoZoaKcdYlDwlmdaP80KQyiwjmjcKelvMQ==","signatures":[{"sig":"MEQCICcr0IbfwD0K5pUvwUd6oMzgIkZPplZQeTGaafSiSZHzAiAXG5Fjm6M7d+T1q7vaYC0CNqyg2mYCRcaUvZXM9zSy6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2932439},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"43130e612007ddc881e56dcebf8052972c6f5b10","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-1va4HaI84zNdrMhNIRlEzrXkELLetEVqDIC3O4Oh/PexgqxIJk3htoZoaKcdYlDwlmdaP80KQyiwjmjcKelvMQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260423.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.14_1776980794301_0.13572085984384286","host":"s3://npm-registry-packages-npm-production"}},"0.6.15":{"name":"@cyanheads/mcp-ts-core","version":"0.6.15","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.15","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b6e5281998f3801128e71d67965dd5deb3e06952","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.15.tgz","fileCount":740,"integrity":"sha512-3v9iA0TUg/wmGei1j9VCZ5cG2KYyGzAG8z0NADhPMlhTdQpQrCmCnn/oBBtJwKHWedz8Vs4WcecmF1WD8CwGiw==","signatures":[{"sig":"MEYCIQCTgaFYszs3j4QVWvHB4voFl/iRiVgssB8R9dpFpMxBqQIhALyE3kmJQ+9RNQNSwW9yRcnFh7otROD+Isy/P2IRh0nk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2940929},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b6e5281998f3801128e71d67965dd5deb3e06952","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-3v9iA0TUg/wmGei1j9VCZ5cG2KYyGzAG8z0NADhPMlhTdQpQrCmCnn/oBBtJwKHWedz8Vs4WcecmF1WD8CwGiw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260423.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.15_1776994419877_0.08156854306117234","host":"s3://npm-registry-packages-npm-production"}},"0.6.16":{"name":"@cyanheads/mcp-ts-core","version":"0.6.16","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.16","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"751b27a5be7bfcc0dfebf8a18579ddfdbfb18ab6","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.16.tgz","fileCount":741,"integrity":"sha512-tIZQ3afNgVKFngSl006fZeCcNEJs/pGqgXetZ1JXAaig4PcU4pnufG1M3oCuHgR2NAtx5VOMfj+1wSmF9Cjk6g==","signatures":[{"sig":"MEQCIAeX4UaX/p/Z6BrQJFak00QwH63HlcPiXU6ipb5KB+DuAiAdF3y6ZZRQWYtSKtQFThxfy4f02U57OVzMjj1mBDT8gA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2953877},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"751b27a5be7bfcc0dfebf8a18579ddfdbfb18ab6","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-tIZQ3afNgVKFngSl006fZeCcNEJs/pGqgXetZ1JXAaig4PcU4pnufG1M3oCuHgR2NAtx5VOMfj+1wSmF9Cjk6g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.14","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260424.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.16_1776999035577_0.5299271286554488","host":"s3://npm-registry-packages-npm-production"}},"0.6.17":{"name":"@cyanheads/mcp-ts-core","version":"0.6.17","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.6.17","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"7630c68547a1a28021a7dce8117e5c6f3fe6d08b","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.6.17.tgz","fileCount":742,"integrity":"sha512-P/LZqep0v+oDWDQ+MizBXbOD/bhRSG2GFi2XhR8rNWWwd+sipgeZmGtrvADKcvrr1LZ7E44hQKxWkrulnRHf7A==","signatures":[{"sig":"MEUCIQCjZRzQ8QIMvpDNrOwRLYUjfO63jwah8YkQATk74VIP2gIgTD72hl7T4g4T0kdI+MpIgQ7aQ/Lc6U9lchYh0/ANBa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2964322},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"7630c68547a1a28021a7dce8117e5c6f3fe6d08b","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-P/LZqep0v+oDWDQ+MizBXbOD/bhRSG2GFi2XhR8rNWWwd+sipgeZmGtrvADKcvrr1LZ7E44hQKxWkrulnRHf7A==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260424.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.6.17_1777035222409_0.4540579297150773","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@cyanheads/mcp-ts-core","version":"0.7.0","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.7.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"ec761bf413b039a9565d9c0e8259310582c84908","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.7.0.tgz","fileCount":743,"integrity":"sha512-MkYhbP8N5p4jtVeUZ1qWkuXCxgKRvQrFZ/lNoRLrc8kvXT64GsXBwB+Q8kcYC5+0fcpu9kyqokwzJb/UrInF1w==","signatures":[{"sig":"MEUCIGIsXsXR3b4AbdpLK2HW34ETSCm9ARd9l8BA79JGEEQ0AiEAtb6AZ/LhjeQlUnjuK50AtHrE26A6kZdZHIYj9jK2Q+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2982038},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"ec761bf413b039a9565d9c0e8259310582c84908","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-MkYhbP8N5p4jtVeUZ1qWkuXCxgKRvQrFZ/lNoRLrc8kvXT64GsXBwB+Q8kcYC5+0fcpu9kyqokwzJb/UrInF1w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260424.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.7.0_1777043324332_0.4131980117099672","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@cyanheads/mcp-ts-core","version":"0.7.1","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.7.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a03019478f14266d6e2109c1d87766726dbfe505","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.7.1.tgz","fileCount":744,"integrity":"sha512-U/uuZE62LZsrPARz2yxt2uimSt/+FUAZSXTbkTjBnBGBA1nr8lhBwszj3HW5k4leujMeFF0H5EJ/LkdRzPT67w==","signatures":[{"sig":"MEYCIQCYXmgroUmJQhYFbuMWt/gk9c4lJ3k/lieoRNDbebrxZgIhAL6aMV5q/2D0ihw3lFuLWWM4USkqiwW8lSnC2QiqfMS6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2995173},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"a03019478f14266d6e2109c1d87766726dbfe505","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.ts","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-U/uuZE62LZsrPARz2yxt2uimSt/+FUAZSXTbkTjBnBGBA1nr8lhBwszj3HW5k4leujMeFF0H5EJ/LkdRzPT67w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260424.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.7.1_1777066692077_0.7946398209224554","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@cyanheads/mcp-ts-core","version":"0.7.2","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.7.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a5b1d858d83afbe17504ebfe459979ff01843bd9","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.7.2.tgz","fileCount":746,"integrity":"sha512-504+zzcZMD/NLehzsqOXJI3SJiEM4CUwrUOz2WBQVNgTOmYbZ+v4AyDPZMio/geMSNbEqrZCCHnVMNnNhiLZ7w==","signatures":[{"sig":"MEUCIQCBi8E911e1wabTvLPgQ2yP8uj1yxX3ZmjsS/MnR41zKAIgFmqN2CsuiTGvN32onIe2lsFlCfDt3ctF3EsTUNCQyfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3001928},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"a5b1d858d83afbe17504ebfe459979ff01843bd9","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-504+zzcZMD/NLehzsqOXJI3SJiEM4CUwrUOz2WBQVNgTOmYbZ+v4AyDPZMio/geMSNbEqrZCCHnVMNnNhiLZ7w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260424.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.7.2_1777068921802_0.39347989462282396","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@cyanheads/mcp-ts-core","version":"0.7.3","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.7.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b58be26c3bdec6a4ba653fa4356e5717eab2daca","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.7.3.tgz","fileCount":747,"integrity":"sha512-kO0Xo+T6MjkCgELAZ5aGpIee7eTR8OjnhTtTxN3l8AeD+X2Z6VutjJjrRA3wR4LNOYWUozTsIsmd5CawjEJbrA==","signatures":[{"sig":"MEUCIQDCCBrQe0XVffAcMxONZq9lGaLc9BcB3W9zYnR+i3VXkgIgCzB1kKCSLxSQYWB8qzsb9uIrI5PX0InRn65t03upHbM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3008132},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b58be26c3bdec6a4ba653fa4356e5717eab2daca","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-kO0Xo+T6MjkCgELAZ5aGpIee7eTR8OjnhTtTxN3l8AeD+X2Z6VutjJjrRA3wR4LNOYWUozTsIsmd5CawjEJbrA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260424.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.7.3_1777071438405_0.3875877786407529","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@cyanheads/mcp-ts-core","version":"0.7.4","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.7.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"86ec1ab4612d8c0daa796b25652a1caeb73e96bb","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.7.4.tgz","fileCount":748,"integrity":"sha512-JFiHjjVNYLVlUh+VR7UdzOp/DUerTXAngR8xIRvYyHldNDFzmxD5xTE0G628Osamhs6Wqyt07jql3Zas4/PJuQ==","signatures":[{"sig":"MEUCIC7EBszDVmyw1+EKlABqvQKHHtj2/2fIjZNVThFMnJTbAiEAsS2LhwnMNGKY5np26VsyEwdKbvV45/wBfGbLkBqBapY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3021460},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"86ec1ab4612d8c0daa796b25652a1caeb73e96bb","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-JFiHjjVNYLVlUh+VR7UdzOp/DUerTXAngR8xIRvYyHldNDFzmxD5xTE0G628Osamhs6Wqyt07jql3Zas4/PJuQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260424.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.7.4_1777075000166_0.6740004561954112","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@cyanheads/mcp-ts-core","version":"0.7.5","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.7.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"e324ae1e7e380cbcddc6b252aeb4d7c33721db12","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.7.5.tgz","fileCount":749,"integrity":"sha512-yQXbRVBGZP97hCJJedw5Gg8kzPHfVgCB7i0ASDcEVotDYZ8VXDxmmIiY/POs+fMIq6dDU7r4Y2x3G9exT46i+A==","signatures":[{"sig":"MEUCIBaVZQAW7BZBOjvgD2yW26tQQyCVMS9XYLHhz+59CUiVAiEAqNrrIgs0/M8dtbxSjyouCXciQ5XUIosAMKcSNYi8N3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3026369},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"e324ae1e7e380cbcddc6b252aeb4d7c33721db12","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-yQXbRVBGZP97hCJJedw5Gg8kzPHfVgCB7i0ASDcEVotDYZ8VXDxmmIiY/POs+fMIq6dDU7r4Y2x3G9exT46i+A==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.2","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.13.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.104.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260424.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.7.5_1777184181689_0.6890738619376298","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@cyanheads/mcp-ts-core","version":"0.7.6","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.7.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a30730530d65e4062e8315835d711f6583e454d0","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.7.6.tgz","fileCount":750,"integrity":"sha512-Q2zXjq+Tl7OtcpTsImWqiUKA94WK8fy7lUoo4EEkXyiLvC6bs4i+Ocrr96ksSdkGVPLPyonzmanqpDZ7PDVfgA==","signatures":[{"sig":"MEUCIQCEMu9SbzRwv0S/tNmT4sDxfy5ZEc+H2EYqfgRAJSyHpAIgXWE/sSVZR7WoCBFX9h4V7CRRObBWuUgC3vflCrsIhso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3031123},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"a30730530d65e4062e8315835d711f6583e454d0","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Q2zXjq+Tl7OtcpTsImWqiUKA94WK8fy7lUoo4EEkXyiLvC6bs4i+Ocrr96ksSdkGVPLPyonzmanqpDZ7PDVfgA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.0","ignore":"^7.0.5","openai":"^6.34.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.0","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260426.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.7.6_1777324729392_0.42461314918687787","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@cyanheads/mcp-ts-core","version":"0.8.0","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"0ab56509409641a8d3146decf3a76030215feadd","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.0.tgz","fileCount":772,"integrity":"sha512-bOZY14di61C/cs0IquJmofNZUfZ0HsIbTlr4pp7iTqv+q1qS73ssWfYuiZ/0QBruETGConHU3aZKP6kavF9IZA==","signatures":[{"sig":"MEQCIBBvltaJRo04Ko3EYP/yj5xTyLIaI+7TMcZISTqRlkE1AiA5Lw4V3GxuqaB3xeLTtVutMuCI+yZQB2xBanlhUjyylQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3191432},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"0ab56509409641a8d3146decf3a76030215feadd","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-bOZY14di61C/cs0IquJmofNZUfZ0HsIbTlr4pp7iTqv+q1qS73ssWfYuiZ/0QBruETGConHU3aZKP6kavF9IZA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.1","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260426.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.0_1777411385549_0.7794956097710746","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@cyanheads/mcp-ts-core","version":"0.8.1","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"d59b91408827ba96fc67d47ddea2f6364a1b5271","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.1.tgz","fileCount":773,"integrity":"sha512-uqGlgv9cC81Hrcq3bfYfPHda8Pv4D6fg+9fKt6t2zm6pqtd7J3+Ve9aFdvUIZdnMzRzJUMQvz5WvHTaLWO7SxA==","signatures":[{"sig":"MEUCIB1k8CUsX4vIgXvEfZf2b9EhT0IoFAhLI7C/PvYBqrVQAiEAo8/rOWqL4xLWwBA421YvaqSMMp0MXXMkkMZbhZxaACI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3195002},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"d59b91408827ba96fc67d47ddea2f6364a1b5271","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-uqGlgv9cC81Hrcq3bfYfPHda8Pv4D6fg+9fKt6t2zm6pqtd7J3+Ve9aFdvUIZdnMzRzJUMQvz5WvHTaLWO7SxA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.1","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260426.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.1_1777415612559_0.7819476483648713","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@cyanheads/mcp-ts-core","version":"0.8.2","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"2dde3490ec62f55a4ef4493e2f47f189a41c84d0","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.2.tgz","fileCount":774,"integrity":"sha512-MMSvIYGZC6Mq547QBdsHbxAxrzbmTQBRiOPqiVx5pOGtlBgHQfxB03TKv0nVkWUUKIYDGHCyeYVish88iDMS4A==","signatures":[{"sig":"MEQCIG7aXjsOwkBaZKNzchipXbA3m3FThhiVedi7iIruAjl0AiAxPRIYBg6nd0kx9gJyBVmOsjhNFXuCQRwqPEgnbM1fsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3217312},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"2dde3490ec62f55a4ef4493e2f47f189a41c84d0","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-MMSvIYGZC6Mq547QBdsHbxAxrzbmTQBRiOPqiVx5pOGtlBgHQfxB03TKv0nVkWUUKIYDGHCyeYVish88iDMS4A==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.1","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260426.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.2_1777420401074_0.23361962907002587","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@cyanheads/mcp-ts-core","version":"0.8.3","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"64fc91600f8565e9e878bec85eeb3efada0820e5","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.3.tgz","fileCount":775,"integrity":"sha512-p9gPhWeBoT90/s4AbsOaYt/YWhPJkLay2EVs6VOhqKbx11cOTHBLDHNuoBOphLxnHdSDKqtPQTyohdbE4Nhacw==","signatures":[{"sig":"MEUCIGASVhU7NsOUTUTIZRkKsHGZCu2/KWrUSiZnZLqQycpNAiEA68pWEmuSiNxeD7fUgFSHumBpqERiAHJUl/ig7mbBmyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3259851},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"64fc91600f8565e9e878bec85eeb3efada0820e5","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-p9gPhWeBoT90/s4AbsOaYt/YWhPJkLay2EVs6VOhqKbx11cOTHBLDHNuoBOphLxnHdSDKqtPQTyohdbE4Nhacw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.1","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@cloudflare/workers-types":"^4.20260426.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.3_1777484075273_0.48069572129871996","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@cyanheads/mcp-ts-core","version":"0.8.4","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"34f68a652be6c51e73ad93680cc0148bf6e5e9ec","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.4.tgz","fileCount":776,"integrity":"sha512-jKeAGCcHM7S6GBkRFuWYkjwwQPJnzM4Flew6X9VB6VIohbup04q2UQwieoeNxavq9woMAgU4y0Ibxajbwi/tzQ==","signatures":[{"sig":"MEQCIFeCx+vAc1ePvVvKhzE+z7QWDhqsKFmxOPrlcknZuReKAiAdbaIqvzkg+WKEA6kDPjrq7/6IMpla2EH2JBrPXyM1vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3241297},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"34f68a652be6c51e73ad93680cc0148bf6e5e9ec","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-jKeAGCcHM7S6GBkRFuWYkjwwQPJnzM4Flew6X9VB6VIohbup04q2UQwieoeNxavq9woMAgU4y0Ibxajbwi/tzQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260429.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.4_1777494217158_0.7301138577583246","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@cyanheads/mcp-ts-core","version":"0.8.5","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"fd87d10ccc520ef47f6657ecf9e1eeed57727c9a","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.5.tgz","fileCount":777,"integrity":"sha512-kO21LJoQk7C+Fan/QS19DCPMu4Oo6v4abXmRV4yFQDXZ1GITFVghae78HS8uWI5RXsErNsTwjo8qXmJFaveS1g==","signatures":[{"sig":"MEUCIB5OWNZAcZ0sIJZgrQJrlvlxV3k94m8n8kSicAr59MDZAiEAgnWiLBoby3pnxWk64Fs64ZQLTYs3dtpL8YzO2uDWDCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3263394},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"fd87d10ccc520ef47f6657ecf9e1eeed57727c9a","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","dev:http":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","dev:stdio":"MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-kO21LJoQk7C+Fan/QS19DCPMu4Oo6v4abXmRV4yFQDXZ1GITFVghae78HS8uWI5RXsErNsTwjo8qXmJFaveS1g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260429.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.5_1777499121700_0.7023802486729149","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@cyanheads/mcp-ts-core","version":"0.8.6","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"c76288b9b5f6a0a58675a25cb6b01d5e97cb98b5","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.6.tgz","fileCount":778,"integrity":"sha512-HXWQCQ3QwR5H8P+gI9/4TTiCG22ggHfD26FpA9P5LtXSE8FI4TxPjtwLiL/oBoOl1QvV1V2qHfaJuMPOmrYH/w==","signatures":[{"sig":"MEYCIQDuTe0GEEhkXqMZPOPnpC5t89FZDICR3ssIc9RZv2EeBAIhAMbOIfWmkYb+FisZJa+CDGYqIJ2j1y+XUxt+j4QtwSJT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3264800},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"c76288b9b5f6a0a58675a25cb6b01d5e97cb98b5","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"dev":"bun --watch src/index.ts","lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-HXWQCQ3QwR5H8P+gI9/4TTiCG22ggHfD26FpA9P5LtXSE8FI4TxPjtwLiL/oBoOl1QvV1V2qHfaJuMPOmrYH/w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260429.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.6_1777501062650_0.9018994576424404","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"@cyanheads/mcp-ts-core","version":"0.8.7","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"1dca052a682d3304fcf622e99de6a8dda14672d4","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.7.tgz","fileCount":779,"integrity":"sha512-DkewYDzn0CBd1iVizFFdp2VKZ3Hz7T14ZqmWd9dl/+7yIgiEtFXs10+9uITJvPezCvGCT9niRm8dwoxiKge8Dg==","signatures":[{"sig":"MEUCIFP8Zoh4OEQ3P4dVOyBkIMsY8n88MPwofHNHHXMmpu9vAiEAkvZ9iK9uAkZiO2pzIlzQW2IPf/1EAoDuFaTdvqRkhKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3266611},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"1dca052a682d3304fcf622e99de6a8dda14672d4","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-DkewYDzn0CBd1iVizFFdp2VKZ3Hz7T14ZqmWd9dl/+7yIgiEtFXs10+9uITJvPezCvGCT9niRm8dwoxiKge8Dg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.3.6","hono":"^4.12.15","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.16","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260429.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.7_1777509262694_0.20792624682667316","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"@cyanheads/mcp-ts-core","version":"0.8.8","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"9a1f37cf4c1c492899e765797efde4231fdb11ee","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.8.tgz","fileCount":780,"integrity":"sha512-Lf3dkLwdduHDOpPzDz6G8S4A15OQr6SjDBIIOgnYC4gNrp5LpAjLdlffsy6gp/OINK1By0Ajq5OQvGp0HhBP+w==","signatures":[{"sig":"MEYCIQCN6hRcnfsHGgN5BZ0lbwEziuw5jhypj6jvxnUgXSDbGwIhAOIcsdaArnEK1DaJiKtXmOOIfulCQV9s9hpEMXRZGTzx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3268441},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"9a1f37cf4c1c492899e765797efde4231fdb11ee","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Lf3dkLwdduHDOpPzDz6G8S4A15OQr6SjDBIIOgnYC4gNrp5LpAjLdlffsy6gp/OINK1By0Ajq5OQvGp0HhBP+w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.4.1","yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.1","hono":"^4.12.16","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.13","@types/js-yaml":"^4.0.9","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260501.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.8_1777663513372_0.6941542396888427","host":"s3://npm-registry-packages-npm-production"}},"0.8.9":{"name":"@cyanheads/mcp-ts-core","version":"0.8.9","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"8c1b910b6a289cf9daa09d4aa0ef6bde6d522332","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.9.tgz","fileCount":826,"integrity":"sha512-cQVxz7Te1pMYHFATblghUy/k9KekYYEL648H+C3tOzblnowsAqDkWMx8SrftseGTpo/yEO7H65mQ5q/bs7HPwg==","signatures":[{"sig":"MEQCID0/CdhkEQBr3ofJrHF9IJG/iia43PRCCYP3hmf2Kz04AiBXAFufh5fvyTHPryBqTWTBQU68LeBxPYBWtHXZ4nu9Wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3446863},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"8c1b910b6a289cf9daa09d4aa0ef6bde6d522332","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/canvas/index.d.ts","import":"./dist/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-cQVxz7Te1pMYHFATblghUy/k9KekYYEL648H+C3tOzblnowsAqDkWMx8SrftseGTpo/yEO7H65mQ5q/bs7HPwg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.4.2","yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.2","hono":"^4.12.16","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260502.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.9_1777761277492_0.9102055919493344","host":"s3://npm-registry-packages-npm-production"}},"0.8.10":{"name":"@cyanheads/mcp-ts-core","version":"0.8.10","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a1f5af7164ae4337b077f6c7f281498d62d37114","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.10.tgz","fileCount":827,"integrity":"sha512-nPyB7zIgbVPUnr3dyOhtuPlB9zKGNDB1yKQHIAxq8/Y53US9LSXxGnsgyfsVepDcNscpTMb6mEsnZ04tSoDhjw==","signatures":[{"sig":"MEUCIQDUvNjfNJfrgERwmlvMKxlen4v5k0B+/CY2O9zAOjr5vwIgOwtVoajAfYf37wm/dw+hxXi9QNiwT9N8GVuxAMPfmMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3455149},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"a1f5af7164ae4337b077f6c7f281498d62d37114","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-nPyB7zIgbVPUnr3dyOhtuPlB9zKGNDB1yKQHIAxq8/Y53US9LSXxGnsgyfsVepDcNscpTMb6mEsnZ04tSoDhjw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.4.2","yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.2","hono":"^4.12.16","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260502.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.10_1777763905005_0.25759188040164793","host":"s3://npm-registry-packages-npm-production"}},"0.8.11":{"name":"@cyanheads/mcp-ts-core","version":"0.8.11","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"5aa3745e74f0726b21e92992e5af362aa06c8091","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.11.tgz","fileCount":832,"integrity":"sha512-7B4NamQXnngdUBjhgCpzZbKd8VJ6nPeU00PwdG2fTuxISLwte/Pw/XExM+8h7k57MQcYst6TRzzM0z1K2TCdsA==","signatures":[{"sig":"MEQCIBxlx6D1WnpP33FVSjQUGFf6ds7t9lQykdDqrdJKOQiZAiBKmQ3w7AVGTMNbQFzIlKRSQMyyg7m3zofoQT+Re8UOOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3478312},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"5aa3745e74f0726b21e92992e5af362aa06c8091","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-7B4NamQXnngdUBjhgCpzZbKd8VJ6nPeU00PwdG2fTuxISLwte/Pw/XExM+8h7k57MQcYst6TRzzM0z1K2TCdsA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.4.2","yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.2","hono":"^4.12.16","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260502.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.11_1777768160257_0.8332273793681446","host":"s3://npm-registry-packages-npm-production"}},"0.8.12":{"name":"@cyanheads/mcp-ts-core","version":"0.8.12","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b03ccf47669effa1811157bf048b466d33077351","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.12.tgz","fileCount":830,"integrity":"sha512-HABdjSsri5wigmh6I9rTPNWDcU4Ukfh/BV5rHKZKyuVaNJSIx7dd/BQsG2dBg4kIVbHenKTbERdnRcF6oxHMwA==","signatures":[{"sig":"MEUCIC8O3bx5f836+sfdh8J4Xsj8/gQa9WOyt/caONCQ+G3BAiEAtPN28DE55/qRDR/HKcvTAkrI1u4JVj+iAh6sxx6pMQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3482164},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b03ccf47669effa1811157bf048b466d33077351","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-HABdjSsri5wigmh6I9rTPNWDcU4Ukfh/BV5rHKZKyuVaNJSIx7dd/BQsG2dBg4kIVbHenKTbERdnRcF6oxHMwA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.4.2","yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.2","hono":"^4.12.16","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260503.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.12_1777791530981_0.27319791886200395","host":"s3://npm-registry-packages-npm-production"}},"0.8.13":{"name":"@cyanheads/mcp-ts-core","version":"0.8.13","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"81b34e4e34d8bca7ce936cab076060cb42f412b8","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.13.tgz","fileCount":834,"integrity":"sha512-kgu78DYit9fhVPJehZOkoyHrEi15yckjBAIiQItH/Qay6knaWLCvhZ+Jfn6uPYFucKOhvxdu3BRAo7aD82v6dg==","signatures":[{"sig":"MEUCIQCATb282B06wxLHVjfkn73JlbFjBtyE3q5hk79m4sVfYgIgfAxfi8GIPyuT57obZ2vJWzl85xs9aG8T2XqzpTYvVEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3525351},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"81b34e4e34d8bca7ce936cab076060cb42f412b8","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-kgu78DYit9fhVPJehZOkoyHrEi15yckjBAIiQItH/Qay6knaWLCvhZ+Jfn6uPYFucKOhvxdu3BRAo7aD82v6dg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"zod":"4.4.2","yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.2","hono":"^4.12.16","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.35.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.1","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260503.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.13_1777795725733_0.6732495672797385","host":"s3://npm-registry-packages-npm-production"}},"0.8.14":{"name":"@cyanheads/mcp-ts-core","version":"0.8.14","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.14","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"8b2f60959dabaeb781d75f489321cdedd4d92c46","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.14.tgz","fileCount":836,"integrity":"sha512-LnzMdYvtoyfuZJX3AwN2mAuC2JdwKI/MOQJhfs3h8Iag6y6sPQERRIMkHPvVcinmeeoi2tcxC62a12wE/+e6mg==","signatures":[{"sig":"MEYCIQDZGom7r3zJWPpw0Xfaev4ZXOlfdX4iiPL6egCla0DUOgIhANOCvbmocExhWC3pM3eyO/0f1cCQEoqneYVYDY12hQQK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3545900},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"8b2f60959dabaeb781d75f489321cdedd4d92c46","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-LnzMdYvtoyfuZJX3AwN2mAuC2JdwKI/MOQJhfs3h8Iag6y6sPQERRIMkHPvVcinmeeoi2tcxC62a12wE/+e6mg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.16","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.36.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.3","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260505.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.15.2","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.14_1777951836760_0.3911418511236442","host":"s3://npm-registry-packages-npm-production"}},"0.8.15":{"name":"@cyanheads/mcp-ts-core","version":"0.8.15","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.15","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"c8f5bac9d35505970805bcfa61f9f87a8f5fb102","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.15.tgz","fileCount":841,"integrity":"sha512-+yxLbU2dufqpD0ZNaHXSRlvUBQmictxWPR2TC7jYoCxWLSt/6MrNCRP+j+BPUDrsZ2EMM2SRoDvmdhIpYftpqg==","signatures":[{"sig":"MEUCIQDETyk1qTwsBR1sQPo7nsa09K8t4znw31fils2qNMyfqAIgXMfOHxj83yuC7c2IPwfgo84fu5GeBmk2wgDt+wMI9DA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3574345},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"c8f5bac9d35505970805bcfa61f9f87a8f5fb102","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-+yxLbU2dufqpD0ZNaHXSRlvUBQmictxWPR2TC7jYoCxWLSt/6MrNCRP+j+BPUDrsZ2EMM2SRoDvmdhIpYftpqg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.16","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.36.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.3","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260505.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.15.2","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.15_1777967553314_0.32240652059384534","host":"s3://npm-registry-packages-npm-production"}},"0.8.16":{"name":"@cyanheads/mcp-ts-core","version":"0.8.16","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.16","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"5ee0506f9c6beb6afa44014010f94ed01ebddd4a","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.16.tgz","fileCount":842,"integrity":"sha512-zLwPMGxwni7/jbU+x7WwIh5RPnwZI0izPL5OZR0eALQ51KxB9i3ErScRlUG3+PjrR9if7ADym1jpsTm6+SHEiw==","signatures":[{"sig":"MEQCICAuK7ezDMOYi6Y5DQfk/yuA6rl6/hqsVU8xAVYB+UmYAiB7JnvsNfrGq/GK2HImMMzDlZp0SVKbGb2RtW7W3Tkd4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3578578},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"5ee0506f9c6beb6afa44014010f94ed01ebddd4a","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-zLwPMGxwni7/jbU+x7WwIh5RPnwZI0izPL5OZR0eALQ51KxB9i3ErScRlUG3+PjrR9if7ADym1jpsTm6+SHEiw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.17","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.36.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.3","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260505.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.0","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.16_1778022015593_0.2969228041438903","host":"s3://npm-registry-packages-npm-production"}},"0.8.17":{"name":"@cyanheads/mcp-ts-core","version":"0.8.17","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.17","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a1b3e3fa7670cd7be0b0b5901c78ddd8731047de","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.17.tgz","fileCount":843,"integrity":"sha512-jDjtVwkMNvkMEZyA5gDWJNRkZG86Pn8oT3XS/yFSU3fx14p4Rrhs3gq49QPmd/ss6i9BPilMVfk5BoSq1W/JOw==","signatures":[{"sig":"MEUCIG0tPOMS/ec52/z3mumdneOTnzYvMXv9sWbKeMRYu2LGAiEA+7uwHcQKJFQ5nFaQ39IPbee9lLz8+qUqmFJA0ksUK8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3592826},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"a1b3e3fa7670cd7be0b0b5901c78ddd8731047de","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-jDjtVwkMNvkMEZyA5gDWJNRkZG86Pn8oT3XS/yFSU3fx14p4Rrhs3gq49QPmd/ss6i9BPilMVfk5BoSq1W/JOw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.17","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.36.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.3","@opentelemetry/sdk-node":"^0.216.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260506.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.0","@opentelemetry/instrumentation-http":"^0.216.0","@opentelemetry/instrumentation-pino":"^0.62.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.216.0","@opentelemetry/exporter-metrics-otlp-http":"^0.216.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.17_1778033411039_0.07193294053575872","host":"s3://npm-registry-packages-npm-production"}},"0.8.18":{"name":"@cyanheads/mcp-ts-core","version":"0.8.18","keywords":["agent","agent-native","ai","ai-agent","cloudflare-workers","declarative","edge","framework","llm","mcp","mcp-server","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.18","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"f5a1e19581050faf076b20867814c8157be2e3de","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.18.tgz","fileCount":844,"integrity":"sha512-qGj+CgYobi1Flh/+oxrF+Ykl/ftYNxpUQwPXW/8Zoizj/yjG6VbJA6jx7o2n+y0LpXGKFikqnYjLoCtsb6IEOA==","signatures":[{"sig":"MEUCIQCSK1FRjS20YBfL2DX7/jIrSJqMEOU4bz+XNwgxAAnvvgIgKFClHI2MOWP4qoSAwH34tIRldnaHTdEherqzANxtPNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3611927},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"f5a1e19581050faf076b20867814c8157be2e3de","engines":{"bun":">=1.2.0","node":">=22.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-qGj+CgYobi1Flh/+oxrF+Ykl/ftYNxpUQwPXW/8Zoizj/yjG6VbJA6jx7o2n+y0LpXGKFikqnYjLoCtsb6IEOA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.18","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.10","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.36.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.1","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.0","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.3","@opentelemetry/sdk-node":"^0.217.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260506.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.0","@opentelemetry/instrumentation-http":"^0.217.0","@opentelemetry/instrumentation-pino":"^0.63.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.217.0","@opentelemetry/exporter-metrics-otlp-http":"^0.217.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.18_1778113147052_0.7573673952042548","host":"s3://npm-registry-packages-npm-production"}},"0.8.19":{"name":"@cyanheads/mcp-ts-core","version":"0.8.19","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.19","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"bd1780d579f21ddf027523e46f9e7331cbce53a5","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.19.tgz","fileCount":846,"integrity":"sha512-YjW6EV2eB0aoFiDCkEmYZ0biKkitnzuYiU1UNidirekVIyuji5unUKXUy6I9RawjPSR79jp9WV/xIFS1McacjQ==","signatures":[{"sig":"MEQCICN+T2joXpCAJucVjgHA5PJ4HrLUKFdfJn6UeD6O7nbHAiA4wIaSZiHQd+SB7NxX8AiRS25a/SZltvcY/w42Jqpe2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3620783},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"bd1780d579f21ddf027523e46f9e7331cbce53a5","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-YjW6EV2eB0aoFiDCkEmYZ0biKkitnzuYiU1UNidirekVIyuji5unUKXUy6I9RawjPSR79jp9WV/xIFS1McacjQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.18","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.2","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.11","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.37.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.2","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.7.3","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.3","@opentelemetry/sdk-node":"^0.217.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260508.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.3","@opentelemetry/instrumentation-http":"^0.217.0","@opentelemetry/instrumentation-pino":"^0.63.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.217.0","@opentelemetry/exporter-metrics-otlp-http":"^0.217.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.19_1778235948701_0.915982591537591","host":"s3://npm-registry-packages-npm-production"}},"0.8.20":{"name":"@cyanheads/mcp-ts-core","version":"0.8.20","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.8.20","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"2b6e6cfd98cb970745f1ac6e9b8d343a4fc3741a","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.8.20.tgz","fileCount":847,"integrity":"sha512-AFqMCCW4iQeJVvLT5sPVWQyiv6aakO37CrOeRzzzRQZ+XvOP8nGf+fYMKZn5qdcgpobW0EF4XRwZP04LVcQNMQ==","signatures":[{"sig":"MEUCIQDhDe1aACnjHIR5Uz79AEF9ZhSFsgo/u0AEWdSTsTBDlQIgCiAIH2bja2BHMyWYELv7KqnVoxjSEO8DdDyuqLHgjEA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3638176},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"2b6e6cfd98cb970745f1ac6e9b8d343a4fc3741a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-AFqMCCW4iQeJVvLT5sPVWQyiv6aakO37CrOeRzzzRQZ+XvOP8nGf+fYMKZn5qdcgpobW0EF4XRwZP04LVcQNMQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.18","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.2","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.11","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.37.0","vitest":"^4.1.5","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.13","@vitest/ui":"4.1.5","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.2","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.14","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.7.3","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.4","@opentelemetry/sdk-node":"^0.217.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260509.1","@vitest/coverage-istanbul":"4.1.5","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.3","@opentelemetry/instrumentation-http":"^0.217.0","@opentelemetry/instrumentation-pino":"^0.63.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.217.0","@opentelemetry/exporter-metrics-otlp-http":"^0.217.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.8.20_1778322133465_0.5997837487710835","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@cyanheads/mcp-ts-core","version":"0.9.0","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"e88cbb052d30ce47d13986d6285ac2361912ca76","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.0.tgz","fileCount":856,"integrity":"sha512-8Ecsx1gatEq1Yimb38sX9jinVr4EbAF6g5UAnZkurdyRkbrGdRrTu/76bOfGz5eobfUde9sNO4puloMjodMZtQ==","signatures":[{"sig":"MEUCIQC6TdXHoOzaM8RYkLKnTKg4YAKiTcd87zicS5H1A7uDCgIgC8W2wLWeDg/QPu2WCORaEhSwP1eAE9XGRrzpaEtA2us=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3695566},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"e88cbb052d30ce47d13986d6285ac2361912ca76","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-8Ecsx1gatEq1Yimb38sX9jinVr4EbAF6g5UAnZkurdyRkbrGdRrTu/76bOfGz5eobfUde9sNO4puloMjodMZtQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"1.10.3","lodash":"4.18.1","flatted":"3.4.2","picomatch":"2.3.2","handlebars":"4.7.9","protobufjs":"7.5.5","path-to-regexp":"8.4.2","brace-expansion":"1.1.14"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.18","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.2","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.12","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.37.0","vitest":"^4.1.6","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.13","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.13","@vitest/ui":"4.1.6","clipboardy":"^5.3.1","fast-check":"^4.7.0","typescript":"^6.0.3","@types/node":"^25.6.2","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.3","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.7.3","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.4","@opentelemetry/sdk-node":"^0.217.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260511.1","@vitest/coverage-istanbul":"4.1.6","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.3","@opentelemetry/instrumentation-http":"^0.217.0","@opentelemetry/instrumentation-pino":"^0.63.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.217.0","@opentelemetry/exporter-metrics-otlp-http":"^0.217.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.3","fast-xml-parser":"latest","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.0_1778519280975_0.44046434383736255","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@cyanheads/mcp-ts-core","version":"0.9.1","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"81ffd48bb93624980e79f0c0e6ccf3f2db7c4636","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.1.tgz","fileCount":857,"integrity":"sha512-t1pJiaaiSKlS4KcJzQIxvtJ/LH+B25FRBykIHF+ZSpYJ28Hwdu6wfTY1BHtdr6guiDnZtVRHKkkBEDdsUnpiRg==","signatures":[{"sig":"MEYCIQDEat/skctXhYADfALUo86gUa23qA5QsbrUha/Ru1L+ewIhAOanNRhnov3c1Axziq6mZgPIVTBTFJ521ylELlm7IwBY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3704791},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"81ffd48bb93624980e79f0c0e6ccf3f2db7c4636","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-t1pJiaaiSKlS4KcJzQIxvtJ/LH+B25FRBykIHF+ZSpYJ28Hwdu6wfTY1BHtdr6guiDnZtVRHKkkBEDdsUnpiRg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6","fast-xml-parser":"5.7.3"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.18","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.2.5","@hono/node-server":"^2.0.2","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.13","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.37.0","vitest":"^4.1.6","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.6","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.8.0","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"5.7.3","@duckdb/node-api":"^1.5.2-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.105.4","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260515.1","@vitest/coverage-istanbul":"4.1.6","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.6","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"5.7.3","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.1_1778853953328_0.2949126475853596","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@cyanheads/mcp-ts-core","version":"0.9.2","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"56bc0f66f45b983f6498f921e7b2415928dc6a1a","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.2.tgz","fileCount":870,"integrity":"sha512-9dL5Sfu+qCskhCdu3qz7ND3VsCUTDMsjQS91qpOwqTrA57jojaJDKtI4ToMz6aJ3uMkOGzgjhygBg+vVednt1w==","signatures":[{"sig":"MEUCIHJ9jO55uDl4y6yE0jjxLnxTFtQBUzrwwrV2IfvZpgh9AiEA9hSyMgReUFAjn3/3GbFIvMOnK/M0bwDWVGTp3iu4O44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3810282},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"56bc0f66f45b983f6498f921e7b2415928dc6a1a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-9dL5Sfu+qCskhCdu3qz7ND3VsCUTDMsjQS91qpOwqTrA57jojaJDKtI4ToMz6aJ3uMkOGzgjhygBg+vVednt1w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.22","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.3","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"zod":"^4.4.3","diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260523.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.9","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.2_1779502499063_0.6639215383487327","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@cyanheads/mcp-ts-core","version":"0.9.3","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"27a127f22bad7012ef900436632aeb182c22d0fc","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.3.tgz","fileCount":872,"integrity":"sha512-fJwPc0KI1HqnIAmsmk8m9Gnq5lJ7iCs/HmJhrUFQZ5IK/5jSzrp9nQwRTaIJPVf8APmXirYOkaZnOOMjPWK7QQ==","signatures":[{"sig":"MEYCIQDrjSZqhWtNObLkHEp6+j3qhXO0hg+B5tTm561e7df0ngIhAIuaYcwW3dVP4m/xcgy4fEJHs1iIq4thEhOLxa+BtsLE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3832520},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"27a127f22bad7012ef900436632aeb182c22d0fc","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-fJwPc0KI1HqnIAmsmk8m9Gnq5lJ7iCs/HmJhrUFQZ5IK/5jSzrp9nQwRTaIJPVf8APmXirYOkaZnOOMjPWK7QQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.22","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.3","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"zod":"^4.4.3","diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260523.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.9","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.3_1779509826411_0.37702012183038747","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@cyanheads/mcp-ts-core","version":"0.9.4","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"08d61251046d9c88ec750d18b582751b68b5db18","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.4.tgz","fileCount":877,"integrity":"sha512-clvk25BK//w/rMGkMG1LfYHosaQe090iTwuJmqj7ARHyrZLyNiU617WNqr4oSD6Nrzj7jFz523eTMCwKQPm1tA==","signatures":[{"sig":"MEUCIFVYiIrH6k6Xjh4NE2PH+3GVO7qdv1qopo7T8xj+g3WRAiEA4JMMlZmwnz76PbJ4XfgdOEFa5Flz7LfO6LUlhzVfRBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3846294},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"08d61251046d9c88ec750d18b582751b68b5db18","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-clvk25BK//w/rMGkMG1LfYHosaQe090iTwuJmqj7ARHyrZLyNiU617WNqr4oSD6Nrzj7jFz523eTMCwKQPm1tA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"hono":"^4.12.22","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.3","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"zod":"^4.4.3","diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260523.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.9","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.4_1779513977805_0.6398776170071083","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@cyanheads/mcp-ts-core","version":"0.9.5","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"c099e2babc1db67786855570b1994928c82531f6","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.5.tgz","fileCount":878,"integrity":"sha512-lWRPZoNV/vb3hRxE9ApIHhyircwqoa0AIE89fIurn3lJkmglfFxKSr1OIScMNRwKNCasDn/KJ/iANEk0rpRMuA==","signatures":[{"sig":"MEYCIQDk3a5y0U2dxXDF+rt7RXPUpMEFeLUy42tbJ3HLqsMJ3QIhAMh8NqKYp7iahCyY+zUAaYO7jYdqGF9Y8QUlVnLmHb2l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3841654},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"c099e2babc1db67786855570b1994928c82531f6","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-lWRPZoNV/vb3hRxE9ApIHhyircwqoa0AIE89fIurn3lJkmglfFxKSr1OIScMNRwKNCasDn/KJ/iANEk0rpRMuA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.22","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.3","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260523.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.9","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.5_1779525202534_0.6235693528501778","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@cyanheads/mcp-ts-core","version":"0.9.6","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b4de6201e8a6029e5549a18785f0a77250b8f4c4","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.6.tgz","fileCount":876,"integrity":"sha512-9t8Q8sszPoeMUe9hLpY2zcLXQuhu9nV2LWTMEnBjsePR3OAX7mY+niJ4MuuMbUXwWwIVlidpOidPFk1YYoAG9g==","signatures":[{"sig":"MEUCIAxvMx7tWaPTQ6/pfiwnUhPSKjXGws7oyhsc+jXx/qS8AiEArUUw905JkaP2JLTt3BdqwFe7ZiBQSOeK2+Rw9UsJJWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3828873},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b4de6201e8a6029e5549a18785f0a77250b8f4c4","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-9t8Q8sszPoeMUe9hLpY2zcLXQuhu9nV2LWTMEnBjsePR3OAX7mY+niJ4MuuMbUXwWwIVlidpOidPFk1YYoAG9g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.22","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.3","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260523.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.9","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.6_1779532018023_0.5535072798867344","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@cyanheads/mcp-ts-core","version":"0.9.7","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","llm","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"de3b0a662996c020b348e77f4268f33c10410295","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.7.tgz","fileCount":880,"integrity":"sha512-TUevarQq4hqjph/jIQuLnXrGIHmzcd18fDMuU+l9bVf7E8iObnLWp/GlzTiFOMbzRXQ/S92ak9N5tkcOjbesCA==","signatures":[{"sig":"MEQCIC2ooEBDFseuzIc93uOYIpLiEx6ovxjXxFsYgPVpGfE6AiAKmPbSR1gtbVYgcUbwQJGz9kN9ArTw+3htBBtocfcFyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3862680},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"de3b0a662996c020b348e77f4268f33c10410295","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-TUevarQq4hqjph/jIQuLnXrGIHmzcd18fDMuU+l9bVf7E8iObnLWp/GlzTiFOMbzRXQ/S92ak9N5tkcOjbesCA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.22","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.3","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260523.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.9","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.7_1779554672692_0.5823301217290366","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@cyanheads/mcp-ts-core","version":"0.9.8","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"c1da7370f35c62a887b8d248d5aeb0c1fefff118","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.8.tgz","fileCount":879,"integrity":"sha512-m9Dk/llZMwNLPU2sQBlZsxFArNLuZMKZ7VT95Pf99vmzZxy7V9Ap6+P1rfGlUB1+Rn0Kju1Xg0+RleTjw/8X2A==","signatures":[{"sig":"MEQCIFBa8Aa+GlS1udNyTVZIQrsY6JIzFnOTI9ZuMHj1Tr/YAiAcZB6lCL1eTk2V0Jh90iCSvIg6jGp80zqCncgg1A+WTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3873581},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"c1da7370f35c62a887b8d248d5aeb0c1fefff118","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-m9Dk/llZMwNLPU2sQBlZsxFArNLuZMKZ7VT95Pf99vmzZxy7V9Ap6+P1rfGlUB1+Rn0Kju1Xg0+RleTjw/8X2A==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.22","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260524.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.9","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.8_1779614949602_0.539065138779151","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"@cyanheads/mcp-ts-core","version":"0.9.9","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a97af6821d45b503a85e1657cce08f3d13d86503","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.9.tgz","fileCount":879,"integrity":"sha512-SUNk6e/I3aTdz8Rd6xGF5nhxJsE5J8WeEwjHxKi3wqbhSNQ2gQ1c2dg9ERffWwek3V5La/jo63BEVdOsVr7EkA==","signatures":[{"sig":"MEQCIE4hMTmdptoOevZMl4Q+kiTVlPglVI2cLSbSmw/CqAmoAiBQ3GWHvoIL9YLS2t3zzvMf1uHKnPQgiQHBu3fjx2sHDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3875312},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"a97af6821d45b503a85e1657cce08f3d13d86503","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-SUNk6e/I3aTdz8Rd6xGF5nhxJsE5J8WeEwjHxKi3wqbhSNQ2gQ1c2dg9ERffWwek3V5La/jo63BEVdOsVr7EkA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.22","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.0","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260524.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.9","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.8.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.9_1779617605547_0.11703918259011004","host":"s3://npm-registry-packages-npm-production"}},"0.9.10":{"name":"@cyanheads/mcp-ts-core","version":"0.9.10","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"bb4bd31d0dac59eec47dc986c0b9ec54ad021cc3","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.10.tgz","fileCount":886,"integrity":"sha512-l/4dx4L/HL/c/IGCM7UbeFjTxVhN78+XrlEyQtmZxB2+tnRqtTdwa16qqDKSYnaP5R+sExAF1KCr/xTgtGz6Ug==","signatures":[{"sig":"MEUCIDa6ncjZgDh8wB0fLmIj0eU9d2+34jVDfyNFQCrisIfwAiEAnsJkDMUiujAAl2QgA+/O2cC7Stou7kwBO1/0aKaNlK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3903127},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"bb4bd31d0dac59eec47dc986c0b9ec54ad021cc3","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-l/4dx4L/HL/c/IGCM7UbeFjTxVhN78+XrlEyQtmZxB2+tnRqtTdwa16qqDKSYnaP5R+sExAF1KCr/xTgtGz6Ug==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.15","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260527.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.10_1779856389224_0.7070688119765915","host":"s3://npm-registry-packages-npm-production"}},"0.9.11":{"name":"@cyanheads/mcp-ts-core","version":"0.9.11","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"8bf6d9e728083aed9fa3ddecdf97ef3a34878a36","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.11.tgz","fileCount":888,"integrity":"sha512-XnwxhES25wHfoiIvnd1Ini+98vjfWjLiWTm2VQO6QJGnneb0/MbNN4iqjX8hzmIM9avdAhy+KSE9+zovhkDWvQ==","signatures":[{"sig":"MEUCIQDJ00ctE8eUfExDOK84liKxFr7wR+SsHQVmp3f8CZzjIAIgMT3FUZomePRTd2i6s2/HvSSZxOzHNfYcglkM/NuA5dA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3917415},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"8bf6d9e728083aed9fa3ddecdf97ef3a34878a36","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-XnwxhES25wHfoiIvnd1Ini+98vjfWjLiWTm2VQO6QJGnneb0/MbNN4iqjX8hzmIM9avdAhy+KSE9+zovhkDWvQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.0","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260528.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.11_1779956742845_0.9952966863837402","host":"s3://npm-registry-packages-npm-production"}},"0.9.12":{"name":"@cyanheads/mcp-ts-core","version":"0.9.12","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"d1c679fd61ac75efe6086a105a8d3b8489c03b8f","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.12.tgz","fileCount":885,"integrity":"sha512-kqwzGBCAZr2RlgA7SsQtqqL1FP73uOD8+WO3wzDuUb01fNFopkzfxIwpfQZ789cASfCq5YW1ooiJ6VFEdxupnA==","signatures":[{"sig":"MEUCIFLO1Jbvm1ZA5gc7+3y8Ij2QQSt38feuTR7KuAHtjdBoAiEAm7F7TzJt3DK9FgRGMWuD/eOCpXONEo15xiX0pqh0Y8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3904231},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"d1c679fd61ac75efe6086a105a8d3b8489c03b8f","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-kqwzGBCAZr2RlgA7SsQtqqL1FP73uOD8+WO3wzDuUb01fNFopkzfxIwpfQZ789cASfCq5YW1ooiJ6VFEdxupnA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.1","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260528.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.12_1780015337165_0.9233940967875507","host":"s3://npm-registry-packages-npm-production"}},"0.9.13":{"name":"@cyanheads/mcp-ts-core","version":"0.9.13","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"28802fc582e9008a13a85164043852b7b118a242","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.13.tgz","fileCount":889,"integrity":"sha512-Ep4aW8kTv3PIOqd7k1gg7kd041/GdJ/XT+v3a8yELrfZLNymMuWk6+znhAzDxQOyMVNg8OvO/V3D+995EsU52g==","signatures":[{"sig":"MEQCIG9XXs4DFtrOdGkAWD3VHYNx9BcLV2kKcEAvfC+SHGU3AiBE/dscTqStsccBjGId7O5RyIz+k7L5uRv13IUI8wvoUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3927632},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"28802fc582e9008a13a85164043852b7b118a242","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Ep4aW8kTv3PIOqd7k1gg7kd041/GdJ/XT+v3a8yELrfZLNymMuWk6+znhAzDxQOyMVNg8OvO/V3D+995EsU52g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.1","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260529.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.13_1780019908069_0.8398802032653883","host":"s3://npm-registry-packages-npm-production"}},"0.9.14":{"name":"@cyanheads/mcp-ts-core","version":"0.9.14","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.14","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"349c0acec2996dcd6c1c213ad85d6b9a4879e039","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.14.tgz","fileCount":891,"integrity":"sha512-T7zitkNZi0hfvQtGK/UvXgylUC+fVdTXuSEXaBktJNbDrhInHMZJ+dRmJ96MzXzvli0zvUmyA5BwUzcmnHzHGg==","signatures":[{"sig":"MEYCIQC/m4wsqMTTY0I8iezPeWWE77Am1C36yxXq2qP90ZW9nwIhAMAL1ScLseNuey493AbXbcoGjFbZnD3LFpGllDDXiUp4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3970560},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"349c0acec2996dcd6c1c213ad85d6b9a4879e039","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write --unsafe","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-T7zitkNZi0hfvQtGK/UvXgylUC+fVdTXuSEXaBktJNbDrhInHMZJ+dRmJ96MzXzvli0zvUmyA5BwUzcmnHzHGg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.1","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260529.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.14_1780055883640_0.21862933756083058","host":"s3://npm-registry-packages-npm-production"}},"0.9.15":{"name":"@cyanheads/mcp-ts-core","version":"0.9.15","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.15","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"484473af59bbdfb0a9687e45f1cc58b6c7aaddf4","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.15.tgz","fileCount":893,"integrity":"sha512-ZIwnB4BwFXFrjRblNqQtVepCU2HoiaoAxPJDGuW6t/e+bz7nND/Cf20W7ljOQuUf5XNLdPPnFINArHvOofCGPw==","signatures":[{"sig":"MEQCICcSAU8N7dUCV5PrtQA1SsWImpUSDwoEXJyowfJns/NVAiA65HOQPq48YaVV8THC8NjWytqy/tv+4hB7fiusp5yG9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4035086},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"484473af59bbdfb0a9687e45f1cc58b6c7aaddf4","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-ZIwnB4BwFXFrjRblNqQtVepCU2HoiaoAxPJDGuW6t/e+bz7nND/Cf20W7ljOQuUf5XNLdPPnFINArHvOofCGPw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.1","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260530.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.15_1780109219055_0.30584330390994086","host":"s3://npm-registry-packages-npm-production"}},"0.9.16":{"name":"@cyanheads/mcp-ts-core","version":"0.9.16","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.16","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"710785bee15bd13d7e240e51c03672fda8367ac3","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.16.tgz","fileCount":897,"integrity":"sha512-siguxolO8qyGtWW5Xche2WQYCx8QqosrptwJVu5GgrUf7dME/sr5ZbRwCVUfxRpfHQqc13ABG1tKLa1eHORKKA==","signatures":[{"sig":"MEUCIQCiszaVeRBcYPDVnMbj6vAo2Ya+5B1gCa+iK4zjBtdZ/wIgMn2QC1yo9BVzyCmsSJkFOPzSKXgAOI2T+oGKh2Vss10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4046923},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"710785bee15bd13d7e240e51c03672fda8367ac3","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-siguxolO8qyGtWW5Xche2WQYCx8QqosrptwJVu5GgrUf7dME/sr5ZbRwCVUfxRpfHQqc13ABG1tKLa1eHORKKA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.1","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"^4.20260530.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.16_1780111672715_0.33063502564882796","host":"s3://npm-registry-packages-npm-production"}},"0.9.17":{"name":"@cyanheads/mcp-ts-core","version":"0.9.17","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.17","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b80dd24f24b2816c40490d46cd2a1aca28caffb3","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.17.tgz","fileCount":927,"integrity":"sha512-3SBb+VyXG0GhRwrrTBy+wL94naJZstANUq01Ty7ACASxUlaZo/0oNkAjBxl++bDJug+z5+qXB1M+cGX/mcMV5w==","signatures":[{"sig":"MEUCIHBQemRxXlFc/+dUUnceNP34sqjl6Kenj3gD9dyE7sC/AiEApkSqWEk+io4VJAM9CRERZnElg3x2JZYbAHL0rLO9bNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4151142},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b80dd24f24b2816c40490d46cd2a1aca28caffb3","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-3SBb+VyXG0GhRwrrTBy+wL94naJZstANUq01Ty7ACASxUlaZo/0oNkAjBxl++bDJug+z5+qXB1M+cGX/mcMV5w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.1","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260531.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.17_1780206129064_0.7908714592919679","host":"s3://npm-registry-packages-npm-production"}},"0.9.18":{"name":"@cyanheads/mcp-ts-core","version":"0.9.18","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.18","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"a408224f6eb02564dfa4bbaec485b253fd4721c8","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.18.tgz","fileCount":926,"integrity":"sha512-qxi/i5H2FujAwOhttqse8zqjg4KrPENzs9CXprPdxfHXM/MumXMpJxlGCxE8p9QBEKJbxKTizcAN/ixp3J6BWg==","signatures":[{"sig":"MEUCIC3cOf782mUgwhWuR/KkYPM+qiJuPd8kaw5c9H1pvJfLAiEAk7aTXa9NIlQ2tcIqVRcNCCJM/Z9Y7vMlaeVohKKOFiw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4139717},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"a408224f6eb02564dfa4bbaec485b253fd4721c8","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-qxi/i5H2FujAwOhttqse8zqjg4KrPENzs9CXprPdxfHXM/MumXMpJxlGCxE8p9QBEKJbxKTizcAN/ixp3J6BWg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.1","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260531.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.18_1780222671250_0.30461732190258495","host":"s3://npm-registry-packages-npm-production"}},"0.9.19":{"name":"@cyanheads/mcp-ts-core","version":"0.9.19","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.19","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"88b3e00f65b3feb933f188eefb6252220766572f","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.19.tgz","fileCount":931,"integrity":"sha512-2DdlZKZwtI+zjyFJyubHKfMdexZLSboag75Dc97C1FMfSuOFxPTneFXKTht7sb/jmvrt7OyUGYtD9T40aVwVjw==","signatures":[{"sig":"MEQCIC+t3K4yj8MPIb/gi3cx+llKhw6KxezWaVL3w/aCF00YAiBgf33UbbhJGR1W3qX2KYcdfW2WCEorlSU0xMr8p8fYoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4177417},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"88b3e00f65b3feb933f188eefb6252220766572f","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-2DdlZKZwtI+zjyFJyubHKfMdexZLSboag75Dc97C1FMfSuOFxPTneFXKTht7sb/jmvrt7OyUGYtD9T40aVwVjw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.14","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.39.1","vitest":"^4.1.7","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.7","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260531.1","@vitest/coverage-istanbul":"4.1.7","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.10","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.19_1780225687243_0.9569531447747881","host":"s3://npm-registry-packages-npm-production"}},"0.9.20":{"name":"@cyanheads/mcp-ts-core","version":"0.9.20","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.20","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"d6f22f7746435db16be0896485f9c36a3d9ae153","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.20.tgz","fileCount":936,"integrity":"sha512-zA8BXIB4vHolfyf4BRlxOF8WOCgL8xZNGbz+aVtqWGmil7ufCuSw6svvJJU7vZOt24B46X2VN6yL9eQJHd5hcA==","signatures":[{"sig":"MEQCIFZrg7c1iV3hSVxLTLBCOQrPwYRhMRiUdJtw9s0oGvc1AiBm+JlyLhBnsL04j4sroZZOROSPtvN7sQAJXJCKaHlOdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4192949},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"d6f22f7746435db16be0896485f9c36a3d9ae153","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-zA8BXIB4vHolfyf4BRlxOF8WOCgL8xZNGbz+aVtqWGmil7ufCuSw6svvJJU7vZOt24B46X2VN6yL9eQJHd5hcA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.41.0","vitest":"^4.1.8","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.8","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260602.1","@vitest/coverage-istanbul":"4.1.8","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.11","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.20_1780371831235_0.7764025044401166","host":"s3://npm-registry-packages-npm-production"}},"0.9.21":{"name":"@cyanheads/mcp-ts-core","version":"0.9.21","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.9.21","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"fdd2f0085eaf4dabacf6cf7480719ab9d86168f5","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.9.21.tgz","fileCount":934,"integrity":"sha512-Ni5Zfo9vWKg9fafiKoyFN32FwC7U7GkGlhhGH/BRy4CdVZshpdmPCeOeWGmKqePAbADufiYCq+RaoMmHuCe4Mg==","signatures":[{"sig":"MEQCIAVvAUb5U27mK51Eanf3px2AdEfudrsrrfsA5tswpP3XAiBvIwEGK1VM/v0Ukghk4w5CD+ZZKUMPp4ej102HevbgLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4187459},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"fdd2f0085eaf4dabacf6cf7480719ab9d86168f5","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Ni5Zfo9vWKg9fafiKoyFN32FwC7U7GkGlhhGH/BRy4CdVZshpdmPCeOeWGmKqePAbADufiYCq+RaoMmHuCe4Mg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.41.0","vitest":"^4.1.8","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.8","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.106.2","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260602.1","@vitest/coverage-istanbul":"4.1.8","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.11","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.9.21_1780391106339_0.6048047235530167","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@cyanheads/mcp-ts-core","version":"0.10.0","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"17d29cc69d3d49644de56a5eb8fadd9ace675d96","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.0.tgz","fileCount":944,"integrity":"sha512-rAlrUMsGrKVCAAFeZwCRvfUffl4sP+dC7InepjyOM9X1ZPtzsaIA3sR8SboCWPsG26upw0ebAl4uQhP4mwmCkQ==","signatures":[{"sig":"MEYCIQCV8qbbjygY+A/FYmX6/z9OP4VbkUVl54n9bLuP813PjQIhAMDoaRFuTcoA0AyBjySXwCGTery5Veszh08lUty+Qu5a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4230493},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"17d29cc69d3d49644de56a5eb8fadd9ace675d96","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-rAlrUMsGrKVCAAFeZwCRvfUffl4sP+dC7InepjyOM9X1ZPtzsaIA3sR8SboCWPsG26upw0ebAl4uQhP4mwmCkQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.23","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.42.0","vitest":"^4.1.8","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.8","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.107.0","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260605.1","@vitest/coverage-istanbul":"4.1.8","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.13","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.0_1780661785841_0.16019220887168895","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@cyanheads/mcp-ts-core","version":"0.10.1","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"3ac08cbd18db573a4ad3701c21b701cb9f359087","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.1.tgz","fileCount":942,"integrity":"sha512-EHMBa901OZLPcbbqr9JmGGnTIU8qhcw2SF/XOfK4Z/JleJjZqCX01uCdMP4H7AUGwI/y6f9CaEMv5HhhU2P5Yg==","signatures":[{"sig":"MEYCIQDoR+YX2V9EshkMcAP4jxEK5rSKq5ATpW4HIWrt0822swIhAOdoctsxC45AcfwLgjyqmj+60Z0P6/QJxVgyFDZlqWUi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4232284},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"3ac08cbd18db573a4ad3701c21b701cb9f359087","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-EHMBa901OZLPcbbqr9JmGGnTIU8qhcw2SF/XOfK4Z/JleJjZqCX01uCdMP4H7AUGwI/y6f9CaEMv5HhhU2P5Yg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.24","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.42.0","vitest":"^4.1.8","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.8","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.2","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.4","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.108.0","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260608.1","@vitest/coverage-istanbul":"4.1.8","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.13","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.1_1780929983888_0.5329261821819997","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@cyanheads/mcp-ts-core","version":"0.10.2","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"38ee3bbe5effa54d5c2b0ac8e1d969b0e44d2884","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.2.tgz","fileCount":946,"integrity":"sha512-iyJMGnEn10GUmQO3EOGpS82GLLg69U0+DjbmnMhFJwwiLzSaiv31EEDjqbYJ9yKLkL6kCfZVk21eIOy1zSMpTg==","signatures":[{"sig":"MEYCIQCt6UzXMyHjcq9/95fHdY9bcy3kRTn2g0YxLYlc8RuqKgIhAIrgXwjRI3qjazdS9KOgLWWNOWsVD4jGbdDDGXfckWIe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4297118},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"38ee3bbe5effa54d5c2b0ac8e1d969b0e44d2884","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-iyJMGnEn10GUmQO3EOGpS82GLLg69U0+DjbmnMhFJwwiLzSaiv31EEDjqbYJ9yKLkL6kCfZVk21eIOy1zSMpTg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.25","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.42.0","vitest":"^4.1.8","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.8","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"^25.9.2","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.108.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260610.1","@vitest/coverage-istanbul":"4.1.8","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.14","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.2_1781113669810_0.28307972485260957","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@cyanheads/mcp-ts-core","version":"0.10.3","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"2ae23a2e659ada4a3cd6d64acded7c131e20216a","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.3.tgz","fileCount":943,"integrity":"sha512-Y9wdwUILoDPHYbhOn9FkQwaY1fFMPMI7G/JBy1634pEyHJHTQXqgvA9+rvlP5ikZG3lRN8yGh1aR3jtbTwkldQ==","signatures":[{"sig":"MEQCIBJlUL9buWA44usd5ePNXbzL1N0oBmBMQDUxCh9jFC3wAiAFTpzdvP/f1mQsEyE7bTN11XIjE1R4QDzbeHZUb5NBDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4318263},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"2ae23a2e659ada4a3cd6d64acded7c131e20216a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-Y9wdwUILoDPHYbhOn9FkQwaY1fFMPMI7G/JBy1634pEyHJHTQXqgvA9+rvlP5ikZG3lRN8yGh1aR3jtbTwkldQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.25","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.2","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.42.0","vitest":"^4.1.8","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.8","clipboardy":"^5.3.1","typescript":"^6.0.3","@types/node":"25.9.3","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.108.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260610.1","@vitest/coverage-istanbul":"4.1.8","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.14","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"latest","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"latest","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.3_1781133267227_0.1104594727118775","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"@cyanheads/mcp-ts-core","version":"0.10.4","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"da133fa5267f71e2d7797149ec7f884a795817e1","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.4.tgz","fileCount":941,"integrity":"sha512-OyYwL+/Byc2x4Fi2GvMRC3339LC8kasUDCvvpH8GdMRGmBNsolTxxPCfOzREuz7OwuLgB5zdDdcGjLCBUelD0w==","signatures":[{"sig":"MEUCIQCtwCxLMf/JMeyhntAK23T/UZW6aW25O49erSDkJTqyqQIgLduWSV8lsH6QKIATQIh7JiD0kJh42nhY6BKA6e3dZDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4328875},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"da133fa5267f71e2d7797149ec7f884a795817e1","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-OyYwL+/Byc2x4Fi2GvMRC3339LC8kasUDCvvpH8GdMRGmBNsolTxxPCfOzREuz7OwuLgB5zdDdcGjLCBUelD0w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.25","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.42.0","vitest":"^4.1.8","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.8","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"25.9.3","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.108.1","@opentelemetry/sdk-node":"^0.218.0","@opentelemetry/resources":"^2.7.1","@cloudflare/workers-types":"4.20260610.1","@vitest/coverage-istanbul":"4.1.8","@opentelemetry/sdk-metrics":"^2.7.1","@opentelemetry/sdk-trace-node":"^2.7.1","@cloudflare/vitest-pool-workers":"^0.16.14","@opentelemetry/instrumentation-http":"^0.218.0","@opentelemetry/instrumentation-pino":"^0.64.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.218.0","@opentelemetry/exporter-metrics-otlp-http":"^0.218.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.4_1781140803644_0.6238903823595177","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"@cyanheads/mcp-ts-core","version":"0.10.5","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"b053afd9e418e4106085d899089bc095b826398b","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.5.tgz","fileCount":946,"integrity":"sha512-PF9QS7925+gKURmBRxriKaLROYw3zSBNU8VtwKwUODkIM1ZijLpataQW4wel2uopvEWCwNZZMm3ubhxlmH5xDQ==","signatures":[{"sig":"MEYCIQD4O8u9XIBeVprThS1qSrQ6rCDDZxX7ygdUks6KAHxrUgIhAP2orqtPe6LiEk5fXaOw4bq1xexQDn/9MIDK1zfefKrv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4349636},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"b053afd9e418e4106085d899089bc095b826398b","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-PF9QS7925+gKURmBRxriKaLROYw3zSBNU8VtwKwUODkIM1ZijLpataQW4wel2uopvEWCwNZZMm3ubhxlmH5xDQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.25","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.42.0","vitest":"^4.1.8","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.8","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"25.9.3","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.108.1","@opentelemetry/sdk-node":"^0.219.0","@opentelemetry/resources":"^2.8.0","@cloudflare/workers-types":"4.20260611.1","@vitest/coverage-istanbul":"4.1.8","@opentelemetry/sdk-metrics":"^2.8.0","@opentelemetry/sdk-trace-node":"^2.8.0","@cloudflare/vitest-pool-workers":"^0.16.15","@opentelemetry/instrumentation-http":"^0.219.0","@opentelemetry/instrumentation-pino":"^0.65.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.219.0","@opentelemetry/exporter-metrics-otlp-http":"^0.219.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.5_1781196672183_0.7942056445249983","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"@cyanheads/mcp-ts-core","version":"0.10.6","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"20e382354d6383be7bc31313d4931073a86f392d","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.6.tgz","fileCount":951,"integrity":"sha512-+gIIG0ab7m4g68d762RB7KEUmFoXETjfUOHCNGY8IeJxR9OJlH+8akt0Yi/WHDAAeta82Sk6rzaVGlsl8A2z8g==","signatures":[{"sig":"MEUCIQCqcBEc6tr9ezRmcOQDmQ6xfOHhY8kzvHByEufNAk8smQIgSO05gChJlrRMqY0uSdNIML6zw6pAl5IS5LUSzOaSkeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4392047},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"20e382354d6383be7bc31313d4931073a86f392d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-+gIIG0ab7m4g68d762RB7KEUmFoXETjfUOHCNGY8IeJxR9OJlH+8akt0Yi/WHDAAeta82Sk6rzaVGlsl8A2z8g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"yaml":"2.9.0","lodash":"4.18.1","flatted":"3.4.2","picomatch":"4.0.4","handlebars":"4.7.9","protobufjs":"8.3.0","path-to-regexp":"8.4.2","brace-expansion":"5.0.6"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.25","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.4","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.42.0","vitest":"^4.1.8","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.14.1","typedoc":"^0.28.19","defuddle":"^0.18.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.2.1","papaparse":"^5.5.3","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.8","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"25.9.3","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.4.16","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.10.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.3-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.108.1","@opentelemetry/sdk-node":"^0.219.0","@opentelemetry/resources":"^2.8.0","@cloudflare/workers-types":"4.20260611.1","@vitest/coverage-istanbul":"4.1.8","@opentelemetry/sdk-metrics":"^2.8.0","@opentelemetry/sdk-trace-node":"^2.8.0","@cloudflare/vitest-pool-workers":"^0.16.15","@opentelemetry/instrumentation-http":"^0.219.0","@opentelemetry/instrumentation-pino":"^0.65.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.219.0","@opentelemetry/exporter-metrics-otlp-http":"^0.219.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.6_1781209621872_0.4400513662083523","host":"s3://npm-registry-packages-npm-production"}},"0.10.7":{"name":"@cyanheads/mcp-ts-core","version":"0.10.7","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"d78a31de0a17487aaf6c1b0ab56abdd8ed059ac9","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.7.tgz","fileCount":952,"integrity":"sha512-DfDkauAP1GNv6EwvY++fcglbL2h6Ysy9CcsHPC9UirVKqp+jSWU69yQ9/I9PAN+z2D51La36MsIjTPkkKRTLOg==","signatures":[{"sig":"MEUCIQCuadfCMTEyRSNcVAhyMEvN4unK7cEkiiIXizjmL3uoOAIgII+A41FRzuZu5xPSI0j81QfF2kfqr7ioJTXWUJzRbu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4399928},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"d78a31de0a17487aaf6c1b0ab56abdd8ed059ac9","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-DfDkauAP1GNv6EwvY++fcglbL2h6Ysy9CcsHPC9UirVKqp+jSWU69yQ9/I9PAN+z2D51La36MsIjTPkkKRTLOg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"js-yaml":"^4.2.0"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.26","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.5","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.44.0","vitest":"^4.1.9","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.15.0","typedoc":"^0.28.19","defuddle":"^0.19.0","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.4.1","papaparse":"^5.5.4","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.9","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"26.0.0","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.5.0","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.9.3","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.108.2","@opentelemetry/sdk-node":"^0.219.0","@opentelemetry/resources":"^2.8.0","@cloudflare/workers-types":"4.20260619.1","@vitest/coverage-istanbul":"4.1.9","@opentelemetry/sdk-metrics":"^2.8.0","@opentelemetry/sdk-trace-node":"^2.8.0","@cloudflare/vitest-pool-workers":"^0.16.18","@opentelemetry/instrumentation-http":"^0.219.0","@opentelemetry/instrumentation-pino":"^0.65.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.219.0","@opentelemetry/exporter-metrics-otlp-http":"^0.219.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.7_1781904402798_0.6361925395974686","host":"s3://npm-registry-packages-npm-production"}},"0.10.8":{"name":"@cyanheads/mcp-ts-core","version":"0.10.8","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"953a716f99091186b3fb894005fa603a95ed2daa","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.8.tgz","fileCount":953,"integrity":"sha512-nSsnIJBLOZ4z3Fa9cSm+yzMXR6APOxsTMHBXE9knkBb8f/qAmwDGXbSLxPQL9PqtQeQ73SwWxWnleodpsyxw0Q==","signatures":[{"sig":"MEUCIQC8I+RWTt0swD5Ed3X6aavHFkMlixMDzx/vVjViqZRsVwIgQj1psOv3hcJQ5R/yN3QKGbix4fw1Xhl1XSBajYBmJYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4421754},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"953a716f99091186b3fb894005fa603a95ed2daa","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-nSsnIJBLOZ4z3Fa9cSm+yzMXR6APOxsTMHBXE9knkBb8f/qAmwDGXbSLxPQL9PqtQeQ73SwWxWnleodpsyxw0Q==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"js-yaml":"^4.2.0"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.26","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.5","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.44.0","vitest":"^4.1.9","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.15.0","typedoc":"^0.28.19","defuddle":"^0.19.0","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.4.1","papaparse":"^5.5.4","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.9","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"26.0.0","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.5.0","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.9.3","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.108.2","@opentelemetry/sdk-node":"^0.219.0","@opentelemetry/resources":"^2.8.0","@cloudflare/workers-types":"4.20260619.1","@vitest/coverage-istanbul":"4.1.9","@opentelemetry/sdk-metrics":"^2.8.0","@opentelemetry/sdk-trace-node":"^2.8.0","@cloudflare/vitest-pool-workers":"^0.16.18","@opentelemetry/instrumentation-http":"^0.219.0","@opentelemetry/instrumentation-pino":"^0.65.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.219.0","@opentelemetry/exporter-metrics-otlp-http":"^0.219.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.8_1781913377219_0.9972072357458226","host":"s3://npm-registry-packages-npm-production"}},"0.10.9":{"name":"@cyanheads/mcp-ts-core","version":"0.10.9","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"ef289540317e2ef12036165334a2f65e77b1ed0a","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.9.tgz","fileCount":955,"integrity":"sha512-8mekI5twrnnBkjfup1pWjqAX5O7FvOZshgex50eThwuZLKydpyUyTvwbLS2T2/S3d4G2eLZqMTab8OjWODiT+Q==","signatures":[{"sig":"MEYCIQC/ZFGlcFS6JzX0lVU9haeMEr+8Db3OHLOEVLSP/sHkYgIhAK+tKHP/Kkvu5Isa9Eho3VfOogT+TgupjHqcPYYpe6Z4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4470725},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"ef289540317e2ef12036165334a2f65e77b1ed0a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-8mekI5twrnnBkjfup1pWjqAX5O7FvOZshgex50eThwuZLKydpyUyTvwbLS2T2/S3d4G2eLZqMTab8OjWODiT+Q==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"resolutions":{"js-yaml":"^4.2.0"},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.26","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.5","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"diff":"^9.0.0","vite":"8.0.16","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.44.0","vitest":"^4.1.9","js-yaml":"^4.2.0","pdf-lib":"^1.17.1","repomix":"^1.15.0","typedoc":"^0.28.19","defuddle":"^0.19.0","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.4.1","papaparse":"^5.5.4","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.9","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"26.0.0","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.5.0","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.9.3","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.108.2","@opentelemetry/sdk-node":"^0.219.0","@opentelemetry/resources":"^2.8.0","@cloudflare/workers-types":"4.20260620.1","@vitest/coverage-istanbul":"4.1.9","@opentelemetry/sdk-metrics":"^2.8.0","@opentelemetry/sdk-trace-node":"^2.8.0","@cloudflare/vitest-pool-workers":"^0.16.18","@opentelemetry/instrumentation-http":"^0.219.0","@opentelemetry/instrumentation-pino":"^0.65.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.219.0","@opentelemetry/exporter-metrics-otlp-http":"^0.219.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^4.1.1","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.9_1781941915443_0.7216900681328264","host":"s3://npm-registry-packages-npm-production"}},"0.10.10":{"name":"@cyanheads/mcp-ts-core","version":"0.10.10","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"11cd0b8e04183c368eed141c5472390fad564553","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.10.tgz","fileCount":953,"integrity":"sha512-/P8u90miT8r+iPTiN2znDsmzqmRfya9SpdaO3LQ/XEJGB659OrGX5u2ml+RbNbT2fyZ3pd+ucjy9HYzfQLz2/A==","signatures":[{"sig":"MEYCIQDpJqn5c2NEWjvUtRLR8SEq9zobZeJqxFodh7vBNrMnqAIhAL4KM7Wam2dx8yIqXI79DiwCfTinT0UA7zJVkRQWicdB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4419368},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"11cd0b8e04183c368eed141c5472390fad564553","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-/P8u90miT8r+iPTiN2znDsmzqmRfya9SpdaO3LQ/XEJGB659OrGX5u2ml+RbNbT2fyZ3pd+ucjy9HYzfQLz2/A==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.27","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.6","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"diff":"^9.0.0","vite":"8.1.0","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.45.0","vitest":"^4.1.9","js-yaml":"^5.2.0","pdf-lib":"^1.17.1","repomix":"^1.16.0","typedoc":"^0.28.19","defuddle":"^0.19.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.5.0","papaparse":"^5.5.4","tsc-alias":"^1.8.17","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.9","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"26.0.1","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.5.1","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.9.3","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.109.0","@opentelemetry/sdk-node":"^0.219.0","@opentelemetry/resources":"^2.8.0","@cloudflare/workers-types":"4.20260630.1","@vitest/coverage-istanbul":"4.1.9","@opentelemetry/sdk-metrics":"^2.8.0","@opentelemetry/sdk-trace-node":"^2.8.0","@cloudflare/vitest-pool-workers":"^0.16.20","@opentelemetry/instrumentation-http":"^0.219.0","@opentelemetry/instrumentation-pino":"^0.65.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.219.0","@opentelemetry/exporter-metrics-otlp-http":"^0.219.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^5.2.0","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.10_1782811151802_0.736095895873655","host":"s3://npm-registry-packages-npm-production"}},"0.10.11":{"name":"@cyanheads/mcp-ts-core","version":"0.10.11","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"2fb6c90d968115e057bb9fedf3b0b8bc4f548b1e","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.11.tgz","fileCount":957,"integrity":"sha512-2UA0Gn/oNFVrqMJKsmALZfUVxjBjp2Tpv9TUJyhIORNVla48x+yLfovwTk+klMSPOzNM7Q8FddnzoGZdfuhIMw==","signatures":[{"sig":"MEYCIQCJ7b+k2CfpMwqjvAIo3jozZSMyTpxCdiTIvEf7JDZBogIhAJ42r804Igfq2EMwMEg7AJhSW1fa1tuHL3XLIJV+hWeX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4461032},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"2fb6c90d968115e057bb9fedf3b0b8bc4f548b1e","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-2UA0Gn/oNFVrqMJKsmALZfUVxjBjp2Tpv9TUJyhIORNVla48x+yLfovwTk+klMSPOzNM7Q8FddnzoGZdfuhIMw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.27","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.8","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"diff":"^9.0.0","vite":"8.1.3","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.45.0","vitest":"^4.1.9","js-yaml":"^5.2.1","pdf-lib":"^1.17.1","repomix":"^1.16.0","typedoc":"^0.28.19","defuddle":"^0.19.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.5.0","papaparse":"^5.5.4","tsc-alias":"^1.9.0","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.9","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"26.1.0","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.5.2","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.9.3","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.110.0","@opentelemetry/sdk-node":"^0.220.0","@opentelemetry/resources":"^2.9.0","@cloudflare/workers-types":"5.20260705.1","@vitest/coverage-istanbul":"4.1.9","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","@cloudflare/vitest-pool-workers":"^0.18.0","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^5.2.0","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.11_1783231153545_0.9761169057824544","host":"s3://npm-registry-packages-npm-production"}},"0.10.12":{"name":"@cyanheads/mcp-ts-core","version":"0.10.12","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-core#readme)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"e8216fdb6c8867b54a78be34a70311c473389517","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.12.tgz","fileCount":958,"integrity":"sha512-YcvLc5Avy6z+9vAhFtMt+HKNyBebSGX5UosuO58i7+D+YNRXSYeBsV05fV/1UpowYc0hZi4xW+hnEuwehOoPoQ==","signatures":[{"sig":"MEUCICYqYnkSXkT1ydq1hihjyHnWqE7pZn2FQ0NJ+Gt/DET0AiEAzcyWSuc2JXqSjFSqjltU3vJ7xPvTU3yEgVNhQM+wBRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4466611},"main":"dist/core/index.js","type":"module","types":"dist/core/index.d.ts","shasum":"e8216fdb6c8867b54a78be34a70311c473389517","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps"],"ignorePatterns":["examples"]},"_integrity":"sha512-YcvLc5Avy6z+9vAhFtMt+HKNyBebSGX5UosuO58i7+D+YNRXSYeBsV05fV/1UpowYc0hZi4xW+hnEuwehOoPoQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.27","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.8","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"diff":"^9.0.0","vite":"8.1.3","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.45.0","vitest":"^4.1.9","js-yaml":"^5.2.1","pdf-lib":"^1.17.1","repomix":"^1.16.0","typedoc":"^0.28.19","defuddle":"^0.19.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.5.0","papaparse":"^5.5.4","tsc-alias":"^1.9.0","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.9","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"26.1.0","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.5.2","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.9.3","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.110.0","@opentelemetry/sdk-node":"^0.220.0","@opentelemetry/resources":"^2.9.0","@cloudflare/workers-types":"5.20260705.1","@vitest/coverage-istanbul":"4.1.9","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","@cloudflare/vitest-pool-workers":"^0.18.0","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.41.1","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^5.2.0","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.12_1783241143144_0.0863996979781807","host":"s3://npm-registry-packages-npm-production"}},"0.10.13":{"name":"@cyanheads/mcp-ts-core","version":"0.10.13","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"cb0bc488cf1b4f85b714cf7a2e0984b1c9cf45da","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.13.tgz","fileCount":958,"integrity":"sha512-R2xUsMMuuXS61Sv628mZlcFYnTpzdRgD59mLx0K/0c7KaIhMhDq1iMTuzPdWZShbC8Fb62WzRYsEwe/7S1nOQg==","signatures":[{"sig":"MEQCIFwGkFegrXNNhgx04fuLc0xKTo6VxYLLgEaec3lTo6mbAiBNbDPTy93VhDnT9Pd5HHJ9iBTM9E9ED9zDsjn34Qa83w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4463744},"type":"module","shasum":"cb0bc488cf1b4f85b714cf7a2e0984b1c9cf45da","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"_integrity":"sha512-R2xUsMMuuXS61Sv628mZlcFYnTpzdRgD59mLx0K/0c7KaIhMhDq1iMTuzPdWZShbC8Fb62WzRYsEwe/7S1nOQg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.27","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.8","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.1.3","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.45.0","vitest":"^4.1.9","js-yaml":"^5.2.1","pdf-lib":"^1.17.1","repomix":"^1.16.0","typedoc":"^0.28.19","defuddle":"^0.19.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.5.0","papaparse":"^5.5.4","tsc-alias":"^1.9.0","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.9","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"26.1.0","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.5.2","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.9.3","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.110.0","@opentelemetry/sdk-node":"^0.220.0","@opentelemetry/resources":"^2.9.0","@cloudflare/workers-types":"5.20260705.1","@vitest/coverage-istanbul":"4.1.9","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","@cloudflare/vitest-pool-workers":"^0.18.0","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.41.1","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^5.2.0","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.13_1783274648436_0.9189143170114267","host":"s3://npm-registry-packages-npm-production"}},"0.10.14":{"name":"@cyanheads/mcp-ts-core","version":"0.10.14","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.14","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"588c26f18b4f6ba052878245e5b10c5be59bfbbc","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.14.tgz","fileCount":963,"integrity":"sha512-a/YF8lVKkqidq3poBhNRdSfyE/jml8XhNNu9Qz++vcskDZGDBMOm8a6lGMeGOrXE4LnwjQsv0MSH+TQ7Z3EuMg==","signatures":[{"sig":"MEYCIQDBotGl82hPrzWdUnmdXnmvPrrw2l59DnQjM1Rjv0TLRQIhAKh36PPNfAlYRTELM8RSVwm5rrH44GYgIq9NgCplFCOm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4478540},"type":"module","shasum":"588c26f18b4f6ba052878245e5b10c5be59bfbbc","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"_integrity":"sha512-a/YF8lVKkqidq3poBhNRdSfyE/jml8XhNNu9Qz++vcskDZGDBMOm8a6lGMeGOrXE4LnwjQsv0MSH+TQ7Z3EuMg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.27","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.0","@hono/node-server":"^2.0.8","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.1.3","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.5","openai":"^6.45.0","vitest":"^4.1.9","js-yaml":"^5.2.1","pdf-lib":"^1.17.1","repomix":"^1.16.0","typedoc":"^0.28.19","defuddle":"^0.19.1","depcheck":"^1.4.7","linkedom":"^0.18.12","bun-types":"^1.3.14","node-cron":"^4.5.0","papaparse":"^5.5.4","tsc-alias":"^1.9.0","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.9","clipboardy":"^5.3.1","fast-check":"^4.8.0","typescript":"^6.0.3","@types/node":"26.1.0","chrono-node":"^2.9.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.5","@biomejs/biome":"2.5.2","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.9.3","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.110.0","@opentelemetry/sdk-node":"^0.220.0","@opentelemetry/resources":"^2.9.0","@cloudflare/workers-types":"5.20260705.1","@vitest/coverage-istanbul":"4.1.9","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","@cloudflare/vitest-pool-workers":"^0.18.0","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.41.1","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^5.2.0","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.14_1783325248571_0.04161016911305637","host":"s3://npm-registry-packages-npm-production"}},"0.10.15":{"name":"@cyanheads/mcp-ts-core","version":"0.10.15","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.15","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"e1a63658d53535ab37a9d8ef77946789fc072ce4","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.15.tgz","fileCount":967,"integrity":"sha512-zlDnKpAlbxINwTN6nucYAeunOtoCwnxnHu3AMQhr3/TwPz2ON1pLW7+9R7Hg9d/hWeht5JBXTY1xTnFYn1tRxA==","signatures":[{"sig":"MEQCIFOQ/H8iliUZjHgMOXhc3g/htS05mMZ9/3WSZQlkrcMdAiB8sEoWDbrMy/jjBJAhDgTpdbQkGUNljfUGtk4rOVlmdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4521471},"type":"module","shasum":"e1a63658d53535ab37a9d8ef77946789fc072ce4","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"_integrity":"sha512-zlDnKpAlbxINwTN6nucYAeunOtoCwnxnHu3AMQhr3/TwPz2ON1pLW7+9R7Hg9d/hWeht5JBXTY1xTnFYn1tRxA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.30","jose":"^6.2.3","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.1","@hono/node-server":"^2.0.10","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.1.5","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.6","openai":"^6.46.0","vitest":"^4.1.10","js-yaml":"^5.2.1","pdf-lib":"^1.17.1","repomix":"^1.16.1","typedoc":"^0.28.20","defuddle":"^0.19.1","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.5.4","tsc-alias":"^1.9.1","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.1","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"26.1.1","chrono-node":"^2.10.0","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.6","@biomejs/biome":"2.5.4","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.110.6","@opentelemetry/sdk-node":"^0.220.0","@opentelemetry/resources":"^2.9.0","@cloudflare/workers-types":"5.20260706.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","@cloudflare/vitest-pool-workers":"^0.18.4","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^5.2.0","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.15_1784463848968_0.771923103486313","host":"s3://npm-registry-packages-npm-production"}},"0.10.16":{"name":"@cyanheads/mcp-ts-core","version":"0.10.16","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.16","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"95b86636b86ce44a045aa1fee64d1d50ff03bc13","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.16.tgz","fileCount":972,"integrity":"sha512-vyGQVC2JbmdKjiphcgNziuJvQWFuPatw/6D3Fc8dH+4cVK+z8VCqMTXDpHbNJviiJtFKJ3QmqWQU3ogPI6MV/A==","signatures":[{"sig":"MEUCIFJRZdPH+UCTX75E6r4WBqLa/T6WmpVyW8CSnXgaBk0IAiEAveJ4XdxuTxZtBbuEwliN4rK2AD5ObWjuINtPe87BE/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4540390},"type":"module","shasum":"95b86636b86ce44a045aa1fee64d1d50ff03bc13","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"_integrity":"sha512-vyGQVC2JbmdKjiphcgNziuJvQWFuPatw/6D3Fc8dH+4cVK+z8VCqMTXDpHbNJviiJtFKJ3QmqWQU3ogPI6MV/A==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.31","jose":"^6.2.4","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.1","@hono/node-server":"^2.0.11","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.1.5","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.6","openai":"^6.48.0","vitest":"^4.1.10","js-yaml":"^5.2.1","pdf-lib":"^1.17.1","repomix":"^1.17.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.5.4","tsc-alias":"^1.9.1","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.1","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"26.1.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.6","@biomejs/biome":"2.5.4","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.4-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.220.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260706.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.18.6","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^5.2.0","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.16_1785052891612_0.057951046427717534","host":"s3://npm-registry-packages-npm-production"}},"0.10.17":{"name":"@cyanheads/mcp-ts-core","version":"0.10.17","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.10.17","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"2deefeda2634d249597de62fa8363a25023fb8a6","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.10.17.tgz","fileCount":977,"integrity":"sha512-PlyUh7MT+LWtGSEmQ+R82duNnhgFYGsBK+g2B4lcJe6Skgf1WexAVsOntioPYWq1YAyO9NwG6XVXTESl0oEnBw==","signatures":[{"sig":"MEUCIQDxkEXLHJZKJzmfbu5xe1EfSstrljtcMHLBXdWNXJhvZgIgcVnKiQdQXqdbOeYYOCiwkwUjrdPJjqIhQEpqYRY7iTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4574776},"type":"module","shasum":"2deefeda2634d249597de62fa8363a25023fb8a6","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"_integrity":"sha512-PlyUh7MT+LWtGSEmQ+R82duNnhgFYGsBK+g2B4lcJe6Skgf1WexAVsOntioPYWq1YAyO9NwG6XVXTESl0oEnBw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.31","jose":"^6.2.4","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.1","@hono/node-server":"^2.0.11","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.1.5","execa":"^9.6.1","unpdf":"^1.6.2","ignore":"^7.0.6","openai":"^6.48.0","vitest":"^4.1.10","js-yaml":"^5.2.1","pdf-lib":"^1.17.1","repomix":"^1.17.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.5.4","tsc-alias":"^1.9.1","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.1","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"26.1.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.6","@biomejs/biome":"2.5.4","better-sqlite3":"^12.11.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.220.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260706.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.18.6","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.220.0","@opentelemetry/exporter-metrics-otlp-http":"^0.220.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.0","openai":"^6.34.0","vitest":">=4.0.0","js-yaml":"^5.2.0","pdf-lib":"^1.17.1","defuddle":"^0.18.1","linkedom":"^0.18.12","node-cron":"^4.2.1","papaparse":"^5.5.3","validator":"^13.15.35","@hono/otel":"^1.1.1","fast-check":"^4.0.0","chrono-node":"^2.9.0","partial-json":"^0.1.7","sanitize-html":"^2.17.4","better-sqlite3":"^12.0.0","fast-xml-parser":"^5.8.0","@duckdb/node-api":"^1.5.0","@supabase/supabase-js":"^2.103.3","@opentelemetry/sdk-node":"^0.215.0","@opentelemetry/resources":"^2.7.0","@opentelemetry/sdk-metrics":"^2.7.0","@opentelemetry/sdk-trace-node":"^2.7.0","@opentelemetry/instrumentation-http":"^0.215.0","@opentelemetry/instrumentation-pino":"^0.61.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.215.0","@opentelemetry/exporter-metrics-otlp-http":"^0.215.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.10.17_1785061297738_0.874436500197878","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@cyanheads/mcp-ts-core","version":"0.11.0","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.11.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"d931d7a03ea546c9011a5c756bfc8023cfe14654","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.11.0.tgz","fileCount":978,"integrity":"sha512-iKTsPBt0I4pvU3qXYLznKj7NkH9HQlColDEvSBETz0je5XsYQAtNijHB0AwtYBS8uuMtt+q31qNm6wjxeUHUMQ==","signatures":[{"sig":"MEYCIQDz4gMItGx/SsgzU0mpWuGkWBiZE/iFWUXpd/hFjUnXcwIhAOt3SUmjukQmjAa3Kkv+k9rKB44u50a2sOeH5kVacd1N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4581708},"type":"module","shasum":"d931d7a03ea546c9011a5c756bfc8023cfe14654","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","postcss":"^8.5.22","fast-uri":"^3.1.4","protobufjs":"^7.6.5","brace-expansion":"^2.1.2","@hono/node-server":"^2.0.11"},"_integrity":"sha512-iKTsPBt0I4pvU3qXYLznKj7NkH9HQlColDEvSBETz0je5XsYQAtNijHB0AwtYBS8uuMtt+q31qNm6wjxeUHUMQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.31","jose":"^6.2.4","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.1","@hono/node-server":"^2.0.11","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.1.5","execa":"^10.0.0","unpdf":"^1.6.2","ignore":"^7.0.6","openai":"^6.48.0","vitest":"^4.1.10","js-yaml":"^5.2.1","pdf-lib":"^1.17.1","repomix":"^1.17.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.5.4","tsc-alias":"^1.9.1","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.1","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.1.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.6","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.5","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260706.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.18.6","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.11.0_1785063897537_0.935398754841885","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@cyanheads/mcp-ts-core","version":"0.11.1","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.11.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"94c0a08d7f0144411f984c3326bb767ebe11feda","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.11.1.tgz","fileCount":982,"integrity":"sha512-SeR3usZ+an0wiBl6yK9L7C8yPzg2dJaeN903HwYHSSSXB2HRhE9g/w9p0CoKoryBhp5szS1WKn/yCqzHgKS+rA==","signatures":[{"sig":"MEYCIQDaLvLMWxx4q7iX1Aygp/RQTBSi5ETd7p/nuC57ge7N2AIhAOrKckDXUqVoXXzwFDIw1v70OrYuEV63tYF7b798K6Fv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4628806},"type":"module","shasum":"94c0a08d7f0144411f984c3326bb767ebe11feda","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","postcss":"^8.5.22","fast-uri":"^3.1.4","protobufjs":"^7.6.5","brace-expansion":"^2.1.3","@hono/node-server":"^2.0.11"},"_integrity":"sha512-SeR3usZ+an0wiBl6yK9L7C8yPzg2dJaeN903HwYHSSSXB2HRhE9g/w9p0CoKoryBhp5szS1WKn/yCqzHgKS+rA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.12.32","jose":"^6.2.5","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.1","@hono/node-server":"^2.0.12","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.30.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.2.0","execa":"^10.0.0","unpdf":"^1.8.0","ignore":"^7.0.6","openai":"^6.49.0","vitest":"^4.1.10","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","repomix":"^1.17.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.5.4","tsc-alias":"^1.9.1","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.1.2","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.6","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.6","better-sqlite3":"^13.0.2","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.2","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.111.0","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.19.1","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.11.1_1785693979276_0.832668242029722","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@cyanheads/mcp-ts-core","version":"0.11.2","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.11.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"f4e66cc93109814bb0f62746d3a95504d7b33975","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.11.2.tgz","fileCount":996,"integrity":"sha512-D7kS9PoGHT/5AITG4ZRSOGZTo6H/5P16u8NjcrCVK1X51zblP6jXZUPAoY+mONUyGymjdDWNqOczV5NO6IhrUg==","signatures":[{"sig":"MEQCICqg0t+ijVv6YYeUZwSbfGtDyU0wVmUFSTjBCDR8gaU8AiAA9WGKuyR4FWRRSrObgVwPjGWMYUN0H7+PKjzRZF6nAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4697532},"type":"module","shasum":"f4e66cc93109814bb0f62746d3a95504d7b33975","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","postcss":"^8.5.23","fast-uri":"^3.1.5","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-D7kS9PoGHT/5AITG4ZRSOGZTo6H/5P16u8NjcrCVK1X51zblP6jXZUPAoY+mONUyGymjdDWNqOczV5NO6IhrUg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.1","jose":"^6.2.8","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.1","@hono/node-server":"^2.1.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.30.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.2.0","execa":"^10.0.1","unpdf":"^1.8.0","ignore":"^7.0.6","openai":"^6.49.0","vitest":"^4.1.10","js-yaml":"^5.2.3","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.5.4","tsc-alias":"^1.9.1","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.1.2","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.6","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.6","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.2","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.19.1","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.11.2_1786345389146_0.0544333957221772","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"@cyanheads/mcp-ts-core","version":"0.11.3","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.11.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"08d2fd0fb3d089f5224a5e27356f5823872cd856","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.11.3.tgz","fileCount":1004,"integrity":"sha512-95ufDmzPiCb0WJTF7eqIS/zmwLAobE9gLFYjk+Rz583Nz66JazmeJn3WhUxEVbXq51qczp+ABobGH8mrQaMUAQ==","signatures":[{"sig":"MEYCIQDnzw7BCJM2LyRN9wINFK4iOMN9CBrg0G9aOGtkHR5QdwIhANdl+4IDRXl4wyoXzfR6lzREuD+sV0rJq76fKbq8Azx9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4768714},"type":"module","shasum":"08d2fd0fb3d089f5224a5e27356f5823872cd856","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","postcss":"^8.5.23","fast-uri":"^3.1.5","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-95ufDmzPiCb0WJTF7eqIS/zmwLAobE9gLFYjk+Rz583Nz66JazmeJn3WhUxEVbXq51qczp+ABobGH8mrQaMUAQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.1","jose":"^6.2.8","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.1","@hono/node-server":"^2.1.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.30.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.2.0","execa":"^10.0.1","unpdf":"^1.8.0","ignore":"^7.0.6","openai":"^6.49.0","vitest":"^4.1.10","js-yaml":"^5.2.3","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.5.4","tsc-alias":"^1.9.1","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.1.2","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.6","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.6","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.2","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.19.1","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.11.3_1786355721485_0.17028423656198166","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"@cyanheads/mcp-ts-core","version":"0.11.4","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.11.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"2e8d46243253143967fe2ad273f1591bc55952cd","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.11.4.tgz","fileCount":1002,"integrity":"sha512-+ZlAN9QyUMFFgnjoC4J7MO4t034dAsJF0SIVXPKBpxOiKekkqd2IwRjvYeUuUYY1XdU6mzYTwyQxRcQ/o96+bg==","signatures":[{"sig":"MEYCIQDxYd0F/8VSWyj7hdUKroGNZTYJMlZlMwAi62+WxyEFoAIhAMro1aik1ELOqjX8PlKLEc3M2Zp0G7JLXlmfnfJs47PL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4772238},"type":"module","shasum":"2e8d46243253143967fe2ad273f1591bc55952cd","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","postcss":"^8.5.23","fast-uri":"^3.1.5","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-+ZlAN9QyUMFFgnjoC4J7MO4t034dAsJF0SIVXPKBpxOiKekkqd2IwRjvYeUuUYY1XdU6mzYTwyQxRcQ/o96+bg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.1","jose":"^6.2.8","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.1","@hono/node-server":"^2.1.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.30.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.2.0","execa":"^10.0.1","unpdf":"^1.8.0","ignore":"^7.0.6","openai":"^6.49.0","vitest":"^4.1.10","js-yaml":"^5.2.3","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.5.4","tsc-alias":"^1.9.1","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.1.2","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.6","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.6","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.2","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.19.1","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.11.4_1786362115832_0.21533879418704305","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"@cyanheads/mcp-ts-core","version":"0.11.5","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.11.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"bb8802b423f4f0c3934bad64152be3182f281529","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.11.5.tgz","fileCount":1009,"integrity":"sha512-63Vuy0g9cahptgPJ+cgEgiQ2MPgawBpMvRBF07cHqo9WbNG/fZ9EPXHnMma0xBxUD6g9u1w21SOpplB3t/jODQ==","signatures":[{"sig":"MEYCIQCb+fyl5Rfi8o3ylbA+GFtUtCl7nvUJ3S71rdgfj8/rOwIhAOmASiJoRpUCtPzvAO/7CBcJunM9ElO7LAxUgbGLEhZi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4872961},"type":"module","shasum":"bb8802b423f4f0c3934bad64152be3182f281529","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tasks":{"types":"./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts","import":"./dist/mcp-server/tasks/utils/taskToolDefinition.js","default":"./dist/mcp-server/tasks/utils/taskToolDefinition.js"},"./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","postcss":"^8.5.23","fast-uri":"^3.1.5","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-63Vuy0g9cahptgPJ+cgEgiQ2MPgawBpMvRBF07cHqo9WbNG/fZ9EPXHnMma0xBxUD6g9u1w21SOpplB3t/jODQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.1","jose":"^6.2.8","pino":"^10.3.1","dotenv":"^17.4.2","@hono/mcp":"^0.3.1","@hono/node-server":"^2.1.0","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/sdk":"^1.30.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.2.0","execa":"^10.0.1","unpdf":"^1.8.0","ignore":"^7.0.6","openai":"^6.49.0","vitest":"^4.1.10","js-yaml":"^5.2.3","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.5.4","tsc-alias":"^1.9.1","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.1.2","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.6","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.6","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.3","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.2","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.19.1","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.11.5_1786587281664_0.4241439125370561","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@cyanheads/mcp-ts-core","version":"0.12.0","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"57fe8389d83d03067b7f51401d0395a06e519216","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.0.tgz","fileCount":990,"integrity":"sha512-ho+jxWjhDxGOzKbvalSqLKr/TDL8y6Gu3mGx1pOY0PDG6awTyC7v3DHVaZ+XusJJsZTScC+jPhd5k80ngx1L6g==","signatures":[{"sig":"MEYCIQCMNJs6h9WvgA+scBh5CIPHSNyUh5J/JENn39wyb7M1wgIhAODtnPIH89zuC868TsUEoyCnUEILdzlqo4IlwyDQX4AX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4772462},"type":"module","shasum":"57fe8389d83d03067b7f51401d0395a06e519216","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.5","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-ho+jxWjhDxGOzKbvalSqLKr/TDL8y6Gu3mGx1pOY0PDG6awTyC7v3DHVaZ+XusJJsZTScC+jPhd5k80ngx1L6g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.2","jose":"^6.2.9","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.2.1","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.6","openai":"^7.4.0","vitest":"^4.1.10","js-yaml":"^5.3.0","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.6.0","tsc-alias":"^1.9.2","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.2.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.8","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.0","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.3","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.21.3","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.0_1787221472002_0.22773750220173938","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@cyanheads/mcp-ts-core","version":"0.12.1","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"e543186474da914469d9a2bc413b5efc64ccb76d","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.1.tgz","fileCount":999,"integrity":"sha512-+LSNoz5BN4Kbh6T+13DJcld05TzLDxJdR6IGQLMrJb8esA+lCpOZQqTaL0/kgJhXx2Y8vEykQYRNbkKx8x7uyA==","signatures":[{"sig":"MEQCIB4f29CJwqOpAc4iR3gV7FfMgQfYwyMIisiOB2yZfO6nAiBVoJhTINU6NKIrSxeEJOHAzKvWco7Z7oTiSYr+Y+ZALQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4837652},"type":"module","shasum":"e543186474da914469d9a2bc413b5efc64ccb76d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.5","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-+LSNoz5BN4Kbh6T+13DJcld05TzLDxJdR6IGQLMrJb8esA+lCpOZQqTaL0/kgJhXx2Y8vEykQYRNbkKx8x7uyA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.2","jose":"^6.2.9","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.2.1","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.6","openai":"^7.4.0","vitest":"^4.1.10","js-yaml":"^5.3.0","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.6.0","tsc-alias":"^1.9.2","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.2.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.8","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.0","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.3","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.21.3","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.1_1787249264633_0.8813302528708691","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@cyanheads/mcp-ts-core","version":"0.12.2","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"ca583e0f78acea9291e2f8806d34ea8fd95578b1","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.2.tgz","fileCount":1008,"integrity":"sha512-gNP3uW/rKk/5sRGdGNA6ruFvwtt+m4ATwtZmwp7RrO84YJ7WT3RRU2Ub/3d8lzhd3aLPNNs+GZemnR09ZQHxmw==","signatures":[{"sig":"MEQCICZr0E7IA32vTru/uvuFex20vNQw6g675EvbpDM4upXQAiA7Q6oJ3Rg1hXpYE9I2vrhrUuDJSBSkwZC99CfOSsjn8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4891851},"type":"module","shasum":"ca583e0f78acea9291e2f8806d34ea8fd95578b1","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.5","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-gNP3uW/rKk/5sRGdGNA6ruFvwtt+m4ATwtZmwp7RrO84YJ7WT3RRU2Ub/3d8lzhd3aLPNNs+GZemnR09ZQHxmw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.2","jose":"^6.2.9","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"diff":"^9.0.0","vite":"8.2.1","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.6","openai":"^7.5.0","vitest":"^4.1.10","js-yaml":"^5.3.0","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.6.0","tsc-alias":"^1.9.2","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.2.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.8","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.0","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.3","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.21.3","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.2_1787257498401_0.8237319817258248","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@cyanheads/mcp-ts-core","version":"0.12.3","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"eeef040294e40f858420929d3f26f1b3b789b85f","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.3.tgz","fileCount":1006,"integrity":"sha512-Gi5diChfEU2I48RQg33A/WTMht0jsNcotQlavTQC+Of2zgY1xBBr3f/Ym3/I+WO7x8GK/r6n+mPMZZRySdv67w==","signatures":[{"sig":"MEYCIQDcUoa4zuYU1pnndKweRDwOkpFjQ5SsvO/n6NKdHGRJ0QIhAKihJOOHG9D/IoiWqZxO2sRAEwiEqkwaa4oXBv8tUCCT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4890149},"type":"module","shasum":"eeef040294e40f858420929d3f26f1b3b789b85f","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.5","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-Gi5diChfEU2I48RQg33A/WTMht0jsNcotQlavTQC+Of2zgY1xBBr3f/Ym3/I+WO7x8GK/r6n+mPMZZRySdv67w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","hono":"^4.13.2","jose":"^6.2.9","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.2.1","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.6","openai":"^7.5.0","vitest":"^4.1.10","js-yaml":"^5.3.0","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.2","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.3.14","node-cron":"^4.6.0","papaparse":"^5.6.0","tsc-alias":"^1.9.2","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.3.14","@vitest/ui":"4.1.10","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.2.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.8","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.0","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.3","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.10","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.21.3","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.3_1787298723656_0.8430903365011104","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"@cyanheads/mcp-ts-core","version":"0.12.4","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"29f336e7aceaf3253a42e92fa83932eb83748b86","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.4.tgz","fileCount":1007,"integrity":"sha512-4LbuAt0s+bUnIz4qMrKCOFI8vcqZjXkUopA6eftHoxdJbAsk1AhmUbGIuUrIsSrjnQBDJL7FG1uPrzjFylO0NQ==","signatures":[{"sig":"MEUCIQDgB9IMRQHMmMZgbPaquM/9Niw9k2p7eK5GUdhySBO3DAIgcNeGMYXqDZrcu38qVfkj+9SoxkFdvNeochlPrwtNskw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4909016},"type":"module","shasum":"29f336e7aceaf3253a42e92fa83932eb83748b86","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-4LbuAt0s+bUnIz4qMrKCOFI8vcqZjXkUopA6eftHoxdJbAsk1AhmUbGIuUrIsSrjnQBDJL7FG1uPrzjFylO0NQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","hono":"^4.13.5","jose":"^6.2.10","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.2.2","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.7","openai":"^7.8.0","vitest":"^4.1.11","js-yaml":"^5.4.1","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.0","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.2","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.0","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.4.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.11","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.4","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.4_1788387577770_0.9656997721504161","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"@cyanheads/mcp-ts-core","version":"0.12.5","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"0a6c090b1854c71b3e87cde719272dff8c7cc5e6","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.5.tgz","fileCount":1013,"integrity":"sha512-fmGqdexKIW3VOqu9VKLZykXFOnkFAGi707DVBxX7h+ilzfj0UTjDGO+uNnvOtcrnUiIhHm7JiScR7UhZcfQYEw==","signatures":[{"sig":"MEUCIHtthgNH8ija+SzZVQcln0A7L3lsLxzrhnuPxvg6vQp1AiEAwkHBYnQpcivw4dd/w73g8LFIteGuk37km7jVUeb+HNI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4932206},"type":"module","shasum":"0a6c090b1854c71b3e87cde719272dff8c7cc5e6","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run && \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.integration.ts'","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bunx vitest run --detect-async-leaks","test:order":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions'","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'","test:package":"bun run rebuild && bunx vitest run --config vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-fmGqdexKIW3VOqu9VKLZykXFOnkFAGi707DVBxX7h+ilzfj0UTjDGO+uNnvOtcrnUiIhHm7JiScR7UhZcfQYEw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","hono":"^4.13.5","jose":"^6.2.10","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.2.2","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.7","openai":"^7.8.0","vitest":"^4.1.11","js-yaml":"^5.4.1","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.0","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.2","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.0","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.4.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.11","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.4","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.5_1788392563357_0.012040345764027238","host":"s3://npm-registry-packages-npm-production"}},"0.12.6":{"name":"@cyanheads/mcp-ts-core","version":"0.12.6","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"6a6aa8b522e2ed6d1350e5b3d0e104b20cde4a7c","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.6.tgz","fileCount":1014,"integrity":"sha512-oCdiVqlcyhbhZLI7R97TcHKDRlqnPuhDILiTU205QCKqjV/BDmoZHFzCYq1TEaBjq6MEbp8ICmTiO1/l/o6u/g==","signatures":[{"sig":"MEYCIQDRqnoXbseI8S/QtGHnVC+qxOB2jnKaV1xjauRxOWYlhAIhANMSeQdszzVdtF5u65Fn1/bNQi4SRxQXTNNGiQDpmVaY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4943444},"type":"module","shasum":"6a6aa8b522e2ed6d1350e5b3d0e104b20cde4a7c","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-oCdiVqlcyhbhZLI7R97TcHKDRlqnPuhDILiTU205QCKqjV/BDmoZHFzCYq1TEaBjq6MEbp8ICmTiO1/l/o6u/g==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","hono":"^4.13.5","jose":"^6.2.10","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.2.2","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.7","openai":"^7.8.0","vitest":"^4.1.11","js-yaml":"^5.4.1","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.0","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.2","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.0","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.4.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.11","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.112.4","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260730.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.67.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.221.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.221.0","@opentelemetry/instrumentation-pino":"^0.66.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.221.0","@opentelemetry/exporter-metrics-otlp-http":"^0.221.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.6_1788678979315_0.8566430839164338","host":"s3://npm-registry-packages-npm-production"}},"0.12.7":{"name":"@cyanheads/mcp-ts-core","version":"0.12.7","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"0d5108a5dd25ac6e3dc01812906b728e226bf81d","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.7.tgz","fileCount":1019,"integrity":"sha512-T30RSmmFRbOUYc1BAhs3tDKOtUkuxsKStFmoHyunIpUJAvNa1w9oHbKsTpo7A0Am1N7cZzwyWoOxyebZ0hSPxw==","signatures":[{"sig":"MEUCIFaVZAGMJfoAtQDoAjjrPJ3hb8sxASVrWavWogt4ODMyAiEAip+CP8Sa3Kj2HQWJv0qtSPBiMQmxZPGJd1uACcrANEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4977873},"type":"module","shasum":"0d5108a5dd25ac6e3dc01812906b728e226bf81d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-T30RSmmFRbOUYc1BAhs3tDKOtUkuxsKStFmoHyunIpUJAvNa1w9oHbKsTpo7A0Am1N7cZzwyWoOxyebZ0hSPxw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","hono":"^4.13.7","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.2.2","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.7","openai":"^7.10.0","vitest":"^4.1.11","js-yaml":"^5.4.1","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.2","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.1","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.4.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.12","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.115.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@cloudflare/workers-types":"5.20260905.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.7_1788865262359_0.9961581846068763","host":"s3://npm-registry-packages-npm-production"}},"0.12.8":{"name":"@cyanheads/mcp-ts-core","version":"0.12.8","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"c4dd490bd1dc6ed75466b27b4ccbc77cac771fac","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.8.tgz","fileCount":1025,"integrity":"sha512-koV5qSfkWgYr5YYivIcmMRqkf9Guwdik7t6eTNCM70Cm4FhgIO59NXgBKSFvs9b7LWmWaHKwj+QpYDLT9uM7Sg==","signatures":[{"sig":"MEQCIDFk4cf7Sa/aw44h+OPQzOWjlcWQ4+IVbINPDH0ZyBFOAiBlW+wjeDyXVABEmxjUZ5OxWmhs37Tf4ErxpbDUEtd6Xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4978218},"type":"module","shasum":"c4dd490bd1dc6ed75466b27b4ccbc77cac771fac","engines":{"bun":">=1.3.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-koV5qSfkWgYr5YYivIcmMRqkf9Guwdik7t6eTNCM70Cm4FhgIO59NXgBKSFvs9b7LWmWaHKwj+QpYDLT9uM7Sg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","hono":"^4.13.7","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.2.2","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.8","openai":"^7.10.0","vitest":"^4.1.11","js-yaml":"^5.4.1","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.4","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.1","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.4.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.12","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.115.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260905.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.8_1788948575367_0.44951504287108346","host":"s3://npm-registry-packages-npm-production"}},"0.12.9":{"name":"@cyanheads/mcp-ts-core","version":"0.12.9","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.12.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"10ec749b8620de9c31c7f25957e20804d339d355","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.12.9.tgz","fileCount":1026,"integrity":"sha512-IO/ODIXSah8fE/fODCFHI14siVuN4oP5WSCsJNu3/aJDQ6bJDZLUiBbNcbXWX3VAP7L/2tJY1oVq7dHukhmXgg==","signatures":[{"sig":"MEUCICL6P+uB43cESAD5myXQV7aMAh5gIDWT+q2nRLNuva1OAiEA//8ZvSvYs3ysxooiEIMtRbKuBZnoyRVTOJjkTeta+vU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCI9LmmHp9tYnVZyacrK64vtvI0Wz7+AQ7/flwuenXDoQIgbHGI3t/HSp0qmunOmktQifWk19u5YnehDvrle/uMOWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4996758},"type":"module","shasum":"10ec749b8620de9c31c7f25957e20804d339d355","engines":{"bun":">=1.4.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit --fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-IO/ODIXSah8fE/fODCFHI14siVuN4oP5WSCsJNu3/aJDQ6bJDZLUiBbNcbXWX3VAP7L/2tJY1oVq7dHukhmXgg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.0","hono":"^4.13.7","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.2.2","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.9","openai":"^7.10.0","vitest":"^4.1.11","js-yaml":"^5.4.1","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.4","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.2","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.4.0","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.12","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.116.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260905.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.12.9_1789247565211_0.45174282081759065","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@cyanheads/mcp-ts-core","version":"0.13.0","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.13.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"92acf6297f4c882c37a5f7944029d7d7a5ba74d0","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.13.0.tgz","fileCount":1031,"integrity":"sha512-1qehbPpo1UhB2OkLKVsUzLIZdFJlq3mNCy6l0X6RGiDU1M3viAl+K8KtPxK/JLsua5kPkTLuP7MoFl1XT4gSRg==","signatures":[{"sig":"MEYCIQDi2gnHXYtPQRBKIztw1fPd3CaNFhItdLbDKN+5t+SPAwIhANJYniznw6+GpvToFxeAw1tF1ygQYmTWkc2Nk6xKoQCF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBLAbzfDPL2O+IfCXx3MvNX8cwDn57CPbJaLlRfTbfn0AiB6kyfw4ng5e+LTzhNexrI/l3TMc3qnfkiR45BeJFnUMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5031440},"type":"module","shasum":"92acf6297f4c882c37a5f7944029d7d7a5ba74d0","engines":{"bun":">=1.4.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-1qehbPpo1UhB2OkLKVsUzLIZdFJlq3mNCy6l0X6RGiDU1M3viAl+K8KtPxK/JLsua5kPkTLuP7MoFl1XT4gSRg==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.1","hono":"^4.13.7","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.3.0","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.9","openai":"^7.10.0","vitest":"^4.1.11","js-yaml":"^5.4.1","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.4","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.2","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.5.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.13","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.116.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260910.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.13.0_1789320305867_0.7013791114032188","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@cyanheads/mcp-ts-core","version":"0.13.1","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.13.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"ceeb445ce5314adabeb66c3bcde28b2e5ca19337","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.13.1.tgz","fileCount":1032,"integrity":"sha512-HtNzClWMxiZ1v8ABXzdGzUmb77imZG6PLgq+zT4uELHdyRe70lvvG8qKvDTmDXY5obHT+zHqYi+W7Q892AEr4w==","signatures":[{"sig":"MEUCIQDU3kBM9z7TMB/PA3ppP1d42DI5xwxsrPh3uugfTshObgIgCqkrCFK7ChiQXNu0WA0i0Zm1a3Y5Vnlkt79jrO3e2bE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC0B2gVwccNjle+0Zhpjm6bOgH8a3cECpmdTBHprFk+1wIhANdck9v22sZUJybgA1P7OrcARUJF42oYTInKD/XXDo92","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5079215},"type":"module","shasum":"ceeb445ce5314adabeb66c3bcde28b2e5ca19337","engines":{"bun":">=1.4.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./config/tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project config/tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project config/tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-HtNzClWMxiZ1v8ABXzdGzUmb77imZG6PLgq+zT4uELHdyRe70lvvG8qKvDTmDXY5obHT+zHqYi+W7Q892AEr4w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.1","hono":"^4.13.7","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.3.0","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.9","openai":"^7.15.0","vitest":"^4.1.11","js-yaml":"^5.4.1","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.4","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.2","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.5.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.13","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.116.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260910.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.13.1_1789335923054_0.8509408767818294","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@cyanheads/mcp-ts-core","version":"0.13.2","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.13.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"edadc13c05ab631684acc9d79902e51328d03843","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.13.2.tgz","fileCount":1033,"integrity":"sha512-Uv3Ngk5PEdV4/F0bqYeJBGKl0fPCYNv0ao8FyKCg5NpZqXIgMFXP1qdZWRFJX0BHuP+dzEZzq1ZhelOllKGHtw==","signatures":[{"sig":"MEUCIQDy9UIR/gQke8n5T2vLkheiB50MlV5btwIiFOqoSWQLIwIgccpa2cQ18DyPkCOmcwx6n3XZdUSqNh1wc3A4HyIRKUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFGrl0qN2BJ9xiJUfqTdutox9T/y6BtGSfnH1PKHHOxiAiEA9dg/XhySMnv9YETjUrLZkzxADmi7vf+u7gD5h+UNf+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5097320},"type":"module","shasum":"edadc13c05ab631684acc9d79902e51328d03843","engines":{"bun":">=1.4.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./config/tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project config/tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project config/tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-Uv3Ngk5PEdV4/F0bqYeJBGKl0fPCYNv0ao8FyKCg5NpZqXIgMFXP1qdZWRFJX0BHuP+dzEZzq1ZhelOllKGHtw==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.2","hono":"^4.13.7","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.3.0","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.9","openai":"^7.15.0","vitest":"^4.1.11","js-yaml":"^5.4.1","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.4","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.2","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.9.0","typescript":"^7.0.2","@types/node":"26.5.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.13","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.4","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.116.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260910.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.13.2_1789353552164_0.7973989508286063","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"@cyanheads/mcp-ts-core","version":"0.13.3","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.13.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"8346c991fc71f3c828d073906015779aa04e2938","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.13.3.tgz","fileCount":1035,"integrity":"sha512-6V+Y5P4Wsn+DkdFnUqleYPlO+2MHjM20N+4zDCmTb07bDmPvuaH8NOTAyay6/UZbeaZ8IthAOJVuhDjpYdCEZQ==","signatures":[{"sig":"MEQCIH7e4vQVck78V2PxB9n0KpkRP2udY80+5UCQ/BJyR4opAiBQT7cgqGLu07JOHq7IEUUwKHvkFCB5oxUk9q0Ug7n1Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQClKUtNgDsxxwAWW1/9pl3NwRoWcVKEsXYHVLa0daJvdgIhANAabHj/FVRb9YOjhwcEM2dKLnOSuW/HIvRXrPL7RsKt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5128740},"type":"module","shasum":"8346c991fc71f3c828d073906015779aa04e2938","engines":{"bun":">=1.4.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./config/tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project config/tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project config/tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-6V+Y5P4Wsn+DkdFnUqleYPlO+2MHjM20N+4zDCmTb07bDmPvuaH8NOTAyay6/UZbeaZ8IthAOJVuhDjpYdCEZQ==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","hono":"^4.13.7","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.3.0","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.9","openai":"^7.15.0","vitest":"^4.1.11","js-yaml":"^5.4.2","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.5","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.2","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.10.0","typescript":"^7.0.2","@types/node":"26.5.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.13","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.5","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.116.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260910.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.13.3_1789660308505_0.8835127318313318","host":"s3://npm-registry-packages-npm-production"}},"0.13.4":{"name":"@cyanheads/mcp-ts-core","version":"0.13.4","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.13.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"58fb08dfdaf036bb60964996217a47f9f9c2723d","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.13.4.tgz","fileCount":1048,"integrity":"sha512-jah0BrFLLAWMggUUFhzkOcWPbjzNrnCxj7BQ7BgrvzNve/uySAU5gEmg5K7/P9LyS3a3RMl7hvFGn4CnEWwlTA==","signatures":[{"sig":"MEUCIBlQPjcu062bQFDj3kVnXbGCDhrPiR3cWJzk3/8fOgjCAiEAsi/CNuP2lycpxfE3umi4TlUZQ67XeNw4GOI/eLbsQjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCZsSYppICZVZhFtBz/11J3pDyaFTmIvH/Y1meBGcty0gIgNYCQEQv/TJwx/QFLXCBhp93es+Low2g4g3cL2ep+YOA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5305836},"type":"module","shasum":"58fb08dfdaf036bb60964996217a47f9f9c2723d","engines":{"bun":">=1.4.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./config/tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project config/tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project config/tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-jah0BrFLLAWMggUUFhzkOcWPbjzNrnCxj7BQ7BgrvzNve/uySAU5gEmg5K7/P9LyS3a3RMl7hvFGn4CnEWwlTA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","hono":"^4.13.8","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.3.0","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.9","openai":"^7.15.0","vitest":"^4.1.11","js-yaml":"^5.4.2","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.5","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.2","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.10.0","typescript":"^7.0.2","@types/node":"26.5.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.13","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.5","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.116.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260910.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.13.4_1789728794351_0.40720460742666575","host":"s3://npm-registry-packages-npm-production"}},"0.13.5":{"name":"@cyanheads/mcp-ts-core","version":"0.13.5","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.13.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"328e931306b8f5d5e2b0ec992249a98a4b25a8af","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.13.5.tgz","fileCount":1049,"integrity":"sha512-N62uKp+mNi4m0+8zYPDsNWDTSZrXTi+VAe7y0q2FeyQASDxmxNpaIaINxURpMVmN1o++gMsBA6q9TxEqKZbhoA==","signatures":[{"sig":"MEUCIQCLHEjoT3WecTfN0M4TBnI5mJMHj+3wbvt130DMxPfxLwIgQnhREodHlMcu05euIp/mi10z3nGdt1WRF3kq2xTRYCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIELPTkCVFFqqFxVrTnzPKHmFiii+2BZ0ln7Vq1XPwNvWAiBYqF99vohWGtJhfcr1BNAy6H9YH9ijJoMeMW/eU8eEMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5385410},"type":"module","shasum":"328e931306b8f5d5e2b0ec992249a98a4b25a8af","engines":{"bun":">=1.4.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./config/tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project config/tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project config/tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-N62uKp+mNi4m0+8zYPDsNWDTSZrXTi+VAe7y0q2FeyQASDxmxNpaIaINxURpMVmN1o++gMsBA6q9TxEqKZbhoA==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","hono":"^4.13.8","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.3.0","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.9","openai":"^7.15.0","vitest":"^4.1.11","js-yaml":"^5.4.2","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.5","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.2","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.10.0","typescript":"^7.0.2","@types/node":"26.5.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.13","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.5","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.116.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260910.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.13.5_1789759521922_0.08879211096764017","host":"s3://npm-registry-packages-npm-production"}},"0.13.6":{"name":"@cyanheads/mcp-ts-core","version":"0.13.6","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/mcp-ts-core@0.13.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"bin":{"mcp-ts-core":"dist/cli/init.js"},"dist":{"shasum":"7d5753b90474c53974ba0072a2c1924fcd6a71bb","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.13.6.tgz","fileCount":1050,"integrity":"sha512-LytKTQ9FHEEj+qVUTBS3Ll2MsWh2yFVky81IXLB0N4+afg28gCh5iIFrtlJ9InsRSdwYY8mgJfigCJoxW/Ne8w==","signatures":[{"sig":"MEUCIQD6AEcpK1AZZZuxspWKj454r54cMeRB/ClCcj5XFj2PiwIgTs+/duE3qli4aqi7xBYrNKUr5Xn+1wMbEC13V3drqV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDONsBlnB6mpUs6OitKWFHto7Ss5ZHw4mcEAo1V13xZ6QIgcDna5GteBp9nwHOLDyML1IAqTMBGEZmjL19ikb7cpns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5423351},"type":"module","shasum":"7d5753b90474c53974ba0072a2c1924fcd6a71bb","engines":{"bun":">=1.4.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./config/tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","depcheck":"bunx depcheck","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project config/tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project config/tsconfig.scripts.json --noEmit"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"depcheck":{"ignores":["bun","repomix","tsc-alias","@cyanheads/mcp-ts-core","@modelcontextprotocol/ext-apps","@socketsecurity/bun-security-scanner"],"ignorePatterns":["examples"]},"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-LytKTQ9FHEEj+qVUTBS3Ll2MsWh2yFVky81IXLB0N4+afg28gCh5iIFrtlJ9InsRSdwYY8mgJfigCJoxW/Ne8w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","hono":"^4.13.8","jose":"^6.2.12","pino":"^10.3.1","dotenv":"^17.4.2","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/client":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/ext-apps":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"diff":"^9.0.0","vite":"8.3.0","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.9","openai":"^7.15.0","vitest":"^4.1.11","js-yaml":"^5.4.2","pdf-lib":"^1.17.1","repomix":"^1.18.0","typedoc":"^0.28.20","defuddle":"^0.19.3","depcheck":"^1.4.7","linkedom":"^0.18.13","bun-types":"^1.4.2","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.5","validator":"^13.15.35","@hono/otel":"^1.1.2","@types/bun":"^1.4.2","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.10.1","typescript":"^7.0.2","@types/node":"26.5.1","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.14","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.5","@types/papaparse":"^5.5.2","@types/validator":"^13.15.10","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.116.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260910.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.2","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.4.3","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","validator":"^13.15.35","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"validator":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mcp-ts-core_0.13.6_1789827763196_0.5294548003668158","host":"s3://npm-registry-packages-npm-production"}},"0.13.7":{"_id":"@cyanheads/mcp-ts-core@0.13.7","bin":{"mcp-ts-core":"dist/cli/init.js"},"bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"dist":{"shasum":"92f7a9703d0cafe5957b1d32ca830f3e95d7bc36","tarball":"https://registry.npmjs.org/@cyanheads/mcp-ts-core/-/mcp-ts-core-0.13.7.tgz","fileCount":1047,"integrity":"sha512-TKhqf8fWs+oHJrW0MgiL6hBIpQZoh0XbbjAsS+y7NVYEMLfyK5NMKas5+LuKEDi35iKcnwKIsv7xwJ2jJX7O0w==","signatures":[{"sig":"MEYCIQDKCulnVW3O0hdQL/JwEDXLmb6dsIZXrWoUGTD4ArtbMAIhAPcgqsAVvWPal5XhbI/M6J2ZnC+uLRZ6n6sTktL59jxG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDNovMotZS75MMEQfA6r6oKP+HVd9rK21T+V4r7Q38diQIhANy7K91itLPYeXlZv9ouOyJAvw2domeltu4ZADTd3p5I"}],"unpackedSize":5492339},"name":"@cyanheads/mcp-ts-core","type":"module","author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","shasum":"92f7a9703d0cafe5957b1d32ca830f3e95d7bc36","engines":{"bun":">=1.4.0","node":">=24.0.0"},"exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","default":"./dist/core/index.js"},"./auth":{"types":"./dist/mcp-server/transports/auth/lib/checkScopes.d.ts","import":"./dist/mcp-server/transports/auth/lib/checkScopes.js","default":"./dist/mcp-server/transports/auth/lib/checkScopes.js"},"./biome":"./biome.json","./tools":{"types":"./dist/mcp-server/tools/utils/toolDefinition.d.ts","import":"./dist/mcp-server/tools/utils/toolDefinition.js","default":"./dist/mcp-server/tools/utils/toolDefinition.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","default":"./dist/utils/index.js"},"./canvas":{"types":"./dist/services/canvas/index.d.ts","import":"./dist/services/canvas/index.js","default":"./dist/services/canvas/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"},"./errors":{"types":"./dist/types-global/errors.d.ts","import":"./dist/types-global/errors.js","default":"./dist/types-global/errors.js"},"./linter":{"types":"./dist/linter/index.d.ts","import":"./dist/linter/index.js","default":"./dist/linter/index.js"},"./mirror":{"types":"./dist/services/mirror/index.d.ts","import":"./dist/services/mirror/index.js","default":"./dist/services/mirror/index.js"},"./worker":{"types":"./dist/core/worker.d.ts","import":"./dist/core/worker.js","default":"./dist/core/worker.js"},"./prompts":{"types":"./dist/mcp-server/prompts/utils/promptDefinition.d.ts","import":"./dist/mcp-server/prompts/utils/promptDefinition.js","default":"./dist/mcp-server/prompts/utils/promptDefinition.js"},"./storage":{"types":"./dist/storage/core/StorageService.d.ts","import":"./dist/storage/core/StorageService.js","default":"./dist/storage/core/StorageService.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","default":"./dist/testing/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js","default":"./dist/services/index.js"},"./resources":{"types":"./dist/mcp-server/resources/utils/resourceDefinition.d.ts","import":"./dist/mcp-server/resources/utils/resourceDefinition.js","default":"./dist/mcp-server/resources/utils/resourceDefinition.js"},"./package.json":"./package.json","./testing/fuzz":{"types":"./dist/testing/fuzz.d.ts","import":"./dist/testing/fuzz.js","default":"./dist/testing/fuzz.js"},"./storage/types":{"types":"./dist/storage/core/IStorageProvider.d.ts","import":"./dist/storage/core/IStorageProvider.js","default":"./dist/storage/core/IStorageProvider.js"},"./vitest.config":"./vitest.config.base.mjs","./testing/vitest":{"types":"./dist/testing/vitest.d.ts","import":"./dist/testing/vitest.js","default":"./dist/testing/vitest.js"},"./tsconfig.base.json":"./config/tsconfig.base.json"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"license":"Apache-2.0","mcpName":"io.github.cyanheads/mcp-ts-core","scripts":{"lint":"biome check","test":"bunx vitest run","tree":"bun run scripts/tree.ts","audit":"bun audit","bench":"bunx vitest bench --run --config tests/config/vitest.benchmark.ts","build":"bun run scripts/build.ts","start":"bun ./dist/index.js","format":"biome check --write .","devdocs":"bun run scripts/devdocs.ts","prepare":"git config core.hooksPath .husky || exit 0","rebuild":"bun run scripts/clean.ts && bun run build","test:ui":"bunx vitest --ui","bench:io":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.performance.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","test:all":"bun run rebuild && bun run test:coverage && bun run test:node && bun run test:worker && bun run test:integration","audit:fix":"bun audit fix","test:fuzz":"bunx vitest run --project fuzz","test:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.integration.ts","test:unit":"bunx vitest run --project unit","typecheck":"bunx tsc --noEmit","bench:node":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs bench --run --config tests/config/vitest.benchmark.ts","deploy:dev":"MCP_TRANSPORT_TYPE=http bunx wrangler dev","fetch-spec":"bun run scripts/fetch-openapi-spec.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","test:leaks":"bun run tests/leaks/run.ts","test:order":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --sequence.shuffle --sequence.seed=20260809 --expect.requireAssertions","test:smoke":"bunx vitest run --project smoke","deploy:prod":"MCP_TRANSPORT_TYPE=http bunx wrangler deploy","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","test:worker":"bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker.ts && bun run scripts/with-node.ts ./node_modules/vitest/vitest.mjs run --config tests/config/vitest.worker-bundle.ts","bench:io:bun":"bunx vitest run --config tests/config/vitest.performance.ts --project http --project native","test:package":"bun run rebuild && bunx vitest run --config tests/config/vitest.package.ts","audit:refresh":"rm -f bun.lock && bun install && bun audit","docs:generate":"bunx typedoc","format:unsafe":"biome check --write --unsafe .","test:coverage":"bunx vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","test:leak-gate":"bunx vitest run --project leak-gate","test:typecheck":"bunx vitest run --project typecheck","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","test:compliance":"bunx vitest run --project compliance","test:integration":"bunx vitest run --config tests/config/vitest.integration.ts","typecheck:worker":"bunx tsc --project config/tsconfig.worker.json --noEmit","typecheck:scripts":"bunx tsc --project config/tsconfig.scripts.json --noEmit"},"version":"0.13.7","_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"homepage":"https://github.com/cyanheads/mcp-ts-core#readme","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"overrides":{"sharp":"^0.35.3","nanoid":"^3.3.18","postcss":"^8.5.23","fast-uri":"^3.1.6","ip-address":"^10.3.1","protobufjs":"^7.6.5","brace-expansion":"^2.1.3"},"_integrity":"sha512-TKhqf8fWs+oHJrW0MgiL6hBIpQZoh0XbbjAsS+y7NVYEMLfyK5NMKas5+LuKEDi35iKcnwKIsv7xwJ2jJX7O0w==","repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"_npmVersion":"10.8.3","description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","directories":{},"maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"sideEffects":["./dist/config/index.js","./dist/utils/internal/logger.js","./dist/utils/telemetry/instrumentation.js","./dist/utils/telemetry/metrics.js","./dist/utils/telemetry/trace.js"],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","hono":"^4.13.8","jose":"^6.2.12","pino":"^10.3.1","@hono/node-server":"^2.1.1","@opentelemetry/api":"^1.9.1","@modelcontextprotocol/server":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.2","devDependencies":{"diff":"^9.0.0","vite":"8.3.0","execa":"^10.0.1","unpdf":"^1.8.1","ignore":"^7.0.10","openai":"^7.21.0","vitest":"^4.1.11","js-yaml":"^5.4.2","pdf-lib":"^1.17.1","repomix":"^1.18.1","typedoc":"^0.28.20","defuddle":"^0.19.4","depcheck":"^1.4.7","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.7.0","tsc-alias":"^1.9.5","@hono/otel":"^1.1.2","@types/bun":"^1.4.2","@vitest/ui":"4.1.11","clipboardy":"^5.3.2","fast-check":"^4.10.2","typescript":"^7.0.2","@types/node":"26.6.2","chrono-node":"^2.10.1","pino-pretty":"^13.1.3","partial-json":"^0.1.7","sanitize-html":"^2.17.7","typescript-v6":"npm:typescript@^6.0.3","@biomejs/biome":"2.5.14","better-sqlite3":"^13.0.3","fast-xml-parser":"^5.11.1","@duckdb/node-api":"^1.5.5-r.5","@types/papaparse":"^5.5.2","@types/sanitize-html":"^2.16.1","@supabase/supabase-js":"^2.117.0","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.11.0","@cloudflare/workers-types":"5.20260922.1","@vitest/coverage-istanbul":"4.1.11","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/client":"^2.0.0","@opentelemetry/sdk-trace-node":"^2.11.0","@cloudflare/vitest-pool-workers":"^0.22.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@socketsecurity/bun-security-scanner":"^1.1.3","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependencies":{"zod":"^4.6.5","diff":"^9.0.0","unpdf":"^1.6.2","openai":"^6.48.0 || ^7.0.0","vitest":">=4.0.0","js-yaml":"^5.2.2","pdf-lib":"^1.17.1","defuddle":"^0.19.2","linkedom":"^0.18.13","node-cron":"^4.6.0","papaparse":"^5.5.4","@hono/otel":"^1.1.2","fast-check":"^4.9.0","chrono-node":"^2.10.1","partial-json":"^0.1.7","sanitize-html":"^2.17.6","better-sqlite3":"^13.0.1","fast-xml-parser":"^5.10.1","@duckdb/node-api":"^1.5.5-r.1","@supabase/supabase-js":"^2.110.8","@opentelemetry/sdk-node":"^0.222.0","@opentelemetry/resources":"^2.10.0","@opentelemetry/sdk-metrics":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/instrumentation-http":"^0.222.0","@opentelemetry/instrumentation-pino":"^0.68.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-http":"^0.222.0","@opentelemetry/exporter-metrics-otlp-http":"^0.222.0"},"peerDependenciesMeta":{"diff":{"optional":true},"unpdf":{"optional":true},"openai":{"optional":true},"vitest":{"optional":true},"js-yaml":{"optional":true},"pdf-lib":{"optional":true},"defuddle":{"optional":true},"linkedom":{"optional":true},"node-cron":{"optional":true},"papaparse":{"optional":true},"@hono/otel":{"optional":true},"fast-check":{"optional":true},"chrono-node":{"optional":true},"partial-json":{"optional":true},"sanitize-html":{"optional":true},"better-sqlite3":{"optional":true},"fast-xml-parser":{"optional":true},"@duckdb/node-api":{"optional":true},"@supabase/supabase-js":{"optional":true},"@opentelemetry/sdk-node":{"optional":true},"@opentelemetry/resources":{"optional":true},"@opentelemetry/sdk-metrics":{"optional":true},"@opentelemetry/sdk-trace-node":{"optional":true},"@opentelemetry/instrumentation-http":{"optional":true},"@opentelemetry/instrumentation-pino":{"optional":true},"@opentelemetry/semantic-conventions":{"optional":true},"@opentelemetry/exporter-trace-otlp-http":{"optional":true},"@opentelemetry/exporter-metrics-otlp-http":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-ts-core_0.13.7_1790351403985_0.727844001647479"}}},"time":{"created":"2026-03-12T12:17:08.098Z","modified":"2026-09-25T15:50:04.332Z","0.1.0-beta.12":"2026-03-12T12:17:08.493Z","0.1.0-beta.14":"2026-03-12T12:30:44.528Z","0.1.0-beta.15":"2026-03-12T12:36:27.451Z","0.1.0-beta.16":"2026-03-12T13:11:27.462Z","0.1.0-beta.19":"2026-03-14T20:03:31.479Z","0.1.0-beta.24":"2026-03-14T22:00:57.778Z","0.1.0-beta.25":"2026-03-14T22:22:11.005Z","0.1.0":"2026-03-14T23:53:32.746Z","0.1.1":"2026-03-15T01:17:12.546Z","0.1.2":"2026-03-15T01:38:57.894Z","0.1.4":"2026-03-15T02:14:04.971Z","0.1.5":"2026-03-15T20:07:52.550Z","0.1.8":"2026-03-20T13:32:27.233Z","0.1.9":"2026-03-20T13:50:17.059Z","0.1.10":"2026-03-20T14:36:48.576Z","0.1.11":"2026-03-20T16:58:13.107Z","0.1.12":"2026-03-20T20:41:08.717Z","0.1.15":"2026-03-21T12:11:22.962Z","0.1.16":"2026-03-21T12:52:25.367Z","0.1.18":"2026-03-21T14:35:51.016Z","0.1.19":"2026-03-21T15:31:25.562Z","0.1.20":"2026-03-21T15:49:44.747Z","0.1.21":"2026-03-21T16:21:18.059Z","0.1.22":"2026-03-22T01:15:08.228Z","0.1.23":"2026-03-22T02:04:00.523Z","0.1.24":"2026-03-22T02:24:29.423Z","0.1.25":"2026-03-22T03:27:19.143Z","0.1.26":"2026-03-23T13:54:13.707Z","0.1.27":"2026-03-23T16:47:35.212Z","0.1.28":"2026-03-23T17:00:19.770Z","0.1.29":"2026-03-24T12:57:35.781Z","0.2.0":"2026-03-25T06:53:38.763Z","0.2.1":"2026-03-25T07:15:41.263Z","0.2.2":"2026-03-26T19:42:07.432Z","0.2.3":"2026-03-28T09:14:35.614Z","0.2.4":"2026-03-28T13:04:15.181Z","0.2.5":"2026-03-28T13:53:50.616Z","0.2.6":"2026-03-28T15:06:13.310Z","0.2.7":"2026-03-28T15:38:54.012Z","0.2.8":"2026-03-28T15:53:26.907Z","0.2.9":"2026-03-30T09:50:11.122Z","0.2.10":"2026-03-30T13:33:20.804Z","0.2.11":"2026-04-01T16:56:17.103Z","0.2.12":"2026-04-03T14:56:27.098Z","0.3.0":"2026-04-06T17:06:38.510Z","0.3.1":"2026-04-06T17:20:57.067Z","0.3.2":"2026-04-06T18:03:15.247Z","0.3.3":"2026-04-08T23:41:29.064Z","0.3.4":"2026-04-09T04:54:12.329Z","0.3.5":"2026-04-13T08:03:54.971Z","0.3.6":"2026-04-19T15:46:49.563Z","0.3.7":"2026-04-19T16:40:49.742Z","0.3.8":"2026-04-19T22:18:10.717Z","0.4.0":"2026-04-19T22:59:33.338Z","0.4.1":"2026-04-19T23:16:43.245Z","0.5.0":"2026-04-20T19:01:34.265Z","0.5.2":"2026-04-21T00:44:10.476Z","0.5.3":"2026-04-21T02:06:42.216Z","0.5.4":"2026-04-21T05:07:13.175Z","0.6.0":"2026-04-21T08:43:28.367Z","0.6.1":"2026-04-21T10:03:53.701Z","0.6.2":"2026-04-21T11:25:23.110Z","0.6.3":"2026-04-21T11:42:57.712Z","0.6.5":"2026-04-22T15:00:10.814Z","0.6.6":"2026-04-22T19:29:57.208Z","0.6.7":"2026-04-22T20:24:54.420Z","0.6.8":"2026-04-22T21:10:43.424Z","0.6.9":"2026-04-22T23:13:35.214Z","0.6.10":"2026-04-23T14:56:29.624Z","0.6.11":"2026-04-23T17:11:15.336Z","0.6.12":"2026-04-23T17:43:17.771Z","0.6.13":"2026-04-23T18:09:38.242Z","0.6.14":"2026-04-23T21:46:34.493Z","0.6.15":"2026-04-24T01:33:40.091Z","0.6.16":"2026-04-24T02:50:35.785Z","0.6.17":"2026-04-24T12:53:42.655Z","0.7.0":"2026-04-24T15:08:44.557Z","0.7.1":"2026-04-24T21:38:12.308Z","0.7.2":"2026-04-24T22:15:22.017Z","0.7.3":"2026-04-24T22:57:18.583Z","0.7.4":"2026-04-24T23:56:40.364Z","0.7.5":"2026-04-26T06:16:21.877Z","0.7.6":"2026-04-27T21:18:49.595Z","0.8.0":"2026-04-28T21:23:05.806Z","0.8.1":"2026-04-28T22:33:32.777Z","0.8.2":"2026-04-28T23:53:21.280Z","0.8.3":"2026-04-29T17:34:35.467Z","0.8.4":"2026-04-29T20:23:37.407Z","0.8.5":"2026-04-29T21:45:21.971Z","0.8.6":"2026-04-29T22:17:42.859Z","0.8.7":"2026-04-30T00:34:22.911Z","0.8.8":"2026-05-01T19:25:13.599Z","0.8.9":"2026-05-02T22:34:37.705Z","0.8.10":"2026-05-02T23:18:25.210Z","0.8.11":"2026-05-03T00:29:20.523Z","0.8.12":"2026-05-03T06:58:51.233Z","0.8.13":"2026-05-03T08:08:45.968Z","0.8.14":"2026-05-05T03:30:37.142Z","0.8.15":"2026-05-05T07:52:33.484Z","0.8.16":"2026-05-05T23:00:15.865Z","0.8.17":"2026-05-06T02:10:11.250Z","0.8.18":"2026-05-07T00:19:07.297Z","0.8.19":"2026-05-08T10:25:48.903Z","0.8.20":"2026-05-09T10:22:13.738Z","0.9.0":"2026-05-11T17:08:01.217Z","0.9.1":"2026-05-15T14:05:53.514Z","0.9.2":"2026-05-23T02:14:59.268Z","0.9.3":"2026-05-23T04:17:06.632Z","0.9.4":"2026-05-23T05:26:18.065Z","0.9.5":"2026-05-23T08:33:22.751Z","0.9.6":"2026-05-23T10:26:58.266Z","0.9.7":"2026-05-23T16:44:32.863Z","0.9.8":"2026-05-24T09:29:09.826Z","0.9.9":"2026-05-24T10:13:25.762Z","0.9.10":"2026-05-27T04:33:09.416Z","0.9.11":"2026-05-28T08:25:43.027Z","0.9.12":"2026-05-29T00:42:17.394Z","0.9.13":"2026-05-29T01:58:28.234Z","0.9.14":"2026-05-29T11:58:03.886Z","0.9.15":"2026-05-30T02:46:59.279Z","0.9.16":"2026-05-30T03:27:52.898Z","0.9.17":"2026-05-31T05:42:09.298Z","0.9.18":"2026-05-31T10:17:51.486Z","0.9.19":"2026-05-31T11:08:07.415Z","0.9.20":"2026-06-02T03:43:51.652Z","0.9.21":"2026-06-02T09:05:06.520Z","0.10.0":"2026-06-05T12:16:26.066Z","0.10.1":"2026-06-08T14:46:24.106Z","0.10.2":"2026-06-10T17:47:49.978Z","0.10.3":"2026-06-10T23:14:27.497Z","0.10.4":"2026-06-11T01:20:03.845Z","0.10.5":"2026-06-11T16:51:12.365Z","0.10.6":"2026-06-11T20:27:02.051Z","0.10.7":"2026-06-19T21:26:42.991Z","0.10.8":"2026-06-19T23:56:17.402Z","0.10.9":"2026-06-20T07:51:55.616Z","0.10.10":"2026-06-30T09:19:11.983Z","0.10.11":"2026-07-05T05:59:13.738Z","0.10.12":"2026-07-05T08:45:43.347Z","0.10.13":"2026-07-05T18:04:08.677Z","0.10.14":"2026-07-06T08:07:28.746Z","0.10.15":"2026-07-19T12:24:09.144Z","0.10.16":"2026-07-26T08:01:31.801Z","0.10.17":"2026-07-26T10:21:37.929Z","0.11.0":"2026-07-26T11:04:57.721Z","0.11.1":"2026-08-02T18:06:19.530Z","0.11.2":"2026-08-10T07:03:09.337Z","0.11.3":"2026-08-10T09:55:21.663Z","0.11.4":"2026-08-10T11:41:56.034Z","0.11.5":"2026-08-13T02:14:41.874Z","0.12.0":"2026-08-20T10:24:32.320Z","0.12.1":"2026-08-20T18:07:44.832Z","0.12.2":"2026-08-20T20:24:58.672Z","0.12.3":"2026-08-21T07:52:03.825Z","0.12.4":"2026-09-02T22:19:37.987Z","0.12.5":"2026-09-02T23:42:43.532Z","0.12.6":"2026-09-06T07:16:19.475Z","0.12.7":"2026-09-08T11:01:02.541Z","0.12.8":"2026-09-09T10:09:35.557Z","0.12.9":"2026-09-12T21:12:45.333Z","0.13.0":"2026-09-13T17:25:06.035Z","0.13.1":"2026-09-13T21:45:23.214Z","0.13.2":"2026-09-14T02:39:12.307Z","0.13.3":"2026-09-17T15:51:48.627Z","0.13.4":"2026-09-18T10:53:14.475Z","0.13.5":"2026-09-18T19:25:22.042Z","0.13.6":"2026-09-19T14:22:43.331Z","0.13.7":"2026-09-25T15:50:04.160Z"},"bugs":{"url":"https://github.com/cyanheads/mcp-ts-core/issues"},"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","homepage":"https://github.com/cyanheads/mcp-ts-core#readme","keywords":["agent","agent-native","ai","ai-agent","bun","cloudflare-workers","declarative","framework","mcp","mcp-server","mcp-framework","model-context-protocol","observability","opentelemetry","tools","typescript"],"repository":{"url":"git+https://github.com/cyanheads/mcp-ts-core.git","type":"git"},"description":"Agent-native TypeScript framework for MCP servers. Includes runtime infrastructure and agent skills for building, testing, and shipping servers.","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"readme":"<div align=\"center\">\n  <h1>@cyanheads/mcp-ts-core</h1>\n  <p><b>Agent-native TypeScript framework for building MCP servers.</b></p>\n  <p>Runtime infrastructure for your server, and the agent skills to build, test, and ship it.</p>\n</div>\n\n<div align=\"center\">\n\n[![Version](https://img.shields.io/badge/Version-0.13.7-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![MCP Spec](https://img.shields.io/badge/MCP%20Spec-2026--07--28-8A2BE2.svg?style=flat-square)](https://modelcontextprotocol.io/specification/2026-07-28)\n\n[![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0%2B-blueviolet.svg?style=flat-square)](https://bun.sh/)\n\n[Quick start](#quick-start) · [Capabilities](#what-comes-with-it) · [API reference](#api-overview) · [Examples](#examples)\n\n</div>\n\n---\n\n## Build AI tools for anything you can describe\n\nConnect an API, a dataset, or a workflow to an AI agent through the Model Context Protocol (MCP). Your project holds the domain code; `@cyanheads/mcp-ts-core` handles the auth, storage, logging, and transports underneath it.\n\n**Agent-native.** Every scaffold ships the framework reference and a set of Agent Skills: workflows for designing tools, writing tests, reviewing security, and cutting releases. You decide what the server does; your agent follows the skills to build it.\n\n**The framework stays a dependency.** Infrastructure fixes arrive as package upgrades. Run the `maintenance` skill and your agent bumps core, syncs the latest skills, and adopts what changed.\n\n## Quick start\n\nServers run on Bun, Node.js 24+, or Cloudflare Workers.\n\n```bash\nbunx @cyanheads/mcp-ts-core init my-mcp-server\ncd my-mcp-server\nbun install\n```\n\nThe scaffold includes a source tree, build and test configuration, `CLAUDE.md`/`AGENTS.md`, Agent Skills, and plugin metadata for Claude Code and Codex. Open it in Claude Code, Codex, or another agent and describe what you want:\n\n> Build an MCP server for my team's inventory API. We need to find products, check stock across warehouses, investigate stock movements, and record adjustments and transfers. Let's get started.\n\nAlready have a TypeScript project? Run `bun add @cyanheads/mcp-ts-core` and register your definitions with `createApp()`.\n\n## A tool is a schema and a function\n\nThis is a complete server that searches a three-item catalog. To try it, replace the scaffold's `src/index.ts` with it:\n\n```ts\nimport { createApp, tool, z } from '@cyanheads/mcp-ts-core';\n\nconst catalog = ['Notebook', 'Mechanical pencil', 'Desk lamp'];\n\nconst search = tool('catalog_search', {\n  description: 'Search catalog item names. An empty query lists all items.',\n  annotations: { readOnlyHint: true },\n  input: z.object({\n    query: z.string().describe('Text to find in an item name'),\n  }),\n  output: z.object({\n    items: z.array(z.string()).describe('Matching item names'),\n  }),\n  async handler({ query }) {\n    return {\n      items: catalog.filter((name) =>\n        name.toLowerCase().includes(query.toLowerCase()),\n      ),\n    };\n  },\n});\n\nawait createApp({ name: 'catalog-mcp-server', title: 'catalog-mcp-server', tools: [search] });\n```\n\nBuild and run it over HTTP:\n\n```bash\nbun run rebuild\nbun run start:http\n```\n\nPoint your MCP client at `http://127.0.0.1:3010/mcp` (Streamable HTTP), or have the client launch it over stdio with `bun /absolute/path/to/dist/index.js`.\n\n## What comes with it\n\n| You need to… | The framework provides |\n|:------------|:-----------------------|\n| Give an assistant useful capabilities | Typed builders for tools, resources, prompts, and interactive MCP Apps |\n| Help an agent use those capabilities correctly | Server instructions, result enrichment, and declared errors with recovery guidance |\n| Control access and keep state | JWT/OAuth, per-definition scopes, and tenant-scoped storage with swappable backends |\n| Run locally or host a service | stdio and HTTP on Bun/Node.js; a separate entry point for Cloudflare Workers |\n| Understand failures and catch mistakes | Structured logs, optional OpenTelemetry, definition linting, contract tests, and fuzz testing |\n\nOptional integrations (DuckDB, Supabase, the OpenTelemetry SDK) are peer dependencies; install them when you need them.\n\n## Give agents useful results\n\nTwo declared contracts shape what an agent gets back. `enrichment` carries success-path context (totals, the parsed query, empty-result notices), populated with `ctx.enrich()`. `errors` lists each expected failure with its recovery guidance, and the handler throws one with the typed `ctx.fail()`.\n\n`runSearch(query, limit)` stands in for your search backend. It returns `{ items, total, parsed }`, or `null` when the index is down:\n\n```ts\nimport { createApp, tool, z } from '@cyanheads/mcp-ts-core';\nimport { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';\n\nconst search = tool('search', {\n  description: 'Search the catalog and return ranked matches.',\n  annotations: { readOnlyHint: true },\n  input: z.object({\n    query: z.string().describe('Search terms'),\n    limit: z.number().int().min(1).default(10).describe('Max results'),\n  }),\n  output: z.object({\n    items: z.array(z.string()).describe('Matching item names, best first'),\n  }),\n  enrichment: {\n    effectiveQuery: z.string().describe('Query as the server parsed it'),\n    totalCount: z.number().describe('Total matches before the limit'),\n    notice: z.string().optional().describe('Guidance when nothing matched'),\n  },\n  errors: [\n    {\n      reason: 'index_unavailable',\n      code: JsonRpcErrorCode.ServiceUnavailable,\n      when: 'The upstream search index is unreachable.',\n      retryable: true,\n      recovery: 'Retry in a few seconds — the index may be briefly unavailable.',\n    },\n  ],\n  handler: async (input, ctx) => {\n    const res = await runSearch(input.query, input.limit);\n    if (!res) {\n      throw ctx.fail('index_unavailable', undefined, ctx.recoveryFor('index_unavailable'));\n    }\n    ctx.enrich({ effectiveQuery: res.parsed, totalCount: res.total });\n    if (res.items.length === 0) {\n      ctx.enrich({ notice: `No matches for \"${input.query}\". Try broader terms.` });\n    }\n    return { items: res.items }; // enrichment never rides in the domain return\n  },\n});\n\nawait createApp({ tools: [search] });\n```\n\nBoth contracts are advertised in `tools/list`, so clients see them before calling, and the definition linter checks the handler against them. `ctx.recoveryFor()` adds the declared recovery hint to the error response.\n\n### Same data across client surfaces\n\nMCP hosts differ in which part of a tool result they hand the agent: `structuredContent` (JSON), `content[]` (text), or both. The framework fills both with the same data, so the agent sees the same result on any host.\n\n`format()` renders the text side; without one, `content[]` gets JSON. The format-parity lint rule fails `lint:mcp` if any output field is missing from the rendered text. Enrichment needs no `format()` entry, because the framework adds it to both surfaces. This formatter renders the items as a markdown list:\n\n```ts\nformat: (result) => [{\n  type: 'text',\n  text: result.items.length > 0\n    ? result.items.map((name) => `- ${name}`).join('\\n')\n    : 'No matching items.',\n}],\n```\n\n### Resources\n\nResources expose data at a URI. This one reads from your own `getItem()` service:\n\n```ts\nimport { resource, z } from '@cyanheads/mcp-ts-core';\n\nexport const itemData = resource('items://{itemId}', {\n  description: 'Retrieve item data by ID.',\n  params: z.object({\n    itemId: z.string().describe('Item ID'),\n  }),\n  async handler(params) {\n    return await getItem(params.itemId);\n  },\n});\n```\n\nEverything registers through `createApp()` in your entry point:\n\n```ts\nawait createApp({\n  name: 'my-mcp-server',\n  title: 'my-mcp-server', // display name in client UIs\n  tools: allToolDefinitions,\n  resources: allResourceDefinitions,\n  prompts: allPromptDefinitions,\n  instructions: 'Brief composition hints for the model.', // optional, sent on every `initialize`\n});\n```\n\nOn Cloudflare Workers, `createWorkerHandler()` takes the same definitions from a separate entry point.\n\n## Runtime and integration details\n\n- **Auth and storage:** Declare `auth: ['scope']` on a definition and the scope is checked, under JWT or OAuth, before the handler runs. `ctx.state` is tenant-scoped storage over in-memory, filesystem, Supabase, or Cloudflare D1/KV/R2, chosen by config.\n- **Client interaction:** Return `ctx.requestInput(...)` to ask the user for input, the client's model for a sample, or the client for its roots. The handler runs again with the answers on `ctx.inputs`.\n- **Protocol compatibility:** HTTP serves 2026-07-28 clients (per-request `_meta` envelope) and session-based 2025-era clients. The SDK's compatibility layer handles input requests for the older ones.\n- **Server presentation:** `instructions` gives the model server-wide guidance once, at `initialize`, instead of in every tool description. Identity fields (`title`, `websiteUrl`, `description`, `icons`) populate the client's server info, the `/.well-known/mcp.json` server card, and the HTTP landing page.\n- **Definition checks:** `lint:mcp` checks names, schemas, scopes, annotations, format parity, and JSON Schema portability. It runs at build time, never at startup, so a new rule can't break a deployed server.\n- **DataCanvas:** An optional DuckDB workspace where agents run SQL across staged API results and export CSV, Parquet, or JSON. Agents share a workspace by passing its canvas token. Enable it with `CANVAS_PROVIDER_TYPE=duckdb` and `@duckdb/node-api` (Bun or Node.js only). [brapi-mcp-server](https://github.com/cyanheads/brapi-mcp-server#working-with-dataframes) walks through loading API results into a dataframe and querying it.\n- **Mirror:** The `/mirror` module keeps a persistent local copy of a bulk upstream dataset in embedded SQLite with an optional FTS5 index, so tools query it locally instead of paging the live API on every call. You write the `sync` ingester and the schema; the framework handles storage, resumable initial loads, and incremental refreshes. Bun or Node.js only (`better-sqlite3` is an optional peer on Node). [faa-aircraft-registry-mcp-server](https://github.com/cyanheads/faa-aircraft-registry-mcp-server) serves the full FAA registry this way.\n\nSee the [framework reference](CLAUDE.md) for configuration and handler patterns, and the [observability guide](docs/telemetry/observability.md) for Pino logging and OpenTelemetry traces and metrics.\n\n## Server structure\n\n```text\nmy-mcp-server/\n  src/\n    index.ts                              # createApp() entry point\n    worker.ts                             # createWorkerHandler() (optional)\n    config/\n      server-config.ts                    # Server-specific env vars\n    services/\n      [domain]/                           # Domain services (init/accessor pattern)\n    mcp-server/\n      tools/definitions/                  # Tool definitions (.tool.ts)\n      resources/definitions/              # Resource definitions (.resource.ts)\n      prompts/definitions/                # Prompt definitions (.prompt.ts)\n  package.json\n  tsconfig.json                           # extends @cyanheads/mcp-ts-core/tsconfig.base.json\n  CLAUDE.md / AGENTS.md                   # Server conventions; points to core's framework reference\n```\n\nFramework infrastructure lives in `node_modules`; your source tree holds the server's definitions, configuration, and domain services.\n\n## Configuration\n\nCore config comes from environment variables, validated with Zod. Server-specific variables get their own schema, parsed lazily so Workers can inject env at request time.\n\n| Variable | Description | Default |\n|:---------|:------------|:--------|\n| `MCP_TRANSPORT_TYPE` | `stdio` or `http` | `stdio` |\n| `MCP_HTTP_PORT` | HTTP server port | `3010` |\n| `MCP_HTTP_HOST` | HTTP server hostname | `127.0.0.1` |\n| `MCP_AUTH_MODE` | `none`, `jwt`, or `oauth` | `none` |\n| `MCP_AUTH_SECRET_KEY` | JWT signing secret (required for `jwt` mode) | — |\n| `STORAGE_PROVIDER_TYPE` | `in-memory`, `filesystem`, `supabase`, `cloudflare-d1`/`kv`/`r2` | `in-memory` |\n| `CANVAS_PROVIDER_TYPE` | `none` or `duckdb` (optional peer dependency `@duckdb/node-api`) | `none` |\n| `OTEL_ENABLED` | Enable OpenTelemetry | `false` |\n| `OPENROUTER_API_KEY` | API key for the optional OpenRouter LLM provider (`/services`) | — |\n\nSee [CLAUDE.md/AGENTS.md](CLAUDE.md) for the full configuration reference.\n\n## API overview\n\n### Entry points\n\n| Function | Purpose |\n|:---------|:--------|\n| `createApp(options)` | Bun or Node.js server; manages startup and shutdown |\n| `createWorkerHandler(options)` | Cloudflare Workers — returns an `ExportedHandler` |\n\n### Builders\n\n| Builder | Usage |\n|:--------|:------|\n| `tool(name, options)` | Define a tool with `handler(input, ctx)` |\n| `resource(uriTemplate, options)` | Define a resource with `handler(params, ctx)` |\n| `prompt(name, options)` | Define a prompt with `generate(args)` |\n| `appTool(name, options)` | Define an MCP Apps tool with auto-populated `_meta.ui` |\n| `appResource(uriTemplate, options)` | Define an MCP Apps HTML resource with the correct MIME type and `_meta.ui` mirroring for read content |\n\n### Context\n\nTool and resource handlers receive a `Context`. `ctx.enrich` and `ctx.fail` are typed against the definition's declared contracts:\n\n| Property | Type | Description |\n|:---------|:-----|:------------|\n| `ctx.log` | `ContextLogger` | Request-scoped logger (auto-correlates requestId, traceId, tenantId); also mirrored to the client as `notifications/message` |\n| `ctx.state` | `ContextState` | Tenant-scoped key-value storage |\n| `ctx.requestInput` | `(spec) => never` | Suspend and ask the caller for more input; the handler is re-entered with the answers |\n| `ctx.inputs` | `ContextInputs` | Reader over a retried request's responses — `.accepted()`, `.view()`, `.state()`, `.dropped` |\n| `ctx.enrich` | `Enrich` / `TypedEnrich<E>` | Add declared result context to structured output and text content |\n| `ctx.content` | `ContentCollect` | Attach image/audio blocks to `content[]` — `content.image(data, mimeType)`, `content.audio(...)`, or a raw block |\n| `ctx.fail` | `(reason, msg?, data?) => McpError` | Creates an error for `throw ctx.fail(...)`; available with a declared `errors` contract |\n| `ctx.recoveryFor` | `(reason) => object` | Resolves a declared recovery hint to `{ recovery: { hint } }`, for `ctx.fail`'s data argument |\n| `ctx.signal` | `AbortSignal` | Cancellation signal |\n| `ctx.notifyResourceUpdated` | `Function?` | Notify subscribed clients a resource changed |\n| `ctx.notifyResourceListChanged` | `Function?` | Notify clients the resource list changed |\n| `ctx.notifyPromptListChanged` | `Function?` | Notify clients the prompt list changed |\n| `ctx.notifyToolListChanged` | `Function?` | Notify clients the tool list changed |\n| `ctx.requestId` | `string` | Unique request ID |\n| `ctx.tenantId` | `string?` | Tenant ID (JWT `tid` claim, or `'default'` for stdio and HTTP+`MCP_AUTH_MODE=none`) |\n| `ctx.auth` | `AuthContext?` | Token claims and scopes when the request is authenticated |\n| `ctx.sessionId` | `string?` | HTTP session ID in stateful/`auto` session mode — a scoping key, not an authorization principal |\n| `ctx.uri` | `URL?` | The parsed resource URI; set in resource handlers only |\n\n### Subpath exports\n\n```ts\nimport { createApp, tool, resource, prompt } from '@cyanheads/mcp-ts-core';\nimport { createWorkerHandler } from '@cyanheads/mcp-ts-core/worker';\nimport { McpError, JsonRpcErrorCode, notFound, serviceUnavailable } from '@cyanheads/mcp-ts-core/errors';\nimport { checkScopes } from '@cyanheads/mcp-ts-core/auth';\nimport { markdown, fetchWithTimeout } from '@cyanheads/mcp-ts-core/utils';\nimport { OpenRouterProvider, GraphService } from '@cyanheads/mcp-ts-core/services';\nimport type { DataCanvas, CanvasInstance } from '@cyanheads/mcp-ts-core/canvas';\nimport { defineMirror, sqliteMirrorStore } from '@cyanheads/mcp-ts-core/mirror';\nimport { validateDefinitions } from '@cyanheads/mcp-ts-core/linter';\nimport { createMockContext } from '@cyanheads/mcp-ts-core/testing';\nimport { mcpTest, toolContractSuite } from '@cyanheads/mcp-ts-core/testing/vitest';\nimport { fuzzTool, fuzzResource, fuzzPrompt } from '@cyanheads/mcp-ts-core/testing/fuzz';\n```\n\nSee [CLAUDE.md/AGENTS.md](CLAUDE.md) for the complete exports reference.\n\n## Examples\n\n`examples/` holds a reference server built only on the public exports. `examples/index.ts` (Node/Bun) and `examples/worker.ts` (Cloudflare Workers) register the same `definitions/index.ts` barrels.\n\n| Kind | Name | Pattern |\n|:-----|:-----|:--------|\n| Tool | `template_echo_message` | `errors[]` contract with `ctx.fail`, `inputAliases`, full-fidelity `format()` |\n| Tool | `template_cat_fact` | `fetchWithTimeout`, a typed not-found contract, enrichment echo |\n| Tool | `template_image_test` | `ctx.content.image` |\n| Tool | `template_madlibs_elicitation` | `return ctx.requestInput`, a declined-input contract with `severity` |\n| Tool | `template_data_explorer` | `appTool`/`appResource`, host theming, `cacheHint` |\n| Resource | `echo://{message}` | Templated resource |\n| Resource | `ui://template-data-explorer/app.html` | UI resource paired with `template_data_explorer` |\n| Prompt | `code_review` | `completable()` argument, `code` argument |\n\n## Testing\n\n```ts\nimport { createMockContext } from '@cyanheads/mcp-ts-core/testing';\nimport { myTool } from '@/mcp-server/tools/definitions/my-tool.tool.js';\n\nconst ctx = createMockContext();\nconst input = myTool.input.parse({ query: 'test' });\nconst result = await myTool.handler(input, ctx);\n```\n\n`createMockContext()` gives you a recording `log`, a `signal`, and a `state` backed by a real `StorageService` over an in-memory provider, so key validation, TTL expiry, and the JSON round-trip of stored values behave as they do in production: a `Date` reads back as its ISO string, and a value JSON cannot encode rejects. It uses tenant `'default'` unless you pass `{ tenantId }`. Pass `{ errors: myTool.errors }` for a typed `ctx.fail`, or `{ inputResponses, requestState }` to start a multi-round-trip handler at its second round.\n\n`/testing` also exports `createMockSession()` for session-bound contexts, `createFetchMock()` as a strict fake for upstream HTTP, and `runToolContract()`, which runs a definition through schema, handler, formatting, and error-envelope checks. `/testing/vitest` adds the `mcpTest` fixtures (`ctx`, `session`, `fetchMock`, `storage`) and `toolContractSuite()`.\n\n`/testing/fuzz` uses `fast-check` to generate valid inputs from your Zod schemas plus adversarial payloads, then checks for crashes, stack-trace leaks, and prototype pollution:\n\n```ts\nimport { fuzzTool } from '@cyanheads/mcp-ts-core/testing/fuzz';\n\nconst report = await fuzzTool(myTool, { numRuns: 100 });\nexpect(report.crashes).toHaveLength(0);\nexpect(report.leaks).toHaveLength(0);\nexpect(report.prototypePollution).toBe(false);\n```\n\nIt also exports `fuzzResource`, `fuzzPrompt`, `zodToArbitrary`, and `ADVERSARIAL_STRINGS` for custom property-based tests.\n\n## Documentation\n\n- **[CLAUDE.md/AGENTS.md](CLAUDE.md)**: the framework reference, covering exports, patterns, `Context`, error codes, auth, config, and testing. It ships in the npm package, so your agent reads it from `node_modules` after `init`.\n- **[docs/telemetry/](docs/telemetry/)**: every span, metric, and attribute the framework emits ([observability.md](docs/telemetry/observability.md)), plus an example Grafana dashboard and query recipes for Datadog, New Relic, and Honeycomb ([dashboards.md](docs/telemetry/dashboards.md)).\n- **[CHANGELOG.md](CHANGELOG.md)**: version history, indexing one file per release under `changelog/`. Each has a summary, migration notes, and links to commits and issues; releases that need downstream changes carry `agent-notes` for the `maintenance` skill to act on.\n\n## Development\n\n```bash\nbun run rebuild        # clean + build (scripts/clean.ts + scripts/build.ts)\nbun run devcheck       # full gate: lint/format, typecheck, MCP defs, framework antipatterns, docs/skills/changelog sync, audit, outdated, secrets/TODO scan\nbun run lint:mcp       # validate MCP definitions against spec\nbun run test:all       # rebuild + coverage + Node.js + Workers + integration\nbun run test:package   # pack the tarball and consume it as an external project would\n```\n\n## License\n\nApache 2.0 — see [LICENSE](./LICENSE).\n\n---\n\n<div align=\"center\">\n  <p>\n    <a href=\"https://github.com/sponsors/cyanheads\">Sponsor this project</a> •\n    <a href=\"https://www.buymeacoffee.com/cyanheads\">Buy me a coffee</a>\n  </p>\n</div>\n","readmeFilename":"README.md"}