@spotlightjs/spotlight 4.6.0 → 4.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_commonjsHelpers.js +9 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -1
- package/dist/_virtual/_sentry-release-injection-file.js +11 -0
- package/dist/_virtual/_sentry-release-injection-file.js.map +1 -0
- package/dist/_virtual/cache.js +8 -0
- package/dist/_virtual/cache.js.map +1 -1
- package/dist/_virtual/index.js +8 -0
- package/dist/_virtual/index.js.map +1 -1
- package/dist/_virtual/uri.all.js +8 -0
- package/dist/_virtual/uri.all.js.map +1 -1
- package/dist/instrument.js +9 -0
- package/dist/instrument.js.map +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +8 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +8 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +8 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +8 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +8 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +8 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +8 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +8 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/ajv.js +47 -39
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/ajv.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/cache.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/cache.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/async.js +18 -9
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/async.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/error_classes.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/error_classes.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/formats.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/formats.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/index.js +24 -15
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/index.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/resolve.js +14 -5
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/resolve.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/rules.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/rules.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/schema_obj.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/schema_obj.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/ucs2length.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/ucs2length.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/util.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/util.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/data.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/data.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/definition_schema.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/definition_schema.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limit.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limit.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitItems.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitItems.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitLength.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitLength.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitProperties.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitProperties.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/allOf.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/allOf.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/anyOf.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/anyOf.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/comment.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/comment.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/const.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/const.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/contains.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/contains.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/custom.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/custom.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/dependencies.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/dependencies.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/enum.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/enum.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/format.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/format.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/if.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/if.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/index.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/index.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/items.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/items.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/multipleOf.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/multipleOf.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/not.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/not.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/oneOf.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/oneOf.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/pattern.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/pattern.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/properties.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/properties.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/propertyNames.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/propertyNames.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/ref.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/ref.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/required.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/required.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/uniqueItems.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/uniqueItems.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/validate.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/validate.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/keyword.js +9 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/keyword.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/refs/data.json.js +8 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/refs/data.json.js.map +1 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/refs/json-schema-draft-07.json.js +8 -0
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/refs/json-schema-draft-07.json.js.map +1 -1
- package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +9 -0
- package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map +1 -1
- package/dist/node_modules/.pnpm/fast-json-stable-stringify@2.1.0/node_modules/fast-json-stable-stringify/index.js +9 -0
- package/dist/node_modules/.pnpm/fast-json-stable-stringify@2.1.0/node_modules/fast-json-stable-stringify/index.js.map +1 -1
- package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/helper/streaming/sse.js +8 -0
- package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/helper/streaming/sse.js.map +1 -1
- package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/middleware/cors/index.js +8 -0
- package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/middleware/cors/index.js.map +1 -1
- package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/utils/html.js +8 -0
- package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/utils/html.js.map +1 -1
- package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/utils/stream.js +8 -0
- package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/utils/stream.js.map +1 -1
- package/dist/node_modules/.pnpm/json-schema-traverse@0.4.1/node_modules/json-schema-traverse/index.js +9 -0
- package/dist/node_modules/.pnpm/json-schema-traverse@0.4.1/node_modules/json-schema-traverse/index.js.map +1 -1
- package/dist/node_modules/.pnpm/uri-js@4.4.1/node_modules/uri-js/dist/es5/uri.all.js +9 -1
- package/dist/node_modules/.pnpm/uri-js@4.4.1/node_modules/uri-js/dist/es5/uri.all.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +1 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +8 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +1 -1
- package/dist/run.js +10 -0
- package/dist/run.js.map +1 -1
- package/dist/sentry-config.js +12 -2
- package/dist/sentry-config.js.map +1 -1
- package/dist/server/cli/help.js +17 -0
- package/dist/server/cli/help.js.map +1 -1
- package/dist/server/cli/mcp.d.ts +1 -1
- package/dist/server/cli/mcp.js +21 -9
- package/dist/server/cli/mcp.js.map +1 -1
- package/dist/server/cli/run.d.ts +1 -1
- package/dist/server/cli/run.js +28 -3
- package/dist/server/cli/run.js.map +1 -1
- package/dist/server/cli/server.d.ts +1 -1
- package/dist/server/cli/server.js +12 -2
- package/dist/server/cli/server.js.map +1 -1
- package/dist/server/cli/tail.d.ts +1 -1
- package/dist/server/cli/tail.js +18 -2
- package/dist/server/cli/tail.js.map +1 -1
- package/dist/server/cli.d.ts +1 -0
- package/dist/server/cli.js +30 -4
- package/dist/server/cli.js.map +1 -1
- package/dist/server/constants.js +9 -0
- package/dist/server/constants.js.map +1 -1
- package/dist/server/formatters/human/errors.js +9 -0
- package/dist/server/formatters/human/errors.js.map +1 -1
- package/dist/server/formatters/human/index.js +9 -0
- package/dist/server/formatters/human/index.js.map +1 -1
- package/dist/server/formatters/human/logs.js +9 -0
- package/dist/server/formatters/human/logs.js.map +1 -1
- package/dist/server/formatters/human/traces.js +9 -0
- package/dist/server/formatters/human/traces.js.map +1 -1
- package/dist/server/formatters/human/utils.js +9 -0
- package/dist/server/formatters/human/utils.js.map +1 -1
- package/dist/server/formatters/index.js +9 -0
- package/dist/server/formatters/index.js.map +1 -1
- package/dist/server/formatters/json/errors.js +9 -0
- package/dist/server/formatters/json/errors.js.map +1 -1
- package/dist/server/formatters/json/index.js +9 -0
- package/dist/server/formatters/json/index.js.map +1 -1
- package/dist/server/formatters/json/logs.js +9 -0
- package/dist/server/formatters/json/logs.js.map +1 -1
- package/dist/server/formatters/json/traces.js +9 -0
- package/dist/server/formatters/json/traces.js.map +1 -1
- package/dist/server/formatters/logfmt/errors.js +9 -0
- package/dist/server/formatters/logfmt/errors.js.map +1 -1
- package/dist/server/formatters/logfmt/index.js +9 -0
- package/dist/server/formatters/logfmt/index.js.map +1 -1
- package/dist/server/formatters/logfmt/logs.js +9 -0
- package/dist/server/formatters/logfmt/logs.js.map +1 -1
- package/dist/server/formatters/logfmt/traces.js +9 -0
- package/dist/server/formatters/logfmt/traces.js.map +1 -1
- package/dist/server/formatters/md/errors.js +9 -0
- package/dist/server/formatters/md/errors.js.map +1 -1
- package/dist/server/formatters/md/event.js +9 -0
- package/dist/server/formatters/md/event.js.map +1 -1
- package/dist/server/formatters/md/index.js +9 -0
- package/dist/server/formatters/md/index.js.map +1 -1
- package/dist/server/formatters/md/logs.js +9 -0
- package/dist/server/formatters/md/logs.js.map +1 -1
- package/dist/server/formatters/md/traces.js +9 -0
- package/dist/server/formatters/md/traces.js.map +1 -1
- package/dist/server/formatters/shared/data-builders.js +9 -0
- package/dist/server/formatters/shared/data-builders.js.map +1 -1
- package/dist/server/formatters/types.js +9 -0
- package/dist/server/formatters/types.js.map +1 -1
- package/dist/server/formatters/utils.js +9 -0
- package/dist/server/formatters/utils.js.map +1 -1
- package/dist/server/handlers/fileToServe.js +9 -0
- package/dist/server/handlers/fileToServe.js.map +1 -1
- package/dist/server/logger.js +9 -0
- package/dist/server/logger.js.map +1 -1
- package/dist/server/main.d.ts +1 -1
- package/dist/server/main.js +22 -4
- package/dist/server/main.js.map +1 -1
- package/dist/server/mcp/constants.js +9 -0
- package/dist/server/mcp/constants.js.map +1 -1
- package/dist/server/mcp/mcp.js +13 -1
- package/dist/server/mcp/mcp.js.map +1 -1
- package/dist/server/messageBuffer.js +9 -0
- package/dist/server/messageBuffer.js.map +1 -1
- package/dist/server/parser/helpers.js +9 -0
- package/dist/server/parser/helpers.js.map +1 -1
- package/dist/server/parser/processEnvelope.js +9 -0
- package/dist/server/parser/processEnvelope.js.map +1 -1
- package/dist/server/routes/clear.js +12 -0
- package/dist/server/routes/clear.js.map +1 -1
- package/dist/server/routes/contextlines/index.js +9 -0
- package/dist/server/routes/contextlines/index.js.map +1 -1
- package/dist/server/routes/contextlines/utils.js +9 -0
- package/dist/server/routes/contextlines/utils.js.map +1 -1
- package/dist/server/routes/health.js +9 -0
- package/dist/server/routes/health.js.map +1 -1
- package/dist/server/routes/index.js +9 -0
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/mcp.js +9 -0
- package/dist/server/routes/mcp.js.map +1 -1
- package/dist/server/routes/open.js +9 -0
- package/dist/server/routes/open.js.map +1 -1
- package/dist/server/routes/stream/debugLogging.js +9 -0
- package/dist/server/routes/stream/debugLogging.js.map +1 -1
- package/dist/server/routes/stream/index.js +18 -3
- package/dist/server/routes/stream/index.js.map +1 -1
- package/dist/server/routes/stream/streaming.js +9 -0
- package/dist/server/routes/stream/streaming.js.map +1 -1
- package/dist/server/routes/stream/userAgent.js +9 -0
- package/dist/server/routes/stream/userAgent.js.map +1 -1
- package/dist/server/sdk.d.ts +1 -1
- package/dist/server/sdk.js +9 -0
- package/dist/server/sdk.js.map +1 -1
- package/dist/server/types/cli.d.ts +1 -0
- package/dist/server/types/utils.d.ts +12 -0
- package/dist/server/utils/cors.d.ts +35 -5
- package/dist/server/utils/cors.js +179 -6
- package/dist/server/utils/cors.js.map +1 -1
- package/dist/server/utils/docker-compose-parser.js +9 -0
- package/dist/server/utils/docker-compose-parser.js.map +1 -1
- package/dist/server/utils/docker-compose.js +10 -1
- package/dist/server/utils/docker-compose.js.map +1 -1
- package/dist/server/utils/eventContainer.js +9 -0
- package/dist/server/utils/eventContainer.js.map +1 -1
- package/dist/server/utils/extras.js +9 -0
- package/dist/server/utils/extras.js.map +1 -1
- package/dist/server/utils/getBuffer.js +9 -0
- package/dist/server/utils/getBuffer.js.map +1 -1
- package/dist/shared/constants.js +9 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/ui/assets/andromeeda.js +2 -1
- package/dist/ui/assets/andromeeda.js.map +1 -0
- package/dist/ui/assets/angular-html.js +2 -1
- package/dist/ui/assets/angular-html.js.map +1 -0
- package/dist/ui/assets/angular-ts.js +2 -1
- package/dist/ui/assets/angular-ts.js.map +1 -0
- package/dist/ui/assets/astro.js +2 -1
- package/dist/ui/assets/astro.js.map +1 -0
- package/dist/ui/assets/aurora-x.js +2 -1
- package/dist/ui/assets/aurora-x.js.map +1 -0
- package/dist/ui/assets/ayu-dark.js +2 -1
- package/dist/ui/assets/ayu-dark.js.map +1 -0
- package/dist/ui/assets/blade.js +2 -1
- package/dist/ui/assets/blade.js.map +1 -0
- package/dist/ui/assets/c.js +2 -1
- package/dist/ui/assets/c.js.map +1 -0
- package/dist/ui/assets/catppuccin-frappe.js +2 -1
- package/dist/ui/assets/catppuccin-frappe.js.map +1 -0
- package/dist/ui/assets/catppuccin-latte.js +2 -1
- package/dist/ui/assets/catppuccin-latte.js.map +1 -0
- package/dist/ui/assets/catppuccin-macchiato.js +2 -1
- package/dist/ui/assets/catppuccin-macchiato.js.map +1 -0
- package/dist/ui/assets/catppuccin-mocha.js +2 -1
- package/dist/ui/assets/catppuccin-mocha.js.map +1 -0
- package/dist/ui/assets/coffee.js +2 -1
- package/dist/ui/assets/coffee.js.map +1 -0
- package/dist/ui/assets/cpp.js +2 -1
- package/dist/ui/assets/cpp.js.map +1 -0
- package/dist/ui/assets/css.js +2 -1
- package/dist/ui/assets/css.js.map +1 -0
- package/dist/ui/assets/dark-plus.js +2 -1
- package/dist/ui/assets/dark-plus.js.map +1 -0
- package/dist/ui/assets/dracula-soft.js +2 -1
- package/dist/ui/assets/dracula-soft.js.map +1 -0
- package/dist/ui/assets/dracula.js +2 -1
- package/dist/ui/assets/dracula.js.map +1 -0
- package/dist/ui/assets/everforest-dark.js +2 -1
- package/dist/ui/assets/everforest-dark.js.map +1 -0
- package/dist/ui/assets/everforest-light.js +2 -1
- package/dist/ui/assets/everforest-light.js.map +1 -0
- package/dist/ui/assets/github-dark-default.js +2 -1
- package/dist/ui/assets/github-dark-default.js.map +1 -0
- package/dist/ui/assets/github-dark-dimmed.js +2 -1
- package/dist/ui/assets/github-dark-dimmed.js.map +1 -0
- package/dist/ui/assets/github-dark-high-contrast.js +2 -1
- package/dist/ui/assets/github-dark-high-contrast.js.map +1 -0
- package/dist/ui/assets/github-dark.js +2 -1
- package/dist/ui/assets/github-dark.js.map +1 -0
- package/dist/ui/assets/github-light-default.js +2 -1
- package/dist/ui/assets/github-light-default.js.map +1 -0
- package/dist/ui/assets/github-light-high-contrast.js +2 -1
- package/dist/ui/assets/github-light-high-contrast.js.map +1 -0
- package/dist/ui/assets/github-light.js +2 -1
- package/dist/ui/assets/github-light.js.map +1 -0
- package/dist/ui/assets/glsl.js +2 -1
- package/dist/ui/assets/glsl.js.map +1 -0
- package/dist/ui/assets/graphql.js +2 -1
- package/dist/ui/assets/graphql.js.map +1 -0
- package/dist/ui/assets/gruvbox-dark-hard.js +2 -1
- package/dist/ui/assets/gruvbox-dark-hard.js.map +1 -0
- package/dist/ui/assets/gruvbox-dark-medium.js +2 -1
- package/dist/ui/assets/gruvbox-dark-medium.js.map +1 -0
- package/dist/ui/assets/gruvbox-dark-soft.js +2 -1
- package/dist/ui/assets/gruvbox-dark-soft.js.map +1 -0
- package/dist/ui/assets/gruvbox-light-hard.js +2 -1
- package/dist/ui/assets/gruvbox-light-hard.js.map +1 -0
- package/dist/ui/assets/gruvbox-light-medium.js +2 -1
- package/dist/ui/assets/gruvbox-light-medium.js.map +1 -0
- package/dist/ui/assets/gruvbox-light-soft.js +2 -1
- package/dist/ui/assets/gruvbox-light-soft.js.map +1 -0
- package/dist/ui/assets/haml.js +2 -1
- package/dist/ui/assets/haml.js.map +1 -0
- package/dist/ui/assets/handlebars.js +2 -1
- package/dist/ui/assets/handlebars.js.map +1 -0
- package/dist/ui/assets/houston.js +2 -1
- package/dist/ui/assets/houston.js.map +1 -0
- package/dist/ui/assets/html-derivative.js +2 -1
- package/dist/ui/assets/html-derivative.js.map +1 -0
- package/dist/ui/assets/html.js +2 -1
- package/dist/ui/assets/html.js.map +1 -0
- package/dist/ui/assets/http.js +2 -1
- package/dist/ui/assets/http.js.map +1 -0
- package/dist/ui/assets/imba.js +2 -1
- package/dist/ui/assets/imba.js.map +1 -0
- package/dist/ui/assets/index.js +46 -45
- package/dist/ui/assets/index.js.map +1 -0
- package/dist/ui/assets/index2.js +2 -1
- package/dist/ui/assets/index2.js.map +1 -0
- package/dist/ui/assets/instrumentation.js +12 -11
- package/dist/ui/assets/instrumentation.js.map +1 -0
- package/dist/ui/assets/java.js +2 -1
- package/dist/ui/assets/java.js.map +1 -0
- package/dist/ui/assets/javascript.js +2 -1
- package/dist/ui/assets/javascript.js.map +1 -0
- package/dist/ui/assets/jinja.js +2 -1
- package/dist/ui/assets/jinja.js.map +1 -0
- package/dist/ui/assets/jison.js +2 -1
- package/dist/ui/assets/jison.js.map +1 -0
- package/dist/ui/assets/json.js +2 -1
- package/dist/ui/assets/json.js.map +1 -0
- package/dist/ui/assets/json5.js +2 -1
- package/dist/ui/assets/json5.js.map +1 -0
- package/dist/ui/assets/jsonc.js +2 -1
- package/dist/ui/assets/jsonc.js.map +1 -0
- package/dist/ui/assets/jsonl.js +2 -1
- package/dist/ui/assets/jsonl.js.map +1 -0
- package/dist/ui/assets/jsx.js +2 -1
- package/dist/ui/assets/jsx.js.map +1 -0
- package/dist/ui/assets/julia.js +2 -1
- package/dist/ui/assets/julia.js.map +1 -0
- package/dist/ui/assets/kanagawa-dragon.js +2 -1
- package/dist/ui/assets/kanagawa-dragon.js.map +1 -0
- package/dist/ui/assets/kanagawa-lotus.js +2 -1
- package/dist/ui/assets/kanagawa-lotus.js.map +1 -0
- package/dist/ui/assets/kanagawa-wave.js +2 -1
- package/dist/ui/assets/kanagawa-wave.js.map +1 -0
- package/dist/ui/assets/laserwave.js +2 -1
- package/dist/ui/assets/laserwave.js.map +1 -0
- package/dist/ui/assets/less.js +2 -1
- package/dist/ui/assets/less.js.map +1 -0
- package/dist/ui/assets/light-plus.js +2 -1
- package/dist/ui/assets/light-plus.js.map +1 -0
- package/dist/ui/assets/main.css +1 -1
- package/dist/ui/assets/main.js +3 -2
- package/dist/ui/assets/main.js.map +1 -0
- package/dist/ui/assets/markdown.js +2 -1
- package/dist/ui/assets/markdown.js.map +1 -0
- package/dist/ui/assets/marko.js +2 -1
- package/dist/ui/assets/marko.js.map +1 -0
- package/dist/ui/assets/material-theme-darker.js +2 -1
- package/dist/ui/assets/material-theme-darker.js.map +1 -0
- package/dist/ui/assets/material-theme-lighter.js +2 -1
- package/dist/ui/assets/material-theme-lighter.js.map +1 -0
- package/dist/ui/assets/material-theme-ocean.js +2 -1
- package/dist/ui/assets/material-theme-ocean.js.map +1 -0
- package/dist/ui/assets/material-theme-palenight.js +2 -1
- package/dist/ui/assets/material-theme-palenight.js.map +1 -0
- package/dist/ui/assets/material-theme.js +2 -1
- package/dist/ui/assets/material-theme.js.map +1 -0
- package/dist/ui/assets/mdc.js +2 -1
- package/dist/ui/assets/mdc.js.map +1 -0
- package/dist/ui/assets/mdx.js +2 -1
- package/dist/ui/assets/mdx.js.map +1 -0
- package/dist/ui/assets/min-dark.js +2 -1
- package/dist/ui/assets/min-dark.js.map +1 -0
- package/dist/ui/assets/min-light.js +2 -1
- package/dist/ui/assets/min-light.js.map +1 -0
- package/dist/ui/assets/monokai.js +2 -1
- package/dist/ui/assets/monokai.js.map +1 -0
- package/dist/ui/assets/night-owl.js +2 -1
- package/dist/ui/assets/night-owl.js.map +1 -0
- package/dist/ui/assets/nord.js +2 -1
- package/dist/ui/assets/nord.js.map +1 -0
- package/dist/ui/assets/one-dark-pro.js +2 -1
- package/dist/ui/assets/one-dark-pro.js.map +1 -0
- package/dist/ui/assets/one-light.js +2 -1
- package/dist/ui/assets/one-light.js.map +1 -0
- package/dist/ui/assets/php.js +2 -1
- package/dist/ui/assets/php.js.map +1 -0
- package/dist/ui/assets/plastic.js +2 -1
- package/dist/ui/assets/plastic.js.map +1 -0
- package/dist/ui/assets/poimandres.js +2 -1
- package/dist/ui/assets/poimandres.js.map +1 -0
- package/dist/ui/assets/postcss.js +2 -1
- package/dist/ui/assets/postcss.js.map +1 -0
- package/dist/ui/assets/pug.js +2 -1
- package/dist/ui/assets/pug.js.map +1 -0
- package/dist/ui/assets/python.js +2 -1
- package/dist/ui/assets/python.js.map +1 -0
- package/dist/ui/assets/r.js +2 -1
- package/dist/ui/assets/r.js.map +1 -0
- package/dist/ui/assets/red.js +2 -1
- package/dist/ui/assets/red.js.map +1 -0
- package/dist/ui/assets/regexp.js +2 -1
- package/dist/ui/assets/regexp.js.map +1 -0
- package/dist/ui/assets/rose-pine-dawn.js +2 -1
- package/dist/ui/assets/rose-pine-dawn.js.map +1 -0
- package/dist/ui/assets/rose-pine-moon.js +2 -1
- package/dist/ui/assets/rose-pine-moon.js.map +1 -0
- package/dist/ui/assets/rose-pine.js +2 -1
- package/dist/ui/assets/rose-pine.js.map +1 -0
- package/dist/ui/assets/sass.js +2 -1
- package/dist/ui/assets/sass.js.map +1 -0
- package/dist/ui/assets/scss.js +2 -1
- package/dist/ui/assets/scss.js.map +1 -0
- package/dist/ui/assets/serverTimingMeta.js +51 -0
- package/dist/ui/assets/serverTimingMeta.js.map +1 -0
- package/dist/ui/assets/shellscript.js +2 -1
- package/dist/ui/assets/shellscript.js.map +1 -0
- package/dist/ui/assets/slack-dark.js +2 -1
- package/dist/ui/assets/slack-dark.js.map +1 -0
- package/dist/ui/assets/slack-ochin.js +2 -1
- package/dist/ui/assets/slack-ochin.js.map +1 -0
- package/dist/ui/assets/snazzy-light.js +2 -1
- package/dist/ui/assets/snazzy-light.js.map +1 -0
- package/dist/ui/assets/solarized-dark.js +2 -1
- package/dist/ui/assets/solarized-dark.js.map +1 -0
- package/dist/ui/assets/solarized-light.js +2 -1
- package/dist/ui/assets/solarized-light.js.map +1 -0
- package/dist/ui/assets/sql.js +2 -1
- package/dist/ui/assets/sql.js.map +1 -0
- package/dist/ui/assets/stylus.js +2 -1
- package/dist/ui/assets/stylus.js.map +1 -0
- package/dist/ui/assets/svelte.js +2 -1
- package/dist/ui/assets/svelte.js.map +1 -0
- package/dist/ui/assets/synthwave-84.js +2 -1
- package/dist/ui/assets/synthwave-84.js.map +1 -0
- package/dist/ui/assets/tokyo-night.js +2 -1
- package/dist/ui/assets/tokyo-night.js.map +1 -0
- package/dist/ui/assets/ts-tags.js +2 -1
- package/dist/ui/assets/ts-tags.js.map +1 -0
- package/dist/ui/assets/tsx.js +2 -1
- package/dist/ui/assets/tsx.js.map +1 -0
- package/dist/ui/assets/typescript.js +2 -1
- package/dist/ui/assets/typescript.js.map +1 -0
- package/dist/ui/assets/vesper.js +2 -1
- package/dist/ui/assets/vesper.js.map +1 -0
- package/dist/ui/assets/vitesse-black.js +2 -1
- package/dist/ui/assets/vitesse-black.js.map +1 -0
- package/dist/ui/assets/vitesse-dark.js +2 -1
- package/dist/ui/assets/vitesse-dark.js.map +1 -0
- package/dist/ui/assets/vitesse-light.js +2 -1
- package/dist/ui/assets/vitesse-light.js.map +1 -0
- package/dist/ui/assets/vue-html.js +2 -1
- package/dist/ui/assets/vue-html.js.map +1 -0
- package/dist/ui/assets/vue-vine.js +2 -1
- package/dist/ui/assets/vue-vine.js.map +1 -0
- package/dist/ui/assets/vue.js +2 -1
- package/dist/ui/assets/vue.js.map +1 -0
- package/dist/ui/assets/wasm.js +2 -1
- package/dist/ui/assets/wasm.js.map +1 -0
- package/dist/ui/assets/wasm2.js +2 -1
- package/dist/ui/assets/wasm2.js.map +1 -0
- package/dist/ui/assets/wgsl.js +2 -1
- package/dist/ui/assets/wgsl.js.map +1 -0
- package/dist/ui/assets/wit.js +2 -1
- package/dist/ui/assets/wit.js.map +1 -0
- package/dist/ui/assets/xml.js +2 -1
- package/dist/ui/assets/xml.js.map +1 -0
- package/dist/ui/assets/yaml.js +2 -1
- package/dist/ui/assets/yaml.js.map +1 -0
- package/dist/ui/manifest.json +17 -25
- package/package.json +3 -3
- package/dist/_virtual/re.js +0 -5
- package/dist/_virtual/re.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.js +0 -123
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.js +0 -388
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.js +0 -277
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.js +0 -11
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.js +0 -53
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.js +0 -46
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.js +0 -42
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.js +0 -22
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.js +0 -20
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.js +0 -11
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.js +0 -15
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.js +0 -11
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.js +0 -135
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.js +0 -29
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.js +0 -7
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.js +0 -22
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.js +0 -35
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.js +0 -16
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.js +0 -91
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.js +0 -28
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.js +0 -28
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.js +0 -57
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.js +0 -74
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.js +0 -49
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.js +0 -163
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.js +0 -8
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.js +0 -14
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.js.map +0 -1
- package/dist/ui/assets/client.js +0 -50
- package/dist/ui/assets/electron-index.js +0 -6
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "ade68bde-e807-4a82-bdd1-2ce9ef7e95cc", e._sentryDebugIdIdentifier = "sentry-dbid-ade68bde-e807-4a82-bdd1-2ce9ef7e95cc");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
9
|
+
import "./_sentry-release-injection-file.js";
|
|
1
10
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
2
11
|
function getDefaultExportFromCjs(x) {
|
|
3
12
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "10440584-fa4b-43a7-ace8-c740e3f8f60c", e._sentryDebugIdIdentifier = "sentry-dbid-10440584-fa4b-43a7-ace8-c740e3f8f60c");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
9
|
+
var _global = typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : {};
|
|
10
|
+
_global.SENTRY_RELEASE = { id: "4.7.1" };
|
|
11
|
+
//# sourceMappingURL=_sentry-release-injection-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_sentry-release-injection-file.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
package/dist/_virtual/cache.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "a2ad83fc-3c24-497c-abcf-6c3497c52a28", e._sentryDebugIdIdentifier = "sentry-dbid-a2ad83fc-3c24-497c-abcf-6c3497c52a28");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
1
9
|
var cache = { exports: {} };
|
|
2
10
|
export {
|
|
3
11
|
cache as __module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
package/dist/_virtual/index.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "f3ff4230-d64d-4935-9444-62c1173adfa1", e._sentryDebugIdIdentifier = "sentry-dbid-f3ff4230-d64d-4935-9444-62c1173adfa1");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
1
9
|
var jsonSchemaTraverse = { exports: {} };
|
|
2
10
|
export {
|
|
3
11
|
jsonSchemaTraverse as __module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
package/dist/_virtual/uri.all.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "f8b1597d-230d-447b-9196-35ba3f60f0a9", e._sentryDebugIdIdentifier = "sentry-dbid-f8b1597d-230d-447b-9196-35ba3f60f0a9");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
1
9
|
var uri_all = { exports: {} };
|
|
2
10
|
export {
|
|
3
11
|
uri_all as __module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uri.all.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uri.all.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
package/dist/instrument.js
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "7e4c752f-e359-4938-84cc-2e8526763c16", e._sentryDebugIdIdentifier = "sentry-dbid-7e4c752f-e359-4938-84cc-2e8526763c16");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
1
9
|
import { init } from "@sentry/node";
|
|
2
10
|
import { sentryBaseConfig } from "./sentry-config.js";
|
|
3
11
|
import { parseCLIArgs } from "./server/cli.js";
|
|
4
12
|
import { DEFAULT_PORT } from "./server/constants.js";
|
|
13
|
+
import "./_virtual/_sentry-release-injection-file.js";
|
|
5
14
|
const { port: instancePort } = parseCLIArgs();
|
|
6
15
|
const spotlightEnv = process.env.SENTRY_SPOTLIGHT;
|
|
7
16
|
let disableSpotlight = false;
|
package/dist/instrument.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.js","sources":["../src/instrument.ts"],"sourcesContent":["import { init } from \"@sentry/node\";\nimport { sentryBaseConfig } from \"./sentry-config.ts\";\nimport { parseCLIArgs } from \"./server/cli.ts\";\nimport { DEFAULT_PORT } from \"./server/constants.ts\";\n\n// Parse CLI arguments to determine the port this Spotlight instance will use\nconst { port: instancePort } = parseCLIArgs();\n\n// Check if SENTRY_SPOTLIGHT points to this instance\nconst spotlightEnv = process.env.SENTRY_SPOTLIGHT;\nlet disableSpotlight = false;\n\nif (spotlightEnv && instancePort !== 0) {\n // Note: If port is set to 0 (dynamic port assignment), we cannot detect the actual port\n // before starting the server, so we cannot prevent the feedback loop in that case.\n // The server will be assigned a port by the OS after it starts, and if SENTRY_SPOTLIGHT\n // happens to point to that same port, a feedback loop may occur.\n let targetPort: number | undefined;\n let targetHost: string | undefined;\n\n // SENTRY_SPOTLIGHT can be:\n // 1. A full URL like \"http://localhost:8969\"\n // 2. A truthy value (true, t, y, yes, on, 1) which means use the default URL\n const TRUTHY_ENV_VALUES = new Set([\"true\", \"t\", \"y\", \"yes\", \"on\", \"1\"]);\n const isTruthy = TRUTHY_ENV_VALUES.has(spotlightEnv.toLowerCase());\n\n if (isTruthy) {\n // Use default Spotlight URL\n targetHost = \"localhost\";\n targetPort = DEFAULT_PORT;\n } else {\n // Try to parse as URL\n try {\n const spotlightUrl = new URL(spotlightEnv);\n targetHost = spotlightUrl.hostname;\n targetPort = spotlightUrl.port ? Number(spotlightUrl.port) : spotlightUrl.protocol === \"https:\" ? 443 : 80;\n } catch (_err) {\n // If we can't parse it, we can't determine if it's a feedback loop, so do nothing\n targetPort = undefined;\n }\n }\n\n // Only disable if we successfully determined the target and it matches our instance\n if (targetPort !== null && targetPort !== undefined) {\n const isLocalhost = targetHost === \"localhost\" || targetHost === \"127.0.0.1\" || targetHost === \"::1\";\n\n if (isLocalhost && targetPort === instancePort) {\n disableSpotlight = true;\n console.warn(\n `⚠️ [Spotlight] SENTRY_SPOTLIGHT is set to ${spotlightEnv} which points to this Spotlight instance (port ${instancePort}). Disabling Spotlight integration to prevent feedback loop.`,\n );\n }\n }\n}\n\nconst sentry = init({\n ...sentryBaseConfig,\n dsn: \"https://51bcd92dba1128934afd1c5726c84442@o1.ingest.us.sentry.io/4508404727283713\",\n debug: Boolean(process.env.SENTRY_DEBUG),\n ...(disableSpotlight && { spotlight: false }),\n\n beforeSendTransaction: event => {\n event.server_name = undefined; // Server name might contain PII\n return event;\n },\n\n beforeSend: event => {\n const exceptions = event.exception?.values;\n if (!exceptions) {\n return event;\n }\n for (const exception of exceptions) {\n if (!exception.stacktrace || !exception.stacktrace.frames) {\n continue;\n }\n\n for (const frame of exception.stacktrace.frames) {\n if (!frame.filename) {\n continue;\n }\n\n const homeDir = process.env.HOME || process.env.USERPROFILE;\n if (homeDir) {\n frame.filename = frame.filename?.replace(homeDir, \"~\");\n }\n }\n }\n\n event.server_name = undefined; // Server name might contain PII\n return event;\n },\n});\n\nif (sentry) {\n function shutdown() {\n sentry!.close();\n }\n\n process.on(\"SIGINT\", shutdown);\n process.on(\"SIGTERM\", shutdown);\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instrument.js","sources":["../src/instrument.ts"],"sourcesContent":["import { init } from \"@sentry/node\";\nimport { sentryBaseConfig } from \"./sentry-config.ts\";\nimport { parseCLIArgs } from \"./server/cli.ts\";\nimport { DEFAULT_PORT } from \"./server/constants.ts\";\n\n// Parse CLI arguments to determine the port this Spotlight instance will use\nconst { port: instancePort } = parseCLIArgs();\n\n// Check if SENTRY_SPOTLIGHT points to this instance\nconst spotlightEnv = process.env.SENTRY_SPOTLIGHT;\nlet disableSpotlight = false;\n\nif (spotlightEnv && instancePort !== 0) {\n // Note: If port is set to 0 (dynamic port assignment), we cannot detect the actual port\n // before starting the server, so we cannot prevent the feedback loop in that case.\n // The server will be assigned a port by the OS after it starts, and if SENTRY_SPOTLIGHT\n // happens to point to that same port, a feedback loop may occur.\n let targetPort: number | undefined;\n let targetHost: string | undefined;\n\n // SENTRY_SPOTLIGHT can be:\n // 1. A full URL like \"http://localhost:8969\"\n // 2. A truthy value (true, t, y, yes, on, 1) which means use the default URL\n const TRUTHY_ENV_VALUES = new Set([\"true\", \"t\", \"y\", \"yes\", \"on\", \"1\"]);\n const isTruthy = TRUTHY_ENV_VALUES.has(spotlightEnv.toLowerCase());\n\n if (isTruthy) {\n // Use default Spotlight URL\n targetHost = \"localhost\";\n targetPort = DEFAULT_PORT;\n } else {\n // Try to parse as URL\n try {\n const spotlightUrl = new URL(spotlightEnv);\n targetHost = spotlightUrl.hostname;\n targetPort = spotlightUrl.port ? Number(spotlightUrl.port) : spotlightUrl.protocol === \"https:\" ? 443 : 80;\n } catch (_err) {\n // If we can't parse it, we can't determine if it's a feedback loop, so do nothing\n targetPort = undefined;\n }\n }\n\n // Only disable if we successfully determined the target and it matches our instance\n if (targetPort !== null && targetPort !== undefined) {\n const isLocalhost = targetHost === \"localhost\" || targetHost === \"127.0.0.1\" || targetHost === \"::1\";\n\n if (isLocalhost && targetPort === instancePort) {\n disableSpotlight = true;\n console.warn(\n `⚠️ [Spotlight] SENTRY_SPOTLIGHT is set to ${spotlightEnv} which points to this Spotlight instance (port ${instancePort}). Disabling Spotlight integration to prevent feedback loop.`,\n );\n }\n }\n}\n\nconst sentry = init({\n ...sentryBaseConfig,\n dsn: \"https://51bcd92dba1128934afd1c5726c84442@o1.ingest.us.sentry.io/4508404727283713\",\n debug: Boolean(process.env.SENTRY_DEBUG),\n ...(disableSpotlight && { spotlight: false }),\n\n beforeSendTransaction: event => {\n event.server_name = undefined; // Server name might contain PII\n return event;\n },\n\n beforeSend: event => {\n const exceptions = event.exception?.values;\n if (!exceptions) {\n return event;\n }\n for (const exception of exceptions) {\n if (!exception.stacktrace || !exception.stacktrace.frames) {\n continue;\n }\n\n for (const frame of exception.stacktrace.frames) {\n if (!frame.filename) {\n continue;\n }\n\n const homeDir = process.env.HOME || process.env.USERPROFILE;\n if (homeDir) {\n frame.filename = frame.filename?.replace(homeDir, \"~\");\n }\n }\n }\n\n event.server_name = undefined; // Server name might contain PII\n return event;\n },\n});\n\nif (sentry) {\n function shutdown() {\n sentry!.close();\n }\n\n process.on(\"SIGINT\", shutdown);\n process.on(\"SIGTERM\", shutdown);\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAMA,MAAM,EAAE,MAAM,aAAA,IAAiB,aAAA;AAG/B,MAAM,eAAe,QAAQ,IAAI;AACjC,IAAI,mBAAmB;AAEvB,IAAI,gBAAgB,iBAAiB,GAAG;AAKtC,MAAI;AACJ,MAAI;AAKJ,QAAM,oBAAoB,oBAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,OAAO,MAAM,GAAG,CAAC;AACtE,QAAM,WAAW,kBAAkB,IAAI,aAAa,aAAa;AAEjE,MAAI,UAAU;AAEZ,iBAAa;AACb,iBAAa;AAAA,EACf,OAAO;AAEL,QAAI;AACF,YAAM,eAAe,IAAI,IAAI,YAAY;AACzC,mBAAa,aAAa;AAC1B,mBAAa,aAAa,OAAO,OAAO,aAAa,IAAI,IAAI,aAAa,aAAa,WAAW,MAAM;AAAA,IAC1G,SAAS,MAAM;AAEb,mBAAa;AAAA,IACf;AAAA,EACF;AAGA,MAAI,eAAe,QAAQ,eAAe,QAAW;AACnD,UAAM,cAAc,eAAe,eAAe,eAAe,eAAe,eAAe;AAE/F,QAAI,eAAe,eAAe,cAAc;AAC9C,yBAAmB;AACnB,cAAQ;AAAA,QACN,8CAA8C,YAAY,kDAAkD,YAAY;AAAA,MAAA;AAAA,IAE5H;AAAA,EACF;AACF;AAEA,MAAM,SAAS,KAAK;AAAA,EAClB,GAAG;AAAA,EACH,KAAK;AAAA,EACL,OAAO,QAAQ,QAAQ,IAAI,YAAY;AAAA,EACvC,GAAI,oBAAoB,EAAE,WAAW,MAAA;AAAA,EAErC,uBAAuB,CAAA,UAAS;AAC9B,UAAM,cAAc;AACpB,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,CAAA,UAAS;AACnB,UAAM,aAAa,MAAM,WAAW;AACpC,QAAI,CAAC,YAAY;AACf,aAAO;AAAA,IACT;AACA,eAAW,aAAa,YAAY;AAClC,UAAI,CAAC,UAAU,cAAc,CAAC,UAAU,WAAW,QAAQ;AACzD;AAAA,MACF;AAEA,iBAAW,SAAS,UAAU,WAAW,QAAQ;AAC/C,YAAI,CAAC,MAAM,UAAU;AACnB;AAAA,QACF;AAEA,cAAM,UAAU,QAAQ,IAAI,QAAQ,QAAQ,IAAI;AAChD,YAAI,SAAS;AACX,gBAAM,WAAW,MAAM,UAAU,QAAQ,SAAS,GAAG;AAAA,QACvD;AAAA,MACF;AAAA,IACF;AAEA,UAAM,cAAc;AACpB,WAAO;AAAA,EACT;AACF,CAAC;AAED,IAAI,QAAQ;AACV,MAAS,WAAT,WAAoB;AAClB,WAAQ,MAAA;AAAA,EACV;AAEA,UAAQ,GAAG,UAAU,QAAQ;AAC7B,UAAQ,GAAG,WAAW,QAAQ;AAChC;"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "439fff9e-5776-44a8-99ba-5e5bc15ea142", e._sentryDebugIdIdentifier = "sentry-dbid-439fff9e-5776-44a8-99ba-5e5bc15ea142");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
1
9
|
import { Protocol, mergeCapabilities } from "../shared/protocol.js";
|
|
2
10
|
import { LATEST_PROTOCOL_VERSION, InitializeResultSchema, SUPPORTED_PROTOCOL_VERSIONS, EmptyResultSchema, CompleteResultSchema, GetPromptResultSchema, ListPromptsResultSchema, ListResourcesResultSchema, ListResourceTemplatesResultSchema, ReadResourceResultSchema, CallToolResultSchema, McpError, ErrorCode, ListToolsResultSchema } from "../types.js";
|
|
3
11
|
import Ajv from "../../../../../../../ajv@6.12.6/node_modules/ajv/lib/ajv.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js"],"sourcesContent":["import { mergeCapabilities, Protocol, } from \"../shared/protocol.js\";\nimport { CallToolResultSchema, CompleteResultSchema, EmptyResultSchema, GetPromptResultSchema, InitializeResultSchema, LATEST_PROTOCOL_VERSION, ListPromptsResultSchema, ListResourcesResultSchema, ListResourceTemplatesResultSchema, ListToolsResultSchema, ReadResourceResultSchema, SUPPORTED_PROTOCOL_VERSIONS, ErrorCode, McpError, } from \"../types.js\";\nimport Ajv from \"ajv\";\n/**\n * An MCP client on top of a pluggable transport.\n *\n * The client will automatically begin the initialization flow with the server when connect() is called.\n *\n * To use with custom types, extend the base Request/Notification/Result types and pass them as type parameters:\n *\n * ```typescript\n * // Custom schemas\n * const CustomRequestSchema = RequestSchema.extend({...})\n * const CustomNotificationSchema = NotificationSchema.extend({...})\n * const CustomResultSchema = ResultSchema.extend({...})\n *\n * // Type aliases\n * type CustomRequest = z.infer<typeof CustomRequestSchema>\n * type CustomNotification = z.infer<typeof CustomNotificationSchema>\n * type CustomResult = z.infer<typeof CustomResultSchema>\n *\n * // Create typed client\n * const client = new Client<CustomRequest, CustomNotification, CustomResult>({\n * name: \"CustomClient\",\n * version: \"1.0.0\"\n * })\n * ```\n */\nexport class Client extends Protocol {\n /**\n * Initializes this client with the given name and version information.\n */\n constructor(_clientInfo, options) {\n var _a;\n super(options);\n this._clientInfo = _clientInfo;\n this._cachedToolOutputValidators = new Map();\n this._capabilities = (_a = options === null || options === void 0 ? void 0 : options.capabilities) !== null && _a !== void 0 ? _a : {};\n this._ajv = new Ajv();\n }\n /**\n * Registers new capabilities. This can only be called before connecting to a transport.\n *\n * The new capabilities will be merged with any existing capabilities previously given (e.g., at initialization).\n */\n registerCapabilities(capabilities) {\n if (this.transport) {\n throw new Error(\"Cannot register capabilities after connecting to transport\");\n }\n this._capabilities = mergeCapabilities(this._capabilities, capabilities);\n }\n assertCapability(capability, method) {\n var _a;\n if (!((_a = this._serverCapabilities) === null || _a === void 0 ? void 0 : _a[capability])) {\n throw new Error(`Server does not support ${capability} (required for ${method})`);\n }\n }\n async connect(transport, options) {\n await super.connect(transport);\n // When transport sessionId is already set this means we are trying to reconnect.\n // In this case we don't need to initialize again.\n if (transport.sessionId !== undefined) {\n return;\n }\n try {\n const result = await this.request({\n method: \"initialize\",\n params: {\n protocolVersion: LATEST_PROTOCOL_VERSION,\n capabilities: this._capabilities,\n clientInfo: this._clientInfo,\n },\n }, InitializeResultSchema, options);\n if (result === undefined) {\n throw new Error(`Server sent invalid initialize result: ${result}`);\n }\n if (!SUPPORTED_PROTOCOL_VERSIONS.includes(result.protocolVersion)) {\n throw new Error(`Server's protocol version is not supported: ${result.protocolVersion}`);\n }\n this._serverCapabilities = result.capabilities;\n this._serverVersion = result.serverInfo;\n // HTTP transports must set the protocol version in each header after initialization.\n if (transport.setProtocolVersion) {\n transport.setProtocolVersion(result.protocolVersion);\n }\n this._instructions = result.instructions;\n await this.notification({\n method: \"notifications/initialized\",\n });\n }\n catch (error) {\n // Disconnect if initialization fails.\n void this.close();\n throw error;\n }\n }\n /**\n * After initialization has completed, this will be populated with the server's reported capabilities.\n */\n getServerCapabilities() {\n return this._serverCapabilities;\n }\n /**\n * After initialization has completed, this will be populated with information about the server's name and version.\n */\n getServerVersion() {\n return this._serverVersion;\n }\n /**\n * After initialization has completed, this may be populated with information about the server's instructions.\n */\n getInstructions() {\n return this._instructions;\n }\n assertCapabilityForMethod(method) {\n var _a, _b, _c, _d, _e;\n switch (method) {\n case \"logging/setLevel\":\n if (!((_a = this._serverCapabilities) === null || _a === void 0 ? void 0 : _a.logging)) {\n throw new Error(`Server does not support logging (required for ${method})`);\n }\n break;\n case \"prompts/get\":\n case \"prompts/list\":\n if (!((_b = this._serverCapabilities) === null || _b === void 0 ? void 0 : _b.prompts)) {\n throw new Error(`Server does not support prompts (required for ${method})`);\n }\n break;\n case \"resources/list\":\n case \"resources/templates/list\":\n case \"resources/read\":\n case \"resources/subscribe\":\n case \"resources/unsubscribe\":\n if (!((_c = this._serverCapabilities) === null || _c === void 0 ? void 0 : _c.resources)) {\n throw new Error(`Server does not support resources (required for ${method})`);\n }\n if (method === \"resources/subscribe\" &&\n !this._serverCapabilities.resources.subscribe) {\n throw new Error(`Server does not support resource subscriptions (required for ${method})`);\n }\n break;\n case \"tools/call\":\n case \"tools/list\":\n if (!((_d = this._serverCapabilities) === null || _d === void 0 ? void 0 : _d.tools)) {\n throw new Error(`Server does not support tools (required for ${method})`);\n }\n break;\n case \"completion/complete\":\n if (!((_e = this._serverCapabilities) === null || _e === void 0 ? void 0 : _e.completions)) {\n throw new Error(`Server does not support completions (required for ${method})`);\n }\n break;\n case \"initialize\":\n // No specific capability required for initialize\n break;\n case \"ping\":\n // No specific capability required for ping\n break;\n }\n }\n assertNotificationCapability(method) {\n var _a;\n switch (method) {\n case \"notifications/roots/list_changed\":\n if (!((_a = this._capabilities.roots) === null || _a === void 0 ? void 0 : _a.listChanged)) {\n throw new Error(`Client does not support roots list changed notifications (required for ${method})`);\n }\n break;\n case \"notifications/initialized\":\n // No specific capability required for initialized\n break;\n case \"notifications/cancelled\":\n // Cancellation notifications are always allowed\n break;\n case \"notifications/progress\":\n // Progress notifications are always allowed\n break;\n }\n }\n assertRequestHandlerCapability(method) {\n switch (method) {\n case \"sampling/createMessage\":\n if (!this._capabilities.sampling) {\n throw new Error(`Client does not support sampling capability (required for ${method})`);\n }\n break;\n case \"elicitation/create\":\n if (!this._capabilities.elicitation) {\n throw new Error(`Client does not support elicitation capability (required for ${method})`);\n }\n break;\n case \"roots/list\":\n if (!this._capabilities.roots) {\n throw new Error(`Client does not support roots capability (required for ${method})`);\n }\n break;\n case \"ping\":\n // No specific capability required for ping\n break;\n }\n }\n async ping(options) {\n return this.request({ method: \"ping\" }, EmptyResultSchema, options);\n }\n async complete(params, options) {\n return this.request({ method: \"completion/complete\", params }, CompleteResultSchema, options);\n }\n async setLoggingLevel(level, options) {\n return this.request({ method: \"logging/setLevel\", params: { level } }, EmptyResultSchema, options);\n }\n async getPrompt(params, options) {\n return this.request({ method: \"prompts/get\", params }, GetPromptResultSchema, options);\n }\n async listPrompts(params, options) {\n return this.request({ method: \"prompts/list\", params }, ListPromptsResultSchema, options);\n }\n async listResources(params, options) {\n return this.request({ method: \"resources/list\", params }, ListResourcesResultSchema, options);\n }\n async listResourceTemplates(params, options) {\n return this.request({ method: \"resources/templates/list\", params }, ListResourceTemplatesResultSchema, options);\n }\n async readResource(params, options) {\n return this.request({ method: \"resources/read\", params }, ReadResourceResultSchema, options);\n }\n async subscribeResource(params, options) {\n return this.request({ method: \"resources/subscribe\", params }, EmptyResultSchema, options);\n }\n async unsubscribeResource(params, options) {\n return this.request({ method: \"resources/unsubscribe\", params }, EmptyResultSchema, options);\n }\n async callTool(params, resultSchema = CallToolResultSchema, options) {\n const result = await this.request({ method: \"tools/call\", params }, resultSchema, options);\n // Check if the tool has an outputSchema\n const validator = this.getToolOutputValidator(params.name);\n if (validator) {\n // If tool has outputSchema, it MUST return structuredContent (unless it's an error)\n if (!result.structuredContent && !result.isError) {\n throw new McpError(ErrorCode.InvalidRequest, `Tool ${params.name} has an output schema but did not return structured content`);\n }\n // Only validate structured content if present (not when there's an error)\n if (result.structuredContent) {\n try {\n // Validate the structured content (which is already an object) against the schema\n const isValid = validator(result.structuredContent);\n if (!isValid) {\n throw new McpError(ErrorCode.InvalidParams, `Structured content does not match the tool's output schema: ${this._ajv.errorsText(validator.errors)}`);\n }\n }\n catch (error) {\n if (error instanceof McpError) {\n throw error;\n }\n throw new McpError(ErrorCode.InvalidParams, `Failed to validate structured content: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n }\n return result;\n }\n cacheToolOutputSchemas(tools) {\n this._cachedToolOutputValidators.clear();\n for (const tool of tools) {\n // If the tool has an outputSchema, create and cache the Ajv validator\n if (tool.outputSchema) {\n try {\n const validator = this._ajv.compile(tool.outputSchema);\n this._cachedToolOutputValidators.set(tool.name, validator);\n }\n catch (_a) {\n // Ignore schema compilation errors\n }\n }\n }\n }\n getToolOutputValidator(toolName) {\n return this._cachedToolOutputValidators.get(toolName);\n }\n async listTools(params, options) {\n const result = await this.request({ method: \"tools/list\", params }, ListToolsResultSchema, options);\n // Cache the tools and their output schemas for future validation\n this.cacheToolOutputSchemas(result.tools);\n return result;\n }\n async sendRootsListChanged() {\n return this.notification({ method: \"notifications/roots/list_changed\" });\n }\n}\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js"],"sourcesContent":["import { mergeCapabilities, Protocol, } from \"../shared/protocol.js\";\nimport { CallToolResultSchema, CompleteResultSchema, EmptyResultSchema, GetPromptResultSchema, InitializeResultSchema, LATEST_PROTOCOL_VERSION, ListPromptsResultSchema, ListResourcesResultSchema, ListResourceTemplatesResultSchema, ListToolsResultSchema, ReadResourceResultSchema, SUPPORTED_PROTOCOL_VERSIONS, ErrorCode, McpError, } from \"../types.js\";\nimport Ajv from \"ajv\";\n/**\n * An MCP client on top of a pluggable transport.\n *\n * The client will automatically begin the initialization flow with the server when connect() is called.\n *\n * To use with custom types, extend the base Request/Notification/Result types and pass them as type parameters:\n *\n * ```typescript\n * // Custom schemas\n * const CustomRequestSchema = RequestSchema.extend({...})\n * const CustomNotificationSchema = NotificationSchema.extend({...})\n * const CustomResultSchema = ResultSchema.extend({...})\n *\n * // Type aliases\n * type CustomRequest = z.infer<typeof CustomRequestSchema>\n * type CustomNotification = z.infer<typeof CustomNotificationSchema>\n * type CustomResult = z.infer<typeof CustomResultSchema>\n *\n * // Create typed client\n * const client = new Client<CustomRequest, CustomNotification, CustomResult>({\n * name: \"CustomClient\",\n * version: \"1.0.0\"\n * })\n * ```\n */\nexport class Client extends Protocol {\n /**\n * Initializes this client with the given name and version information.\n */\n constructor(_clientInfo, options) {\n var _a;\n super(options);\n this._clientInfo = _clientInfo;\n this._cachedToolOutputValidators = new Map();\n this._capabilities = (_a = options === null || options === void 0 ? void 0 : options.capabilities) !== null && _a !== void 0 ? _a : {};\n this._ajv = new Ajv();\n }\n /**\n * Registers new capabilities. This can only be called before connecting to a transport.\n *\n * The new capabilities will be merged with any existing capabilities previously given (e.g., at initialization).\n */\n registerCapabilities(capabilities) {\n if (this.transport) {\n throw new Error(\"Cannot register capabilities after connecting to transport\");\n }\n this._capabilities = mergeCapabilities(this._capabilities, capabilities);\n }\n assertCapability(capability, method) {\n var _a;\n if (!((_a = this._serverCapabilities) === null || _a === void 0 ? void 0 : _a[capability])) {\n throw new Error(`Server does not support ${capability} (required for ${method})`);\n }\n }\n async connect(transport, options) {\n await super.connect(transport);\n // When transport sessionId is already set this means we are trying to reconnect.\n // In this case we don't need to initialize again.\n if (transport.sessionId !== undefined) {\n return;\n }\n try {\n const result = await this.request({\n method: \"initialize\",\n params: {\n protocolVersion: LATEST_PROTOCOL_VERSION,\n capabilities: this._capabilities,\n clientInfo: this._clientInfo,\n },\n }, InitializeResultSchema, options);\n if (result === undefined) {\n throw new Error(`Server sent invalid initialize result: ${result}`);\n }\n if (!SUPPORTED_PROTOCOL_VERSIONS.includes(result.protocolVersion)) {\n throw new Error(`Server's protocol version is not supported: ${result.protocolVersion}`);\n }\n this._serverCapabilities = result.capabilities;\n this._serverVersion = result.serverInfo;\n // HTTP transports must set the protocol version in each header after initialization.\n if (transport.setProtocolVersion) {\n transport.setProtocolVersion(result.protocolVersion);\n }\n this._instructions = result.instructions;\n await this.notification({\n method: \"notifications/initialized\",\n });\n }\n catch (error) {\n // Disconnect if initialization fails.\n void this.close();\n throw error;\n }\n }\n /**\n * After initialization has completed, this will be populated with the server's reported capabilities.\n */\n getServerCapabilities() {\n return this._serverCapabilities;\n }\n /**\n * After initialization has completed, this will be populated with information about the server's name and version.\n */\n getServerVersion() {\n return this._serverVersion;\n }\n /**\n * After initialization has completed, this may be populated with information about the server's instructions.\n */\n getInstructions() {\n return this._instructions;\n }\n assertCapabilityForMethod(method) {\n var _a, _b, _c, _d, _e;\n switch (method) {\n case \"logging/setLevel\":\n if (!((_a = this._serverCapabilities) === null || _a === void 0 ? void 0 : _a.logging)) {\n throw new Error(`Server does not support logging (required for ${method})`);\n }\n break;\n case \"prompts/get\":\n case \"prompts/list\":\n if (!((_b = this._serverCapabilities) === null || _b === void 0 ? void 0 : _b.prompts)) {\n throw new Error(`Server does not support prompts (required for ${method})`);\n }\n break;\n case \"resources/list\":\n case \"resources/templates/list\":\n case \"resources/read\":\n case \"resources/subscribe\":\n case \"resources/unsubscribe\":\n if (!((_c = this._serverCapabilities) === null || _c === void 0 ? void 0 : _c.resources)) {\n throw new Error(`Server does not support resources (required for ${method})`);\n }\n if (method === \"resources/subscribe\" &&\n !this._serverCapabilities.resources.subscribe) {\n throw new Error(`Server does not support resource subscriptions (required for ${method})`);\n }\n break;\n case \"tools/call\":\n case \"tools/list\":\n if (!((_d = this._serverCapabilities) === null || _d === void 0 ? void 0 : _d.tools)) {\n throw new Error(`Server does not support tools (required for ${method})`);\n }\n break;\n case \"completion/complete\":\n if (!((_e = this._serverCapabilities) === null || _e === void 0 ? void 0 : _e.completions)) {\n throw new Error(`Server does not support completions (required for ${method})`);\n }\n break;\n case \"initialize\":\n // No specific capability required for initialize\n break;\n case \"ping\":\n // No specific capability required for ping\n break;\n }\n }\n assertNotificationCapability(method) {\n var _a;\n switch (method) {\n case \"notifications/roots/list_changed\":\n if (!((_a = this._capabilities.roots) === null || _a === void 0 ? void 0 : _a.listChanged)) {\n throw new Error(`Client does not support roots list changed notifications (required for ${method})`);\n }\n break;\n case \"notifications/initialized\":\n // No specific capability required for initialized\n break;\n case \"notifications/cancelled\":\n // Cancellation notifications are always allowed\n break;\n case \"notifications/progress\":\n // Progress notifications are always allowed\n break;\n }\n }\n assertRequestHandlerCapability(method) {\n switch (method) {\n case \"sampling/createMessage\":\n if (!this._capabilities.sampling) {\n throw new Error(`Client does not support sampling capability (required for ${method})`);\n }\n break;\n case \"elicitation/create\":\n if (!this._capabilities.elicitation) {\n throw new Error(`Client does not support elicitation capability (required for ${method})`);\n }\n break;\n case \"roots/list\":\n if (!this._capabilities.roots) {\n throw new Error(`Client does not support roots capability (required for ${method})`);\n }\n break;\n case \"ping\":\n // No specific capability required for ping\n break;\n }\n }\n async ping(options) {\n return this.request({ method: \"ping\" }, EmptyResultSchema, options);\n }\n async complete(params, options) {\n return this.request({ method: \"completion/complete\", params }, CompleteResultSchema, options);\n }\n async setLoggingLevel(level, options) {\n return this.request({ method: \"logging/setLevel\", params: { level } }, EmptyResultSchema, options);\n }\n async getPrompt(params, options) {\n return this.request({ method: \"prompts/get\", params }, GetPromptResultSchema, options);\n }\n async listPrompts(params, options) {\n return this.request({ method: \"prompts/list\", params }, ListPromptsResultSchema, options);\n }\n async listResources(params, options) {\n return this.request({ method: \"resources/list\", params }, ListResourcesResultSchema, options);\n }\n async listResourceTemplates(params, options) {\n return this.request({ method: \"resources/templates/list\", params }, ListResourceTemplatesResultSchema, options);\n }\n async readResource(params, options) {\n return this.request({ method: \"resources/read\", params }, ReadResourceResultSchema, options);\n }\n async subscribeResource(params, options) {\n return this.request({ method: \"resources/subscribe\", params }, EmptyResultSchema, options);\n }\n async unsubscribeResource(params, options) {\n return this.request({ method: \"resources/unsubscribe\", params }, EmptyResultSchema, options);\n }\n async callTool(params, resultSchema = CallToolResultSchema, options) {\n const result = await this.request({ method: \"tools/call\", params }, resultSchema, options);\n // Check if the tool has an outputSchema\n const validator = this.getToolOutputValidator(params.name);\n if (validator) {\n // If tool has outputSchema, it MUST return structuredContent (unless it's an error)\n if (!result.structuredContent && !result.isError) {\n throw new McpError(ErrorCode.InvalidRequest, `Tool ${params.name} has an output schema but did not return structured content`);\n }\n // Only validate structured content if present (not when there's an error)\n if (result.structuredContent) {\n try {\n // Validate the structured content (which is already an object) against the schema\n const isValid = validator(result.structuredContent);\n if (!isValid) {\n throw new McpError(ErrorCode.InvalidParams, `Structured content does not match the tool's output schema: ${this._ajv.errorsText(validator.errors)}`);\n }\n }\n catch (error) {\n if (error instanceof McpError) {\n throw error;\n }\n throw new McpError(ErrorCode.InvalidParams, `Failed to validate structured content: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n }\n return result;\n }\n cacheToolOutputSchemas(tools) {\n this._cachedToolOutputValidators.clear();\n for (const tool of tools) {\n // If the tool has an outputSchema, create and cache the Ajv validator\n if (tool.outputSchema) {\n try {\n const validator = this._ajv.compile(tool.outputSchema);\n this._cachedToolOutputValidators.set(tool.name, validator);\n }\n catch (_a) {\n // Ignore schema compilation errors\n }\n }\n }\n }\n getToolOutputValidator(toolName) {\n return this._cachedToolOutputValidators.get(toolName);\n }\n async listTools(params, options) {\n const result = await this.request({ method: \"tools/list\", params }, ListToolsResultSchema, options);\n // Cache the tools and their output schemas for future validation\n this.cacheToolOutputSchemas(result.tools);\n return result;\n }\n async sendRootsListChanged() {\n return this.notification({ method: \"notifications/roots/list_changed\" });\n }\n}\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "4301bfa9-a9f3-40eb-92da-44f009d76a71", e._sentryDebugIdIdentifier = "sentry-dbid-4301bfa9-a9f3-40eb-92da-44f009d76a71");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
1
9
|
import { ZodType } from "zod";
|
|
2
10
|
var McpZodTypeKind;
|
|
3
11
|
(function(McpZodTypeKind2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completable.js","sources":["../../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js"],"sourcesContent":["import { ZodType, } from \"zod\";\nexport var McpZodTypeKind;\n(function (McpZodTypeKind) {\n McpZodTypeKind[\"Completable\"] = \"McpCompletable\";\n})(McpZodTypeKind || (McpZodTypeKind = {}));\nexport class Completable extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nCompletable.create = (type, params) => {\n return new Completable({\n type,\n typeName: McpZodTypeKind.Completable,\n complete: params.complete,\n ...processCreateParams(params),\n });\n};\n/**\n * Wraps a Zod type to provide autocompletion capabilities. Useful for, e.g., prompt arguments in MCP.\n */\nexport function completable(schema, complete) {\n return Completable.create(schema, { ...schema._def, complete });\n}\n// Not sure why this isn't exported from Zod:\n// https://github.com/colinhacks/zod/blob/f7ad26147ba291cb3fb257545972a8e00e767470/src/types.ts#L130\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n var _a, _b;\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message !== null && message !== void 0 ? message : ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\n//# sourceMappingURL=completable.js.map"],"names":["McpZodTypeKind"],"mappings":"
|
|
1
|
+
{"version":3,"file":"completable.js","sources":["../../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js"],"sourcesContent":["import { ZodType, } from \"zod\";\nexport var McpZodTypeKind;\n(function (McpZodTypeKind) {\n McpZodTypeKind[\"Completable\"] = \"McpCompletable\";\n})(McpZodTypeKind || (McpZodTypeKind = {}));\nexport class Completable extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nCompletable.create = (type, params) => {\n return new Completable({\n type,\n typeName: McpZodTypeKind.Completable,\n complete: params.complete,\n ...processCreateParams(params),\n });\n};\n/**\n * Wraps a Zod type to provide autocompletion capabilities. Useful for, e.g., prompt arguments in MCP.\n */\nexport function completable(schema, complete) {\n return Completable.create(schema, { ...schema._def, complete });\n}\n// Not sure why this isn't exported from Zod:\n// https://github.com/colinhacks/zod/blob/f7ad26147ba291cb3fb257545972a8e00e767470/src/types.ts#L130\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n var _a, _b;\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message !== null && message !== void 0 ? message : ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\n//# sourceMappingURL=completable.js.map"],"names":["McpZodTypeKind"],"mappings":";;;;;;;;;AACU,IAAC;AAAA,CACV,SAAUA,iBAAgB;AACvB,EAAAA,gBAAe,aAAa,IAAI;AACpC,GAAG,mBAAmB,iBAAiB,CAAA,EAAG;AACnC,MAAM,oBAAoB,QAAQ;AAAA,EACrC,OAAO,OAAO;AACV,UAAM,EAAE,IAAG,IAAK,KAAK,oBAAoB,KAAK;AAC9C,UAAM,OAAO,IAAI;AACjB,WAAO,KAAK,KAAK,KAAK,OAAO;AAAA,MACzB;AAAA,MACA,MAAM,IAAI;AAAA,MACV,QAAQ;AAAA,IACpB,CAAS;AAAA,EACL;AAAA,EACA,SAAS;AACL,WAAO,KAAK,KAAK;AAAA,EACrB;AACJ;AACA,YAAY,SAAS,CAAC,MAAM,WAAW;AACnC,SAAO,IAAI,YAAY;AAAA,IACnB;AAAA,IACA,UAAU,eAAe;AAAA,IACzB,UAAU,OAAO;AAAA,IACjB,GAAG,oBAAoB,MAAM;AAAA,EACrC,CAAK;AACL;AASA,SAAS,oBAAoB,QAAQ;AACjC,MAAI,CAAC;AACD,WAAO,CAAA;AACX,QAAM,EAAE,UAAU,oBAAoB,gBAAgB,YAAW,IAAK;AACtE,MAAI,aAAa,sBAAsB,iBAAiB;AACpD,UAAM,IAAI,MAAM,0FAA0F;AAAA,EAC9G;AACA,MAAI;AACA,WAAO,EAAE,UAAoB,YAAW;AAC5C,QAAM,YAAY,CAAC,KAAK,QAAQ;AAC5B,QAAI,IAAI;AACR,UAAM,EAAE,QAAO,IAAK;AACpB,QAAI,IAAI,SAAS,sBAAsB;AACnC,aAAO,EAAE,SAAS,YAAY,QAAQ,YAAY,SAAS,UAAU,IAAI,aAAY;AAAA,IACzF;AACA,QAAI,OAAO,IAAI,SAAS,aAAa;AACjC,aAAO,EAAE,UAAU,KAAK,YAAY,QAAQ,YAAY,SAAS,UAAU,oBAAoB,QAAQ,OAAO,SAAS,KAAK,IAAI,aAAY;AAAA,IAChJ;AACA,QAAI,IAAI,SAAS;AACb,aAAO,EAAE,SAAS,IAAI,aAAY;AACtC,WAAO,EAAE,UAAU,KAAK,YAAY,QAAQ,YAAY,SAAS,UAAU,wBAAwB,QAAQ,OAAO,SAAS,KAAK,IAAI,aAAY;AAAA,EACpJ;AACA,SAAO,EAAE,UAAU,WAAW,YAAW;AAC7C;","x_google_ignoreList":[0]}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "d0d8a73c-a351-4575-94e8-096205caf450", e._sentryDebugIdIdentifier = "sentry-dbid-d0d8a73c-a351-4575-94e8-096205caf450");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
1
9
|
import { Protocol, mergeCapabilities } from "../shared/protocol.js";
|
|
2
10
|
import { InitializeRequestSchema, InitializedNotificationSchema, LATEST_PROTOCOL_VERSION, EmptyResultSchema, CreateMessageResultSchema, ElicitResultSchema, McpError, ErrorCode, ListRootsResultSchema, SUPPORTED_PROTOCOL_VERSIONS } from "../types.js";
|
|
3
11
|
import Ajv from "../../../../../../../ajv@6.12.6/node_modules/ajv/lib/ajv.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js"],"sourcesContent":["import { mergeCapabilities, Protocol, } from \"../shared/protocol.js\";\nimport { CreateMessageResultSchema, ElicitResultSchema, EmptyResultSchema, InitializedNotificationSchema, InitializeRequestSchema, LATEST_PROTOCOL_VERSION, ListRootsResultSchema, McpError, ErrorCode, SUPPORTED_PROTOCOL_VERSIONS, } from \"../types.js\";\nimport Ajv from \"ajv\";\n/**\n * An MCP server on top of a pluggable transport.\n *\n * This server will automatically respond to the initialization flow as initiated from the client.\n *\n * To use with custom types, extend the base Request/Notification/Result types and pass them as type parameters:\n *\n * ```typescript\n * // Custom schemas\n * const CustomRequestSchema = RequestSchema.extend({...})\n * const CustomNotificationSchema = NotificationSchema.extend({...})\n * const CustomResultSchema = ResultSchema.extend({...})\n *\n * // Type aliases\n * type CustomRequest = z.infer<typeof CustomRequestSchema>\n * type CustomNotification = z.infer<typeof CustomNotificationSchema>\n * type CustomResult = z.infer<typeof CustomResultSchema>\n *\n * // Create typed server\n * const server = new Server<CustomRequest, CustomNotification, CustomResult>({\n * name: \"CustomServer\",\n * version: \"1.0.0\"\n * })\n * ```\n */\nexport class Server extends Protocol {\n /**\n * Initializes this server with the given name and version information.\n */\n constructor(_serverInfo, options) {\n var _a;\n super(options);\n this._serverInfo = _serverInfo;\n this._capabilities = (_a = options === null || options === void 0 ? void 0 : options.capabilities) !== null && _a !== void 0 ? _a : {};\n this._instructions = options === null || options === void 0 ? void 0 : options.instructions;\n this.setRequestHandler(InitializeRequestSchema, (request) => this._oninitialize(request));\n this.setNotificationHandler(InitializedNotificationSchema, () => { var _a; return (_a = this.oninitialized) === null || _a === void 0 ? void 0 : _a.call(this); });\n }\n /**\n * Registers new capabilities. This can only be called before connecting to a transport.\n *\n * The new capabilities will be merged with any existing capabilities previously given (e.g., at initialization).\n */\n registerCapabilities(capabilities) {\n if (this.transport) {\n throw new Error(\"Cannot register capabilities after connecting to transport\");\n }\n this._capabilities = mergeCapabilities(this._capabilities, capabilities);\n }\n assertCapabilityForMethod(method) {\n var _a, _b, _c;\n switch (method) {\n case \"sampling/createMessage\":\n if (!((_a = this._clientCapabilities) === null || _a === void 0 ? void 0 : _a.sampling)) {\n throw new Error(`Client does not support sampling (required for ${method})`);\n }\n break;\n case \"elicitation/create\":\n if (!((_b = this._clientCapabilities) === null || _b === void 0 ? void 0 : _b.elicitation)) {\n throw new Error(`Client does not support elicitation (required for ${method})`);\n }\n break;\n case \"roots/list\":\n if (!((_c = this._clientCapabilities) === null || _c === void 0 ? void 0 : _c.roots)) {\n throw new Error(`Client does not support listing roots (required for ${method})`);\n }\n break;\n case \"ping\":\n // No specific capability required for ping\n break;\n }\n }\n assertNotificationCapability(method) {\n switch (method) {\n case \"notifications/message\":\n if (!this._capabilities.logging) {\n throw new Error(`Server does not support logging (required for ${method})`);\n }\n break;\n case \"notifications/resources/updated\":\n case \"notifications/resources/list_changed\":\n if (!this._capabilities.resources) {\n throw new Error(`Server does not support notifying about resources (required for ${method})`);\n }\n break;\n case \"notifications/tools/list_changed\":\n if (!this._capabilities.tools) {\n throw new Error(`Server does not support notifying of tool list changes (required for ${method})`);\n }\n break;\n case \"notifications/prompts/list_changed\":\n if (!this._capabilities.prompts) {\n throw new Error(`Server does not support notifying of prompt list changes (required for ${method})`);\n }\n break;\n case \"notifications/cancelled\":\n // Cancellation notifications are always allowed\n break;\n case \"notifications/progress\":\n // Progress notifications are always allowed\n break;\n }\n }\n assertRequestHandlerCapability(method) {\n switch (method) {\n case \"sampling/createMessage\":\n if (!this._capabilities.sampling) {\n throw new Error(`Server does not support sampling (required for ${method})`);\n }\n break;\n case \"logging/setLevel\":\n if (!this._capabilities.logging) {\n throw new Error(`Server does not support logging (required for ${method})`);\n }\n break;\n case \"prompts/get\":\n case \"prompts/list\":\n if (!this._capabilities.prompts) {\n throw new Error(`Server does not support prompts (required for ${method})`);\n }\n break;\n case \"resources/list\":\n case \"resources/templates/list\":\n case \"resources/read\":\n if (!this._capabilities.resources) {\n throw new Error(`Server does not support resources (required for ${method})`);\n }\n break;\n case \"tools/call\":\n case \"tools/list\":\n if (!this._capabilities.tools) {\n throw new Error(`Server does not support tools (required for ${method})`);\n }\n break;\n case \"ping\":\n case \"initialize\":\n // No specific capability required for these methods\n break;\n }\n }\n async _oninitialize(request) {\n const requestedVersion = request.params.protocolVersion;\n this._clientCapabilities = request.params.capabilities;\n this._clientVersion = request.params.clientInfo;\n const protocolVersion = SUPPORTED_PROTOCOL_VERSIONS.includes(requestedVersion)\n ? requestedVersion\n : LATEST_PROTOCOL_VERSION;\n return {\n protocolVersion,\n capabilities: this.getCapabilities(),\n serverInfo: this._serverInfo,\n ...(this._instructions && { instructions: this._instructions }),\n };\n }\n /**\n * After initialization has completed, this will be populated with the client's reported capabilities.\n */\n getClientCapabilities() {\n return this._clientCapabilities;\n }\n /**\n * After initialization has completed, this will be populated with information about the client's name and version.\n */\n getClientVersion() {\n return this._clientVersion;\n }\n getCapabilities() {\n return this._capabilities;\n }\n async ping() {\n return this.request({ method: \"ping\" }, EmptyResultSchema);\n }\n async createMessage(params, options) {\n return this.request({ method: \"sampling/createMessage\", params }, CreateMessageResultSchema, options);\n }\n async elicitInput(params, options) {\n const result = await this.request({ method: \"elicitation/create\", params }, ElicitResultSchema, options);\n // Validate the response content against the requested schema if action is \"accept\"\n if (result.action === \"accept\" && result.content) {\n try {\n const ajv = new Ajv();\n const validate = ajv.compile(params.requestedSchema);\n const isValid = validate(result.content);\n if (!isValid) {\n throw new McpError(ErrorCode.InvalidParams, `Elicitation response content does not match requested schema: ${ajv.errorsText(validate.errors)}`);\n }\n }\n catch (error) {\n if (error instanceof McpError) {\n throw error;\n }\n throw new McpError(ErrorCode.InternalError, `Error validating elicitation response: ${error}`);\n }\n }\n return result;\n }\n async listRoots(params, options) {\n return this.request({ method: \"roots/list\", params }, ListRootsResultSchema, options);\n }\n async sendLoggingMessage(params) {\n return this.notification({ method: \"notifications/message\", params });\n }\n async sendResourceUpdated(params) {\n return this.notification({\n method: \"notifications/resources/updated\",\n params,\n });\n }\n async sendResourceListChanged() {\n return this.notification({\n method: \"notifications/resources/list_changed\",\n });\n }\n async sendToolListChanged() {\n return this.notification({ method: \"notifications/tools/list_changed\" });\n }\n async sendPromptListChanged() {\n return this.notification({ method: \"notifications/prompts/list_changed\" });\n }\n}\n//# sourceMappingURL=index.js.map"],"names":["_a"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js"],"sourcesContent":["import { mergeCapabilities, Protocol, } from \"../shared/protocol.js\";\nimport { CreateMessageResultSchema, ElicitResultSchema, EmptyResultSchema, InitializedNotificationSchema, InitializeRequestSchema, LATEST_PROTOCOL_VERSION, ListRootsResultSchema, McpError, ErrorCode, SUPPORTED_PROTOCOL_VERSIONS, } from \"../types.js\";\nimport Ajv from \"ajv\";\n/**\n * An MCP server on top of a pluggable transport.\n *\n * This server will automatically respond to the initialization flow as initiated from the client.\n *\n * To use with custom types, extend the base Request/Notification/Result types and pass them as type parameters:\n *\n * ```typescript\n * // Custom schemas\n * const CustomRequestSchema = RequestSchema.extend({...})\n * const CustomNotificationSchema = NotificationSchema.extend({...})\n * const CustomResultSchema = ResultSchema.extend({...})\n *\n * // Type aliases\n * type CustomRequest = z.infer<typeof CustomRequestSchema>\n * type CustomNotification = z.infer<typeof CustomNotificationSchema>\n * type CustomResult = z.infer<typeof CustomResultSchema>\n *\n * // Create typed server\n * const server = new Server<CustomRequest, CustomNotification, CustomResult>({\n * name: \"CustomServer\",\n * version: \"1.0.0\"\n * })\n * ```\n */\nexport class Server extends Protocol {\n /**\n * Initializes this server with the given name and version information.\n */\n constructor(_serverInfo, options) {\n var _a;\n super(options);\n this._serverInfo = _serverInfo;\n this._capabilities = (_a = options === null || options === void 0 ? void 0 : options.capabilities) !== null && _a !== void 0 ? _a : {};\n this._instructions = options === null || options === void 0 ? void 0 : options.instructions;\n this.setRequestHandler(InitializeRequestSchema, (request) => this._oninitialize(request));\n this.setNotificationHandler(InitializedNotificationSchema, () => { var _a; return (_a = this.oninitialized) === null || _a === void 0 ? void 0 : _a.call(this); });\n }\n /**\n * Registers new capabilities. This can only be called before connecting to a transport.\n *\n * The new capabilities will be merged with any existing capabilities previously given (e.g., at initialization).\n */\n registerCapabilities(capabilities) {\n if (this.transport) {\n throw new Error(\"Cannot register capabilities after connecting to transport\");\n }\n this._capabilities = mergeCapabilities(this._capabilities, capabilities);\n }\n assertCapabilityForMethod(method) {\n var _a, _b, _c;\n switch (method) {\n case \"sampling/createMessage\":\n if (!((_a = this._clientCapabilities) === null || _a === void 0 ? void 0 : _a.sampling)) {\n throw new Error(`Client does not support sampling (required for ${method})`);\n }\n break;\n case \"elicitation/create\":\n if (!((_b = this._clientCapabilities) === null || _b === void 0 ? void 0 : _b.elicitation)) {\n throw new Error(`Client does not support elicitation (required for ${method})`);\n }\n break;\n case \"roots/list\":\n if (!((_c = this._clientCapabilities) === null || _c === void 0 ? void 0 : _c.roots)) {\n throw new Error(`Client does not support listing roots (required for ${method})`);\n }\n break;\n case \"ping\":\n // No specific capability required for ping\n break;\n }\n }\n assertNotificationCapability(method) {\n switch (method) {\n case \"notifications/message\":\n if (!this._capabilities.logging) {\n throw new Error(`Server does not support logging (required for ${method})`);\n }\n break;\n case \"notifications/resources/updated\":\n case \"notifications/resources/list_changed\":\n if (!this._capabilities.resources) {\n throw new Error(`Server does not support notifying about resources (required for ${method})`);\n }\n break;\n case \"notifications/tools/list_changed\":\n if (!this._capabilities.tools) {\n throw new Error(`Server does not support notifying of tool list changes (required for ${method})`);\n }\n break;\n case \"notifications/prompts/list_changed\":\n if (!this._capabilities.prompts) {\n throw new Error(`Server does not support notifying of prompt list changes (required for ${method})`);\n }\n break;\n case \"notifications/cancelled\":\n // Cancellation notifications are always allowed\n break;\n case \"notifications/progress\":\n // Progress notifications are always allowed\n break;\n }\n }\n assertRequestHandlerCapability(method) {\n switch (method) {\n case \"sampling/createMessage\":\n if (!this._capabilities.sampling) {\n throw new Error(`Server does not support sampling (required for ${method})`);\n }\n break;\n case \"logging/setLevel\":\n if (!this._capabilities.logging) {\n throw new Error(`Server does not support logging (required for ${method})`);\n }\n break;\n case \"prompts/get\":\n case \"prompts/list\":\n if (!this._capabilities.prompts) {\n throw new Error(`Server does not support prompts (required for ${method})`);\n }\n break;\n case \"resources/list\":\n case \"resources/templates/list\":\n case \"resources/read\":\n if (!this._capabilities.resources) {\n throw new Error(`Server does not support resources (required for ${method})`);\n }\n break;\n case \"tools/call\":\n case \"tools/list\":\n if (!this._capabilities.tools) {\n throw new Error(`Server does not support tools (required for ${method})`);\n }\n break;\n case \"ping\":\n case \"initialize\":\n // No specific capability required for these methods\n break;\n }\n }\n async _oninitialize(request) {\n const requestedVersion = request.params.protocolVersion;\n this._clientCapabilities = request.params.capabilities;\n this._clientVersion = request.params.clientInfo;\n const protocolVersion = SUPPORTED_PROTOCOL_VERSIONS.includes(requestedVersion)\n ? requestedVersion\n : LATEST_PROTOCOL_VERSION;\n return {\n protocolVersion,\n capabilities: this.getCapabilities(),\n serverInfo: this._serverInfo,\n ...(this._instructions && { instructions: this._instructions }),\n };\n }\n /**\n * After initialization has completed, this will be populated with the client's reported capabilities.\n */\n getClientCapabilities() {\n return this._clientCapabilities;\n }\n /**\n * After initialization has completed, this will be populated with information about the client's name and version.\n */\n getClientVersion() {\n return this._clientVersion;\n }\n getCapabilities() {\n return this._capabilities;\n }\n async ping() {\n return this.request({ method: \"ping\" }, EmptyResultSchema);\n }\n async createMessage(params, options) {\n return this.request({ method: \"sampling/createMessage\", params }, CreateMessageResultSchema, options);\n }\n async elicitInput(params, options) {\n const result = await this.request({ method: \"elicitation/create\", params }, ElicitResultSchema, options);\n // Validate the response content against the requested schema if action is \"accept\"\n if (result.action === \"accept\" && result.content) {\n try {\n const ajv = new Ajv();\n const validate = ajv.compile(params.requestedSchema);\n const isValid = validate(result.content);\n if (!isValid) {\n throw new McpError(ErrorCode.InvalidParams, `Elicitation response content does not match requested schema: ${ajv.errorsText(validate.errors)}`);\n }\n }\n catch (error) {\n if (error instanceof McpError) {\n throw error;\n }\n throw new McpError(ErrorCode.InternalError, `Error validating elicitation response: ${error}`);\n }\n }\n return result;\n }\n async listRoots(params, options) {\n return this.request({ method: \"roots/list\", params }, ListRootsResultSchema, options);\n }\n async sendLoggingMessage(params) {\n return this.notification({ method: \"notifications/message\", params });\n }\n async sendResourceUpdated(params) {\n return this.notification({\n method: \"notifications/resources/updated\",\n params,\n });\n }\n async sendResourceListChanged() {\n return this.notification({\n method: \"notifications/resources/list_changed\",\n });\n }\n async sendToolListChanged() {\n return this.notification({ method: \"notifications/tools/list_changed\" });\n }\n async sendPromptListChanged() {\n return this.notification({ method: \"notifications/prompts/list_changed\" });\n }\n}\n//# sourceMappingURL=index.js.map"],"names":["_a"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "78651c0e-b1a8-4ad1-ad92-04e10f714528", e._sentryDebugIdIdentifier = "sentry-dbid-78651c0e-b1a8-4ad1-ad92-04e10f714528");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
1
9
|
import { Server } from "./index.js";
|
|
2
10
|
import { z } from "zod";
|
|
3
11
|
import "../../../../../../../zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sources":["../../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js"],"sourcesContent":["import { Server } from \"./index.js\";\nimport { zodToJsonSchema } from \"zod-to-json-schema\";\nimport { z, } from \"zod\";\nimport { McpError, ErrorCode, ListResourceTemplatesRequestSchema, ReadResourceRequestSchema, ListToolsRequestSchema, CallToolRequestSchema, ListResourcesRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, CompleteRequestSchema, } from \"../types.js\";\nimport { Completable } from \"./completable.js\";\nimport { UriTemplate } from \"../shared/uriTemplate.js\";\n/**\n * High-level MCP server that provides a simpler API for working with resources, tools, and prompts.\n * For advanced usage (like sending notifications or setting custom request handlers), use the underlying\n * Server instance available via the `server` property.\n */\nexport class McpServer {\n constructor(serverInfo, options) {\n this._registeredResources = {};\n this._registeredResourceTemplates = {};\n this._registeredTools = {};\n this._registeredPrompts = {};\n this._toolHandlersInitialized = false;\n this._completionHandlerInitialized = false;\n this._resourceHandlersInitialized = false;\n this._promptHandlersInitialized = false;\n this.server = new Server(serverInfo, options);\n }\n /**\n * Attaches to the given transport, starts it, and starts listening for messages.\n *\n * The `server` object assumes ownership of the Transport, replacing any callbacks that have already been set, and expects that it is the only user of the Transport instance going forward.\n */\n async connect(transport) {\n return await this.server.connect(transport);\n }\n /**\n * Closes the connection.\n */\n async close() {\n await this.server.close();\n }\n setToolRequestHandlers() {\n if (this._toolHandlersInitialized) {\n return;\n }\n this.server.assertCanSetRequestHandler(ListToolsRequestSchema.shape.method.value);\n this.server.assertCanSetRequestHandler(CallToolRequestSchema.shape.method.value);\n this.server.registerCapabilities({\n tools: {\n listChanged: true\n }\n });\n this.server.setRequestHandler(ListToolsRequestSchema, () => ({\n tools: Object.entries(this._registeredTools).filter(([, tool]) => tool.enabled).map(([name, tool]) => {\n const toolDefinition = {\n name,\n title: tool.title,\n description: tool.description,\n inputSchema: tool.inputSchema\n ? zodToJsonSchema(tool.inputSchema, {\n strictUnions: true,\n })\n : EMPTY_OBJECT_JSON_SCHEMA,\n annotations: tool.annotations,\n };\n if (tool.outputSchema) {\n toolDefinition.outputSchema = zodToJsonSchema(tool.outputSchema, { strictUnions: true });\n }\n return toolDefinition;\n }),\n }));\n this.server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {\n const tool = this._registeredTools[request.params.name];\n if (!tool) {\n throw new McpError(ErrorCode.InvalidParams, `Tool ${request.params.name} not found`);\n }\n if (!tool.enabled) {\n throw new McpError(ErrorCode.InvalidParams, `Tool ${request.params.name} disabled`);\n }\n let result;\n if (tool.inputSchema) {\n const parseResult = await tool.inputSchema.safeParseAsync(request.params.arguments);\n if (!parseResult.success) {\n throw new McpError(ErrorCode.InvalidParams, `Invalid arguments for tool ${request.params.name}: ${parseResult.error.message}`);\n }\n const args = parseResult.data;\n const cb = tool.callback;\n try {\n result = await Promise.resolve(cb(args, extra));\n }\n catch (error) {\n result = {\n content: [\n {\n type: \"text\",\n text: error instanceof Error ? error.message : String(error),\n },\n ],\n isError: true,\n };\n }\n }\n else {\n const cb = tool.callback;\n try {\n result = await Promise.resolve(cb(extra));\n }\n catch (error) {\n result = {\n content: [\n {\n type: \"text\",\n text: error instanceof Error ? error.message : String(error),\n },\n ],\n isError: true,\n };\n }\n }\n if (tool.outputSchema && !result.isError) {\n if (!result.structuredContent) {\n throw new McpError(ErrorCode.InvalidParams, `Tool ${request.params.name} has an output schema but no structured content was provided`);\n }\n // if the tool has an output schema, validate structured content\n const parseResult = await tool.outputSchema.safeParseAsync(result.structuredContent);\n if (!parseResult.success) {\n throw new McpError(ErrorCode.InvalidParams, `Invalid structured content for tool ${request.params.name}: ${parseResult.error.message}`);\n }\n }\n return result;\n });\n this._toolHandlersInitialized = true;\n }\n setCompletionRequestHandler() {\n if (this._completionHandlerInitialized) {\n return;\n }\n this.server.assertCanSetRequestHandler(CompleteRequestSchema.shape.method.value);\n this.server.registerCapabilities({\n completions: {},\n });\n this.server.setRequestHandler(CompleteRequestSchema, async (request) => {\n switch (request.params.ref.type) {\n case \"ref/prompt\":\n return this.handlePromptCompletion(request, request.params.ref);\n case \"ref/resource\":\n return this.handleResourceCompletion(request, request.params.ref);\n default:\n throw new McpError(ErrorCode.InvalidParams, `Invalid completion reference: ${request.params.ref}`);\n }\n });\n this._completionHandlerInitialized = true;\n }\n async handlePromptCompletion(request, ref) {\n const prompt = this._registeredPrompts[ref.name];\n if (!prompt) {\n throw new McpError(ErrorCode.InvalidParams, `Prompt ${ref.name} not found`);\n }\n if (!prompt.enabled) {\n throw new McpError(ErrorCode.InvalidParams, `Prompt ${ref.name} disabled`);\n }\n if (!prompt.argsSchema) {\n return EMPTY_COMPLETION_RESULT;\n }\n const field = prompt.argsSchema.shape[request.params.argument.name];\n if (!(field instanceof Completable)) {\n return EMPTY_COMPLETION_RESULT;\n }\n const def = field._def;\n const suggestions = await def.complete(request.params.argument.value, request.params.context);\n return createCompletionResult(suggestions);\n }\n async handleResourceCompletion(request, ref) {\n const template = Object.values(this._registeredResourceTemplates).find((t) => t.resourceTemplate.uriTemplate.toString() === ref.uri);\n if (!template) {\n if (this._registeredResources[ref.uri]) {\n // Attempting to autocomplete a fixed resource URI is not an error in the spec (but probably should be).\n return EMPTY_COMPLETION_RESULT;\n }\n throw new McpError(ErrorCode.InvalidParams, `Resource template ${request.params.ref.uri} not found`);\n }\n const completer = template.resourceTemplate.completeCallback(request.params.argument.name);\n if (!completer) {\n return EMPTY_COMPLETION_RESULT;\n }\n const suggestions = await completer(request.params.argument.value, request.params.context);\n return createCompletionResult(suggestions);\n }\n setResourceRequestHandlers() {\n if (this._resourceHandlersInitialized) {\n return;\n }\n this.server.assertCanSetRequestHandler(ListResourcesRequestSchema.shape.method.value);\n this.server.assertCanSetRequestHandler(ListResourceTemplatesRequestSchema.shape.method.value);\n this.server.assertCanSetRequestHandler(ReadResourceRequestSchema.shape.method.value);\n this.server.registerCapabilities({\n resources: {\n listChanged: true\n }\n });\n this.server.setRequestHandler(ListResourcesRequestSchema, async (request, extra) => {\n const resources = Object.entries(this._registeredResources).filter(([_, resource]) => resource.enabled).map(([uri, resource]) => ({\n uri,\n name: resource.name,\n ...resource.metadata,\n }));\n const templateResources = [];\n for (const template of Object.values(this._registeredResourceTemplates)) {\n if (!template.resourceTemplate.listCallback) {\n continue;\n }\n const result = await template.resourceTemplate.listCallback(extra);\n for (const resource of result.resources) {\n templateResources.push({\n ...template.metadata,\n // the defined resource metadata should override the template metadata if present\n ...resource,\n });\n }\n }\n return { resources: [...resources, ...templateResources] };\n });\n this.server.setRequestHandler(ListResourceTemplatesRequestSchema, async () => {\n const resourceTemplates = Object.entries(this._registeredResourceTemplates).map(([name, template]) => ({\n name,\n uriTemplate: template.resourceTemplate.uriTemplate.toString(),\n ...template.metadata,\n }));\n return { resourceTemplates };\n });\n this.server.setRequestHandler(ReadResourceRequestSchema, async (request, extra) => {\n const uri = new URL(request.params.uri);\n // First check for exact resource match\n const resource = this._registeredResources[uri.toString()];\n if (resource) {\n if (!resource.enabled) {\n throw new McpError(ErrorCode.InvalidParams, `Resource ${uri} disabled`);\n }\n return resource.readCallback(uri, extra);\n }\n // Then check templates\n for (const template of Object.values(this._registeredResourceTemplates)) {\n const variables = template.resourceTemplate.uriTemplate.match(uri.toString());\n if (variables) {\n return template.readCallback(uri, variables, extra);\n }\n }\n throw new McpError(ErrorCode.InvalidParams, `Resource ${uri} not found`);\n });\n this.setCompletionRequestHandler();\n this._resourceHandlersInitialized = true;\n }\n setPromptRequestHandlers() {\n if (this._promptHandlersInitialized) {\n return;\n }\n this.server.assertCanSetRequestHandler(ListPromptsRequestSchema.shape.method.value);\n this.server.assertCanSetRequestHandler(GetPromptRequestSchema.shape.method.value);\n this.server.registerCapabilities({\n prompts: {\n listChanged: true\n }\n });\n this.server.setRequestHandler(ListPromptsRequestSchema, () => ({\n prompts: Object.entries(this._registeredPrompts).filter(([, prompt]) => prompt.enabled).map(([name, prompt]) => {\n return {\n name,\n title: prompt.title,\n description: prompt.description,\n arguments: prompt.argsSchema\n ? promptArgumentsFromSchema(prompt.argsSchema)\n : undefined,\n };\n }),\n }));\n this.server.setRequestHandler(GetPromptRequestSchema, async (request, extra) => {\n const prompt = this._registeredPrompts[request.params.name];\n if (!prompt) {\n throw new McpError(ErrorCode.InvalidParams, `Prompt ${request.params.name} not found`);\n }\n if (!prompt.enabled) {\n throw new McpError(ErrorCode.InvalidParams, `Prompt ${request.params.name} disabled`);\n }\n if (prompt.argsSchema) {\n const parseResult = await prompt.argsSchema.safeParseAsync(request.params.arguments);\n if (!parseResult.success) {\n throw new McpError(ErrorCode.InvalidParams, `Invalid arguments for prompt ${request.params.name}: ${parseResult.error.message}`);\n }\n const args = parseResult.data;\n const cb = prompt.callback;\n return await Promise.resolve(cb(args, extra));\n }\n else {\n const cb = prompt.callback;\n return await Promise.resolve(cb(extra));\n }\n });\n this.setCompletionRequestHandler();\n this._promptHandlersInitialized = true;\n }\n resource(name, uriOrTemplate, ...rest) {\n let metadata;\n if (typeof rest[0] === \"object\") {\n metadata = rest.shift();\n }\n const readCallback = rest[0];\n if (typeof uriOrTemplate === \"string\") {\n if (this._registeredResources[uriOrTemplate]) {\n throw new Error(`Resource ${uriOrTemplate} is already registered`);\n }\n const registeredResource = this._createRegisteredResource(name, undefined, uriOrTemplate, metadata, readCallback);\n this.setResourceRequestHandlers();\n this.sendResourceListChanged();\n return registeredResource;\n }\n else {\n if (this._registeredResourceTemplates[name]) {\n throw new Error(`Resource template ${name} is already registered`);\n }\n const registeredResourceTemplate = this._createRegisteredResourceTemplate(name, undefined, uriOrTemplate, metadata, readCallback);\n this.setResourceRequestHandlers();\n this.sendResourceListChanged();\n return registeredResourceTemplate;\n }\n }\n registerResource(name, uriOrTemplate, config, readCallback) {\n if (typeof uriOrTemplate === \"string\") {\n if (this._registeredResources[uriOrTemplate]) {\n throw new Error(`Resource ${uriOrTemplate} is already registered`);\n }\n const registeredResource = this._createRegisteredResource(name, config.title, uriOrTemplate, config, readCallback);\n this.setResourceRequestHandlers();\n this.sendResourceListChanged();\n return registeredResource;\n }\n else {\n if (this._registeredResourceTemplates[name]) {\n throw new Error(`Resource template ${name} is already registered`);\n }\n const registeredResourceTemplate = this._createRegisteredResourceTemplate(name, config.title, uriOrTemplate, config, readCallback);\n this.setResourceRequestHandlers();\n this.sendResourceListChanged();\n return registeredResourceTemplate;\n }\n }\n _createRegisteredResource(name, title, uri, metadata, readCallback) {\n const registeredResource = {\n name,\n title,\n metadata,\n readCallback,\n enabled: true,\n disable: () => registeredResource.update({ enabled: false }),\n enable: () => registeredResource.update({ enabled: true }),\n remove: () => registeredResource.update({ uri: null }),\n update: (updates) => {\n if (typeof updates.uri !== \"undefined\" && updates.uri !== uri) {\n delete this._registeredResources[uri];\n if (updates.uri)\n this._registeredResources[updates.uri] = registeredResource;\n }\n if (typeof updates.name !== \"undefined\")\n registeredResource.name = updates.name;\n if (typeof updates.title !== \"undefined\")\n registeredResource.title = updates.title;\n if (typeof updates.metadata !== \"undefined\")\n registeredResource.metadata = updates.metadata;\n if (typeof updates.callback !== \"undefined\")\n registeredResource.readCallback = updates.callback;\n if (typeof updates.enabled !== \"undefined\")\n registeredResource.enabled = updates.enabled;\n this.sendResourceListChanged();\n },\n };\n this._registeredResources[uri] = registeredResource;\n return registeredResource;\n }\n _createRegisteredResourceTemplate(name, title, template, metadata, readCallback) {\n const registeredResourceTemplate = {\n resourceTemplate: template,\n title,\n metadata,\n readCallback,\n enabled: true,\n disable: () => registeredResourceTemplate.update({ enabled: false }),\n enable: () => registeredResourceTemplate.update({ enabled: true }),\n remove: () => registeredResourceTemplate.update({ name: null }),\n update: (updates) => {\n if (typeof updates.name !== \"undefined\" && updates.name !== name) {\n delete this._registeredResourceTemplates[name];\n if (updates.name)\n this._registeredResourceTemplates[updates.name] = registeredResourceTemplate;\n }\n if (typeof updates.title !== \"undefined\")\n registeredResourceTemplate.title = updates.title;\n if (typeof updates.template !== \"undefined\")\n registeredResourceTemplate.resourceTemplate = updates.template;\n if (typeof updates.metadata !== \"undefined\")\n registeredResourceTemplate.metadata = updates.metadata;\n if (typeof updates.callback !== \"undefined\")\n registeredResourceTemplate.readCallback = updates.callback;\n if (typeof updates.enabled !== \"undefined\")\n registeredResourceTemplate.enabled = updates.enabled;\n this.sendResourceListChanged();\n },\n };\n this._registeredResourceTemplates[name] = registeredResourceTemplate;\n return registeredResourceTemplate;\n }\n _createRegisteredPrompt(name, title, description, argsSchema, callback) {\n const registeredPrompt = {\n title,\n description,\n argsSchema: argsSchema === undefined ? undefined : z.object(argsSchema),\n callback,\n enabled: true,\n disable: () => registeredPrompt.update({ enabled: false }),\n enable: () => registeredPrompt.update({ enabled: true }),\n remove: () => registeredPrompt.update({ name: null }),\n update: (updates) => {\n if (typeof updates.name !== \"undefined\" && updates.name !== name) {\n delete this._registeredPrompts[name];\n if (updates.name)\n this._registeredPrompts[updates.name] = registeredPrompt;\n }\n if (typeof updates.title !== \"undefined\")\n registeredPrompt.title = updates.title;\n if (typeof updates.description !== \"undefined\")\n registeredPrompt.description = updates.description;\n if (typeof updates.argsSchema !== \"undefined\")\n registeredPrompt.argsSchema = z.object(updates.argsSchema);\n if (typeof updates.callback !== \"undefined\")\n registeredPrompt.callback = updates.callback;\n if (typeof updates.enabled !== \"undefined\")\n registeredPrompt.enabled = updates.enabled;\n this.sendPromptListChanged();\n },\n };\n this._registeredPrompts[name] = registeredPrompt;\n return registeredPrompt;\n }\n _createRegisteredTool(name, title, description, inputSchema, outputSchema, annotations, callback) {\n const registeredTool = {\n title,\n description,\n inputSchema: inputSchema === undefined ? undefined : z.object(inputSchema),\n outputSchema: outputSchema === undefined ? undefined : z.object(outputSchema),\n annotations,\n callback,\n enabled: true,\n disable: () => registeredTool.update({ enabled: false }),\n enable: () => registeredTool.update({ enabled: true }),\n remove: () => registeredTool.update({ name: null }),\n update: (updates) => {\n if (typeof updates.name !== \"undefined\" && updates.name !== name) {\n delete this._registeredTools[name];\n if (updates.name)\n this._registeredTools[updates.name] = registeredTool;\n }\n if (typeof updates.title !== \"undefined\")\n registeredTool.title = updates.title;\n if (typeof updates.description !== \"undefined\")\n registeredTool.description = updates.description;\n if (typeof updates.paramsSchema !== \"undefined\")\n registeredTool.inputSchema = z.object(updates.paramsSchema);\n if (typeof updates.callback !== \"undefined\")\n registeredTool.callback = updates.callback;\n if (typeof updates.annotations !== \"undefined\")\n registeredTool.annotations = updates.annotations;\n if (typeof updates.enabled !== \"undefined\")\n registeredTool.enabled = updates.enabled;\n this.sendToolListChanged();\n },\n };\n this._registeredTools[name] = registeredTool;\n this.setToolRequestHandlers();\n this.sendToolListChanged();\n return registeredTool;\n }\n /**\n * tool() implementation. Parses arguments passed to overrides defined above.\n */\n tool(name, ...rest) {\n if (this._registeredTools[name]) {\n throw new Error(`Tool ${name} is already registered`);\n }\n let description;\n let inputSchema;\n let outputSchema;\n let annotations;\n // Tool properties are passed as separate arguments, with omissions allowed.\n // Support for this style is frozen as of protocol version 2025-03-26. Future additions\n // to tool definition should *NOT* be added.\n if (typeof rest[0] === \"string\") {\n description = rest.shift();\n }\n // Handle the different overload combinations\n if (rest.length > 1) {\n // We have at least one more arg before the callback\n const firstArg = rest[0];\n if (isZodRawShape(firstArg)) {\n // We have a params schema as the first arg\n inputSchema = rest.shift();\n // Check if the next arg is potentially annotations\n if (rest.length > 1 && typeof rest[0] === \"object\" && rest[0] !== null && !(isZodRawShape(rest[0]))) {\n // Case: tool(name, paramsSchema, annotations, cb)\n // Or: tool(name, description, paramsSchema, annotations, cb)\n annotations = rest.shift();\n }\n }\n else if (typeof firstArg === \"object\" && firstArg !== null) {\n // Not a ZodRawShape, so must be annotations in this position\n // Case: tool(name, annotations, cb)\n // Or: tool(name, description, annotations, cb)\n annotations = rest.shift();\n }\n }\n const callback = rest[0];\n return this._createRegisteredTool(name, undefined, description, inputSchema, outputSchema, annotations, callback);\n }\n /**\n * Registers a tool with a config object and callback.\n */\n registerTool(name, config, cb) {\n if (this._registeredTools[name]) {\n throw new Error(`Tool ${name} is already registered`);\n }\n const { title, description, inputSchema, outputSchema, annotations } = config;\n return this._createRegisteredTool(name, title, description, inputSchema, outputSchema, annotations, cb);\n }\n prompt(name, ...rest) {\n if (this._registeredPrompts[name]) {\n throw new Error(`Prompt ${name} is already registered`);\n }\n let description;\n if (typeof rest[0] === \"string\") {\n description = rest.shift();\n }\n let argsSchema;\n if (rest.length > 1) {\n argsSchema = rest.shift();\n }\n const cb = rest[0];\n const registeredPrompt = this._createRegisteredPrompt(name, undefined, description, argsSchema, cb);\n this.setPromptRequestHandlers();\n this.sendPromptListChanged();\n return registeredPrompt;\n }\n /**\n * Registers a prompt with a config object and callback.\n */\n registerPrompt(name, config, cb) {\n if (this._registeredPrompts[name]) {\n throw new Error(`Prompt ${name} is already registered`);\n }\n const { title, description, argsSchema } = config;\n const registeredPrompt = this._createRegisteredPrompt(name, title, description, argsSchema, cb);\n this.setPromptRequestHandlers();\n this.sendPromptListChanged();\n return registeredPrompt;\n }\n /**\n * Checks if the server is connected to a transport.\n * @returns True if the server is connected\n */\n isConnected() {\n return this.server.transport !== undefined;\n }\n /**\n * Sends a resource list changed event to the client, if connected.\n */\n sendResourceListChanged() {\n if (this.isConnected()) {\n this.server.sendResourceListChanged();\n }\n }\n /**\n * Sends a tool list changed event to the client, if connected.\n */\n sendToolListChanged() {\n if (this.isConnected()) {\n this.server.sendToolListChanged();\n }\n }\n /**\n * Sends a prompt list changed event to the client, if connected.\n */\n sendPromptListChanged() {\n if (this.isConnected()) {\n this.server.sendPromptListChanged();\n }\n }\n}\n/**\n * A resource template combines a URI pattern with optional functionality to enumerate\n * all resources matching that pattern.\n */\nexport class ResourceTemplate {\n constructor(uriTemplate, _callbacks) {\n this._callbacks = _callbacks;\n this._uriTemplate =\n typeof uriTemplate === \"string\"\n ? new UriTemplate(uriTemplate)\n : uriTemplate;\n }\n /**\n * Gets the URI template pattern.\n */\n get uriTemplate() {\n return this._uriTemplate;\n }\n /**\n * Gets the list callback, if one was provided.\n */\n get listCallback() {\n return this._callbacks.list;\n }\n /**\n * Gets the callback for completing a specific URI template variable, if one was provided.\n */\n completeCallback(variable) {\n var _a;\n return (_a = this._callbacks.complete) === null || _a === void 0 ? void 0 : _a[variable];\n }\n}\nconst EMPTY_OBJECT_JSON_SCHEMA = {\n type: \"object\",\n properties: {},\n};\n// Helper to check if an object is a Zod schema (ZodRawShape)\nfunction isZodRawShape(obj) {\n if (typeof obj !== \"object\" || obj === null)\n return false;\n const isEmptyObject = Object.keys(obj).length === 0;\n // Check if object is empty or at least one property is a ZodType instance\n // Note: use heuristic check to avoid instanceof failure across different Zod versions\n return isEmptyObject || Object.values(obj).some(isZodTypeLike);\n}\nfunction isZodTypeLike(value) {\n return value !== null &&\n typeof value === 'object' &&\n 'parse' in value && typeof value.parse === 'function' &&\n 'safeParse' in value && typeof value.safeParse === 'function';\n}\nfunction promptArgumentsFromSchema(schema) {\n return Object.entries(schema.shape).map(([name, field]) => ({\n name,\n description: field.description,\n required: !field.isOptional(),\n }));\n}\nfunction createCompletionResult(suggestions) {\n return {\n completion: {\n values: suggestions.slice(0, 100),\n total: suggestions.length,\n hasMore: suggestions.length > 100,\n },\n };\n}\nconst EMPTY_COMPLETION_RESULT = {\n completion: {\n values: [],\n hasMore: false,\n },\n};\n//# sourceMappingURL=mcp.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"mcp.js","sources":["../../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js"],"sourcesContent":["import { Server } from \"./index.js\";\nimport { zodToJsonSchema } from \"zod-to-json-schema\";\nimport { z, } from \"zod\";\nimport { McpError, ErrorCode, ListResourceTemplatesRequestSchema, ReadResourceRequestSchema, ListToolsRequestSchema, CallToolRequestSchema, ListResourcesRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, CompleteRequestSchema, } from \"../types.js\";\nimport { Completable } from \"./completable.js\";\nimport { UriTemplate } from \"../shared/uriTemplate.js\";\n/**\n * High-level MCP server that provides a simpler API for working with resources, tools, and prompts.\n * For advanced usage (like sending notifications or setting custom request handlers), use the underlying\n * Server instance available via the `server` property.\n */\nexport class McpServer {\n constructor(serverInfo, options) {\n this._registeredResources = {};\n this._registeredResourceTemplates = {};\n this._registeredTools = {};\n this._registeredPrompts = {};\n this._toolHandlersInitialized = false;\n this._completionHandlerInitialized = false;\n this._resourceHandlersInitialized = false;\n this._promptHandlersInitialized = false;\n this.server = new Server(serverInfo, options);\n }\n /**\n * Attaches to the given transport, starts it, and starts listening for messages.\n *\n * The `server` object assumes ownership of the Transport, replacing any callbacks that have already been set, and expects that it is the only user of the Transport instance going forward.\n */\n async connect(transport) {\n return await this.server.connect(transport);\n }\n /**\n * Closes the connection.\n */\n async close() {\n await this.server.close();\n }\n setToolRequestHandlers() {\n if (this._toolHandlersInitialized) {\n return;\n }\n this.server.assertCanSetRequestHandler(ListToolsRequestSchema.shape.method.value);\n this.server.assertCanSetRequestHandler(CallToolRequestSchema.shape.method.value);\n this.server.registerCapabilities({\n tools: {\n listChanged: true\n }\n });\n this.server.setRequestHandler(ListToolsRequestSchema, () => ({\n tools: Object.entries(this._registeredTools).filter(([, tool]) => tool.enabled).map(([name, tool]) => {\n const toolDefinition = {\n name,\n title: tool.title,\n description: tool.description,\n inputSchema: tool.inputSchema\n ? zodToJsonSchema(tool.inputSchema, {\n strictUnions: true,\n })\n : EMPTY_OBJECT_JSON_SCHEMA,\n annotations: tool.annotations,\n };\n if (tool.outputSchema) {\n toolDefinition.outputSchema = zodToJsonSchema(tool.outputSchema, { strictUnions: true });\n }\n return toolDefinition;\n }),\n }));\n this.server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {\n const tool = this._registeredTools[request.params.name];\n if (!tool) {\n throw new McpError(ErrorCode.InvalidParams, `Tool ${request.params.name} not found`);\n }\n if (!tool.enabled) {\n throw new McpError(ErrorCode.InvalidParams, `Tool ${request.params.name} disabled`);\n }\n let result;\n if (tool.inputSchema) {\n const parseResult = await tool.inputSchema.safeParseAsync(request.params.arguments);\n if (!parseResult.success) {\n throw new McpError(ErrorCode.InvalidParams, `Invalid arguments for tool ${request.params.name}: ${parseResult.error.message}`);\n }\n const args = parseResult.data;\n const cb = tool.callback;\n try {\n result = await Promise.resolve(cb(args, extra));\n }\n catch (error) {\n result = {\n content: [\n {\n type: \"text\",\n text: error instanceof Error ? error.message : String(error),\n },\n ],\n isError: true,\n };\n }\n }\n else {\n const cb = tool.callback;\n try {\n result = await Promise.resolve(cb(extra));\n }\n catch (error) {\n result = {\n content: [\n {\n type: \"text\",\n text: error instanceof Error ? error.message : String(error),\n },\n ],\n isError: true,\n };\n }\n }\n if (tool.outputSchema && !result.isError) {\n if (!result.structuredContent) {\n throw new McpError(ErrorCode.InvalidParams, `Tool ${request.params.name} has an output schema but no structured content was provided`);\n }\n // if the tool has an output schema, validate structured content\n const parseResult = await tool.outputSchema.safeParseAsync(result.structuredContent);\n if (!parseResult.success) {\n throw new McpError(ErrorCode.InvalidParams, `Invalid structured content for tool ${request.params.name}: ${parseResult.error.message}`);\n }\n }\n return result;\n });\n this._toolHandlersInitialized = true;\n }\n setCompletionRequestHandler() {\n if (this._completionHandlerInitialized) {\n return;\n }\n this.server.assertCanSetRequestHandler(CompleteRequestSchema.shape.method.value);\n this.server.registerCapabilities({\n completions: {},\n });\n this.server.setRequestHandler(CompleteRequestSchema, async (request) => {\n switch (request.params.ref.type) {\n case \"ref/prompt\":\n return this.handlePromptCompletion(request, request.params.ref);\n case \"ref/resource\":\n return this.handleResourceCompletion(request, request.params.ref);\n default:\n throw new McpError(ErrorCode.InvalidParams, `Invalid completion reference: ${request.params.ref}`);\n }\n });\n this._completionHandlerInitialized = true;\n }\n async handlePromptCompletion(request, ref) {\n const prompt = this._registeredPrompts[ref.name];\n if (!prompt) {\n throw new McpError(ErrorCode.InvalidParams, `Prompt ${ref.name} not found`);\n }\n if (!prompt.enabled) {\n throw new McpError(ErrorCode.InvalidParams, `Prompt ${ref.name} disabled`);\n }\n if (!prompt.argsSchema) {\n return EMPTY_COMPLETION_RESULT;\n }\n const field = prompt.argsSchema.shape[request.params.argument.name];\n if (!(field instanceof Completable)) {\n return EMPTY_COMPLETION_RESULT;\n }\n const def = field._def;\n const suggestions = await def.complete(request.params.argument.value, request.params.context);\n return createCompletionResult(suggestions);\n }\n async handleResourceCompletion(request, ref) {\n const template = Object.values(this._registeredResourceTemplates).find((t) => t.resourceTemplate.uriTemplate.toString() === ref.uri);\n if (!template) {\n if (this._registeredResources[ref.uri]) {\n // Attempting to autocomplete a fixed resource URI is not an error in the spec (but probably should be).\n return EMPTY_COMPLETION_RESULT;\n }\n throw new McpError(ErrorCode.InvalidParams, `Resource template ${request.params.ref.uri} not found`);\n }\n const completer = template.resourceTemplate.completeCallback(request.params.argument.name);\n if (!completer) {\n return EMPTY_COMPLETION_RESULT;\n }\n const suggestions = await completer(request.params.argument.value, request.params.context);\n return createCompletionResult(suggestions);\n }\n setResourceRequestHandlers() {\n if (this._resourceHandlersInitialized) {\n return;\n }\n this.server.assertCanSetRequestHandler(ListResourcesRequestSchema.shape.method.value);\n this.server.assertCanSetRequestHandler(ListResourceTemplatesRequestSchema.shape.method.value);\n this.server.assertCanSetRequestHandler(ReadResourceRequestSchema.shape.method.value);\n this.server.registerCapabilities({\n resources: {\n listChanged: true\n }\n });\n this.server.setRequestHandler(ListResourcesRequestSchema, async (request, extra) => {\n const resources = Object.entries(this._registeredResources).filter(([_, resource]) => resource.enabled).map(([uri, resource]) => ({\n uri,\n name: resource.name,\n ...resource.metadata,\n }));\n const templateResources = [];\n for (const template of Object.values(this._registeredResourceTemplates)) {\n if (!template.resourceTemplate.listCallback) {\n continue;\n }\n const result = await template.resourceTemplate.listCallback(extra);\n for (const resource of result.resources) {\n templateResources.push({\n ...template.metadata,\n // the defined resource metadata should override the template metadata if present\n ...resource,\n });\n }\n }\n return { resources: [...resources, ...templateResources] };\n });\n this.server.setRequestHandler(ListResourceTemplatesRequestSchema, async () => {\n const resourceTemplates = Object.entries(this._registeredResourceTemplates).map(([name, template]) => ({\n name,\n uriTemplate: template.resourceTemplate.uriTemplate.toString(),\n ...template.metadata,\n }));\n return { resourceTemplates };\n });\n this.server.setRequestHandler(ReadResourceRequestSchema, async (request, extra) => {\n const uri = new URL(request.params.uri);\n // First check for exact resource match\n const resource = this._registeredResources[uri.toString()];\n if (resource) {\n if (!resource.enabled) {\n throw new McpError(ErrorCode.InvalidParams, `Resource ${uri} disabled`);\n }\n return resource.readCallback(uri, extra);\n }\n // Then check templates\n for (const template of Object.values(this._registeredResourceTemplates)) {\n const variables = template.resourceTemplate.uriTemplate.match(uri.toString());\n if (variables) {\n return template.readCallback(uri, variables, extra);\n }\n }\n throw new McpError(ErrorCode.InvalidParams, `Resource ${uri} not found`);\n });\n this.setCompletionRequestHandler();\n this._resourceHandlersInitialized = true;\n }\n setPromptRequestHandlers() {\n if (this._promptHandlersInitialized) {\n return;\n }\n this.server.assertCanSetRequestHandler(ListPromptsRequestSchema.shape.method.value);\n this.server.assertCanSetRequestHandler(GetPromptRequestSchema.shape.method.value);\n this.server.registerCapabilities({\n prompts: {\n listChanged: true\n }\n });\n this.server.setRequestHandler(ListPromptsRequestSchema, () => ({\n prompts: Object.entries(this._registeredPrompts).filter(([, prompt]) => prompt.enabled).map(([name, prompt]) => {\n return {\n name,\n title: prompt.title,\n description: prompt.description,\n arguments: prompt.argsSchema\n ? promptArgumentsFromSchema(prompt.argsSchema)\n : undefined,\n };\n }),\n }));\n this.server.setRequestHandler(GetPromptRequestSchema, async (request, extra) => {\n const prompt = this._registeredPrompts[request.params.name];\n if (!prompt) {\n throw new McpError(ErrorCode.InvalidParams, `Prompt ${request.params.name} not found`);\n }\n if (!prompt.enabled) {\n throw new McpError(ErrorCode.InvalidParams, `Prompt ${request.params.name} disabled`);\n }\n if (prompt.argsSchema) {\n const parseResult = await prompt.argsSchema.safeParseAsync(request.params.arguments);\n if (!parseResult.success) {\n throw new McpError(ErrorCode.InvalidParams, `Invalid arguments for prompt ${request.params.name}: ${parseResult.error.message}`);\n }\n const args = parseResult.data;\n const cb = prompt.callback;\n return await Promise.resolve(cb(args, extra));\n }\n else {\n const cb = prompt.callback;\n return await Promise.resolve(cb(extra));\n }\n });\n this.setCompletionRequestHandler();\n this._promptHandlersInitialized = true;\n }\n resource(name, uriOrTemplate, ...rest) {\n let metadata;\n if (typeof rest[0] === \"object\") {\n metadata = rest.shift();\n }\n const readCallback = rest[0];\n if (typeof uriOrTemplate === \"string\") {\n if (this._registeredResources[uriOrTemplate]) {\n throw new Error(`Resource ${uriOrTemplate} is already registered`);\n }\n const registeredResource = this._createRegisteredResource(name, undefined, uriOrTemplate, metadata, readCallback);\n this.setResourceRequestHandlers();\n this.sendResourceListChanged();\n return registeredResource;\n }\n else {\n if (this._registeredResourceTemplates[name]) {\n throw new Error(`Resource template ${name} is already registered`);\n }\n const registeredResourceTemplate = this._createRegisteredResourceTemplate(name, undefined, uriOrTemplate, metadata, readCallback);\n this.setResourceRequestHandlers();\n this.sendResourceListChanged();\n return registeredResourceTemplate;\n }\n }\n registerResource(name, uriOrTemplate, config, readCallback) {\n if (typeof uriOrTemplate === \"string\") {\n if (this._registeredResources[uriOrTemplate]) {\n throw new Error(`Resource ${uriOrTemplate} is already registered`);\n }\n const registeredResource = this._createRegisteredResource(name, config.title, uriOrTemplate, config, readCallback);\n this.setResourceRequestHandlers();\n this.sendResourceListChanged();\n return registeredResource;\n }\n else {\n if (this._registeredResourceTemplates[name]) {\n throw new Error(`Resource template ${name} is already registered`);\n }\n const registeredResourceTemplate = this._createRegisteredResourceTemplate(name, config.title, uriOrTemplate, config, readCallback);\n this.setResourceRequestHandlers();\n this.sendResourceListChanged();\n return registeredResourceTemplate;\n }\n }\n _createRegisteredResource(name, title, uri, metadata, readCallback) {\n const registeredResource = {\n name,\n title,\n metadata,\n readCallback,\n enabled: true,\n disable: () => registeredResource.update({ enabled: false }),\n enable: () => registeredResource.update({ enabled: true }),\n remove: () => registeredResource.update({ uri: null }),\n update: (updates) => {\n if (typeof updates.uri !== \"undefined\" && updates.uri !== uri) {\n delete this._registeredResources[uri];\n if (updates.uri)\n this._registeredResources[updates.uri] = registeredResource;\n }\n if (typeof updates.name !== \"undefined\")\n registeredResource.name = updates.name;\n if (typeof updates.title !== \"undefined\")\n registeredResource.title = updates.title;\n if (typeof updates.metadata !== \"undefined\")\n registeredResource.metadata = updates.metadata;\n if (typeof updates.callback !== \"undefined\")\n registeredResource.readCallback = updates.callback;\n if (typeof updates.enabled !== \"undefined\")\n registeredResource.enabled = updates.enabled;\n this.sendResourceListChanged();\n },\n };\n this._registeredResources[uri] = registeredResource;\n return registeredResource;\n }\n _createRegisteredResourceTemplate(name, title, template, metadata, readCallback) {\n const registeredResourceTemplate = {\n resourceTemplate: template,\n title,\n metadata,\n readCallback,\n enabled: true,\n disable: () => registeredResourceTemplate.update({ enabled: false }),\n enable: () => registeredResourceTemplate.update({ enabled: true }),\n remove: () => registeredResourceTemplate.update({ name: null }),\n update: (updates) => {\n if (typeof updates.name !== \"undefined\" && updates.name !== name) {\n delete this._registeredResourceTemplates[name];\n if (updates.name)\n this._registeredResourceTemplates[updates.name] = registeredResourceTemplate;\n }\n if (typeof updates.title !== \"undefined\")\n registeredResourceTemplate.title = updates.title;\n if (typeof updates.template !== \"undefined\")\n registeredResourceTemplate.resourceTemplate = updates.template;\n if (typeof updates.metadata !== \"undefined\")\n registeredResourceTemplate.metadata = updates.metadata;\n if (typeof updates.callback !== \"undefined\")\n registeredResourceTemplate.readCallback = updates.callback;\n if (typeof updates.enabled !== \"undefined\")\n registeredResourceTemplate.enabled = updates.enabled;\n this.sendResourceListChanged();\n },\n };\n this._registeredResourceTemplates[name] = registeredResourceTemplate;\n return registeredResourceTemplate;\n }\n _createRegisteredPrompt(name, title, description, argsSchema, callback) {\n const registeredPrompt = {\n title,\n description,\n argsSchema: argsSchema === undefined ? undefined : z.object(argsSchema),\n callback,\n enabled: true,\n disable: () => registeredPrompt.update({ enabled: false }),\n enable: () => registeredPrompt.update({ enabled: true }),\n remove: () => registeredPrompt.update({ name: null }),\n update: (updates) => {\n if (typeof updates.name !== \"undefined\" && updates.name !== name) {\n delete this._registeredPrompts[name];\n if (updates.name)\n this._registeredPrompts[updates.name] = registeredPrompt;\n }\n if (typeof updates.title !== \"undefined\")\n registeredPrompt.title = updates.title;\n if (typeof updates.description !== \"undefined\")\n registeredPrompt.description = updates.description;\n if (typeof updates.argsSchema !== \"undefined\")\n registeredPrompt.argsSchema = z.object(updates.argsSchema);\n if (typeof updates.callback !== \"undefined\")\n registeredPrompt.callback = updates.callback;\n if (typeof updates.enabled !== \"undefined\")\n registeredPrompt.enabled = updates.enabled;\n this.sendPromptListChanged();\n },\n };\n this._registeredPrompts[name] = registeredPrompt;\n return registeredPrompt;\n }\n _createRegisteredTool(name, title, description, inputSchema, outputSchema, annotations, callback) {\n const registeredTool = {\n title,\n description,\n inputSchema: inputSchema === undefined ? undefined : z.object(inputSchema),\n outputSchema: outputSchema === undefined ? undefined : z.object(outputSchema),\n annotations,\n callback,\n enabled: true,\n disable: () => registeredTool.update({ enabled: false }),\n enable: () => registeredTool.update({ enabled: true }),\n remove: () => registeredTool.update({ name: null }),\n update: (updates) => {\n if (typeof updates.name !== \"undefined\" && updates.name !== name) {\n delete this._registeredTools[name];\n if (updates.name)\n this._registeredTools[updates.name] = registeredTool;\n }\n if (typeof updates.title !== \"undefined\")\n registeredTool.title = updates.title;\n if (typeof updates.description !== \"undefined\")\n registeredTool.description = updates.description;\n if (typeof updates.paramsSchema !== \"undefined\")\n registeredTool.inputSchema = z.object(updates.paramsSchema);\n if (typeof updates.callback !== \"undefined\")\n registeredTool.callback = updates.callback;\n if (typeof updates.annotations !== \"undefined\")\n registeredTool.annotations = updates.annotations;\n if (typeof updates.enabled !== \"undefined\")\n registeredTool.enabled = updates.enabled;\n this.sendToolListChanged();\n },\n };\n this._registeredTools[name] = registeredTool;\n this.setToolRequestHandlers();\n this.sendToolListChanged();\n return registeredTool;\n }\n /**\n * tool() implementation. Parses arguments passed to overrides defined above.\n */\n tool(name, ...rest) {\n if (this._registeredTools[name]) {\n throw new Error(`Tool ${name} is already registered`);\n }\n let description;\n let inputSchema;\n let outputSchema;\n let annotations;\n // Tool properties are passed as separate arguments, with omissions allowed.\n // Support for this style is frozen as of protocol version 2025-03-26. Future additions\n // to tool definition should *NOT* be added.\n if (typeof rest[0] === \"string\") {\n description = rest.shift();\n }\n // Handle the different overload combinations\n if (rest.length > 1) {\n // We have at least one more arg before the callback\n const firstArg = rest[0];\n if (isZodRawShape(firstArg)) {\n // We have a params schema as the first arg\n inputSchema = rest.shift();\n // Check if the next arg is potentially annotations\n if (rest.length > 1 && typeof rest[0] === \"object\" && rest[0] !== null && !(isZodRawShape(rest[0]))) {\n // Case: tool(name, paramsSchema, annotations, cb)\n // Or: tool(name, description, paramsSchema, annotations, cb)\n annotations = rest.shift();\n }\n }\n else if (typeof firstArg === \"object\" && firstArg !== null) {\n // Not a ZodRawShape, so must be annotations in this position\n // Case: tool(name, annotations, cb)\n // Or: tool(name, description, annotations, cb)\n annotations = rest.shift();\n }\n }\n const callback = rest[0];\n return this._createRegisteredTool(name, undefined, description, inputSchema, outputSchema, annotations, callback);\n }\n /**\n * Registers a tool with a config object and callback.\n */\n registerTool(name, config, cb) {\n if (this._registeredTools[name]) {\n throw new Error(`Tool ${name} is already registered`);\n }\n const { title, description, inputSchema, outputSchema, annotations } = config;\n return this._createRegisteredTool(name, title, description, inputSchema, outputSchema, annotations, cb);\n }\n prompt(name, ...rest) {\n if (this._registeredPrompts[name]) {\n throw new Error(`Prompt ${name} is already registered`);\n }\n let description;\n if (typeof rest[0] === \"string\") {\n description = rest.shift();\n }\n let argsSchema;\n if (rest.length > 1) {\n argsSchema = rest.shift();\n }\n const cb = rest[0];\n const registeredPrompt = this._createRegisteredPrompt(name, undefined, description, argsSchema, cb);\n this.setPromptRequestHandlers();\n this.sendPromptListChanged();\n return registeredPrompt;\n }\n /**\n * Registers a prompt with a config object and callback.\n */\n registerPrompt(name, config, cb) {\n if (this._registeredPrompts[name]) {\n throw new Error(`Prompt ${name} is already registered`);\n }\n const { title, description, argsSchema } = config;\n const registeredPrompt = this._createRegisteredPrompt(name, title, description, argsSchema, cb);\n this.setPromptRequestHandlers();\n this.sendPromptListChanged();\n return registeredPrompt;\n }\n /**\n * Checks if the server is connected to a transport.\n * @returns True if the server is connected\n */\n isConnected() {\n return this.server.transport !== undefined;\n }\n /**\n * Sends a resource list changed event to the client, if connected.\n */\n sendResourceListChanged() {\n if (this.isConnected()) {\n this.server.sendResourceListChanged();\n }\n }\n /**\n * Sends a tool list changed event to the client, if connected.\n */\n sendToolListChanged() {\n if (this.isConnected()) {\n this.server.sendToolListChanged();\n }\n }\n /**\n * Sends a prompt list changed event to the client, if connected.\n */\n sendPromptListChanged() {\n if (this.isConnected()) {\n this.server.sendPromptListChanged();\n }\n }\n}\n/**\n * A resource template combines a URI pattern with optional functionality to enumerate\n * all resources matching that pattern.\n */\nexport class ResourceTemplate {\n constructor(uriTemplate, _callbacks) {\n this._callbacks = _callbacks;\n this._uriTemplate =\n typeof uriTemplate === \"string\"\n ? new UriTemplate(uriTemplate)\n : uriTemplate;\n }\n /**\n * Gets the URI template pattern.\n */\n get uriTemplate() {\n return this._uriTemplate;\n }\n /**\n * Gets the list callback, if one was provided.\n */\n get listCallback() {\n return this._callbacks.list;\n }\n /**\n * Gets the callback for completing a specific URI template variable, if one was provided.\n */\n completeCallback(variable) {\n var _a;\n return (_a = this._callbacks.complete) === null || _a === void 0 ? void 0 : _a[variable];\n }\n}\nconst EMPTY_OBJECT_JSON_SCHEMA = {\n type: \"object\",\n properties: {},\n};\n// Helper to check if an object is a Zod schema (ZodRawShape)\nfunction isZodRawShape(obj) {\n if (typeof obj !== \"object\" || obj === null)\n return false;\n const isEmptyObject = Object.keys(obj).length === 0;\n // Check if object is empty or at least one property is a ZodType instance\n // Note: use heuristic check to avoid instanceof failure across different Zod versions\n return isEmptyObject || Object.values(obj).some(isZodTypeLike);\n}\nfunction isZodTypeLike(value) {\n return value !== null &&\n typeof value === 'object' &&\n 'parse' in value && typeof value.parse === 'function' &&\n 'safeParse' in value && typeof value.safeParse === 'function';\n}\nfunction promptArgumentsFromSchema(schema) {\n return Object.entries(schema.shape).map(([name, field]) => ({\n name,\n description: field.description,\n required: !field.isOptional(),\n }));\n}\nfunction createCompletionResult(suggestions) {\n return {\n completion: {\n values: suggestions.slice(0, 100),\n total: suggestions.length,\n hasMore: suggestions.length > 100,\n },\n };\n}\nconst EMPTY_COMPLETION_RESULT = {\n completion: {\n values: [],\n hasMore: false,\n },\n};\n//# sourceMappingURL=mcp.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|