@amplitude/ai 0.1.0
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/.cursor/skills/instrument-with-amplitude-ai/SKILL.md +50 -0
- package/AGENTS.md +79 -0
- package/LICENSE +21 -0
- package/README.md +2111 -0
- package/bin/amplitude-ai-completions.mjs +19 -0
- package/bin/amplitude-ai-doctor.mjs +26 -0
- package/bin/amplitude-ai-init.mjs +27 -0
- package/bin/amplitude-ai-instrument.mjs +52 -0
- package/bin/amplitude-ai-mcp.mjs +8 -0
- package/bin/amplitude-ai-register-catalog.mjs +156 -0
- package/bin/amplitude-ai-status.mjs +28 -0
- package/bin/amplitude-ai.mjs +43 -0
- package/bin/validate-catalog-constants.mjs +134 -0
- package/data/agent_event_catalog.json +1277 -0
- package/dist/_virtual/rolldown_runtime.js +31 -0
- package/dist/bound-agent.d.ts +56 -0
- package/dist/bound-agent.d.ts.map +1 -0
- package/dist/bound-agent.js +155 -0
- package/dist/bound-agent.js.map +1 -0
- package/dist/cli/doctor.d.ts +17 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +89 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/init.d.ts +14 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +40 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/providers.d.ts +32 -0
- package/dist/cli/providers.d.ts.map +1 -0
- package/dist/cli/providers.js +46 -0
- package/dist/cli/providers.js.map +1 -0
- package/dist/cli/status.d.ts +14 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +38 -0
- package/dist/cli/status.js.map +1 -0
- package/dist/client.d.ts +246 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +369 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +60 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +57 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +44 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +53 -0
- package/dist/context.js.map +1 -0
- package/dist/core/constants.d.ts +96 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +105 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/enrichments.d.ts +139 -0
- package/dist/core/enrichments.d.ts.map +1 -0
- package/dist/core/enrichments.js +177 -0
- package/dist/core/enrichments.js.map +1 -0
- package/dist/core/privacy.d.ts +53 -0
- package/dist/core/privacy.d.ts.map +1 -0
- package/dist/core/privacy.js +235 -0
- package/dist/core/privacy.js.map +1 -0
- package/dist/core/tracking.d.ts +242 -0
- package/dist/core/tracking.d.ts.map +1 -0
- package/dist/core/tracking.js +469 -0
- package/dist/core/tracking.js.map +1 -0
- package/dist/decorators.d.ts +109 -0
- package/dist/decorators.d.ts.map +1 -0
- package/dist/decorators.js +281 -0
- package/dist/decorators.js.map +1 -0
- package/dist/exceptions.d.ts +19 -0
- package/dist/exceptions.d.ts.map +1 -0
- package/dist/exceptions.js +35 -0
- package/dist/exceptions.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.js +38 -0
- package/dist/integrations/anthropic-tools.d.ts +38 -0
- package/dist/integrations/anthropic-tools.d.ts.map +1 -0
- package/dist/integrations/anthropic-tools.js +175 -0
- package/dist/integrations/anthropic-tools.js.map +1 -0
- package/dist/integrations/crewai.d.ts +14 -0
- package/dist/integrations/crewai.d.ts.map +1 -0
- package/dist/integrations/crewai.js +19 -0
- package/dist/integrations/crewai.js.map +1 -0
- package/dist/integrations/langchain.d.ts +37 -0
- package/dist/integrations/langchain.d.ts.map +1 -0
- package/dist/integrations/langchain.js +189 -0
- package/dist/integrations/langchain.js.map +1 -0
- package/dist/integrations/llamaindex.d.ts +44 -0
- package/dist/integrations/llamaindex.d.ts.map +1 -0
- package/dist/integrations/llamaindex.js +144 -0
- package/dist/integrations/llamaindex.js.map +1 -0
- package/dist/integrations/openai-agents.d.ts +35 -0
- package/dist/integrations/openai-agents.d.ts.map +1 -0
- package/dist/integrations/openai-agents.js +248 -0
- package/dist/integrations/openai-agents.js.map +1 -0
- package/dist/integrations/opentelemetry.d.ts +40 -0
- package/dist/integrations/opentelemetry.d.ts.map +1 -0
- package/dist/integrations/opentelemetry.js +146 -0
- package/dist/integrations/opentelemetry.js.map +1 -0
- package/dist/internals.d.ts +5 -0
- package/dist/internals.js +5 -0
- package/dist/mcp/contract.d.ts +27 -0
- package/dist/mcp/contract.d.ts.map +1 -0
- package/dist/mcp/contract.js +25 -0
- package/dist/mcp/contract.js.map +1 -0
- package/dist/mcp/index.d.ts +4 -0
- package/dist/mcp/index.js +5 -0
- package/dist/mcp/patterns.d.ts +11 -0
- package/dist/mcp/patterns.d.ts.map +1 -0
- package/dist/mcp/patterns.js +38 -0
- package/dist/mcp/patterns.js.map +1 -0
- package/dist/mcp/server.d.ts +10 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +241 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/validate-file.d.ts +20 -0
- package/dist/mcp/validate-file.d.ts.map +1 -0
- package/dist/mcp/validate-file.js +122 -0
- package/dist/mcp/validate-file.js.map +1 -0
- package/dist/middleware.d.ts +32 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +67 -0
- package/dist/middleware.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +54 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +20 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js +34 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js +225 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +22 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +351 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +634 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +60 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +122 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +37 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +858 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +32 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +74 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1262 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +83 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/formats.js +195 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/formats.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/index.js +44 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/limit.js +88 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/limit.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js +107 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js +142 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js +678 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js +145 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js +106 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js +227 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/names.js +33 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js +22 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js +137 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js +65 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/util.js +150 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js +27 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js +52 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js +176 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js +437 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js +117 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js +76 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js +587 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/data.js +22 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/data.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.js +145 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js +16 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js +29 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js +16 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js +20 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +61 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +101 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +34 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +21 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +94 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +91 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js +64 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js +63 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +39 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js +36 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +56 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +66 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +22 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +57 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +46 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +22 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js +134 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js +19 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js +27 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js +116 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +106 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +18 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js +31 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js +97 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js +15 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js +27 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js +32 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js +54 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js +53 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +33 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +38 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +52 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +33 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +32 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +43 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js +77 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +75 -0
- package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +37 -0
- package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map +1 -0
- package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js +240 -0
- package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js.map +1 -0
- package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js +194 -0
- package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js.map +1 -0
- package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js +286 -0
- package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js.map +1 -0
- package/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +82 -0
- package/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js +37 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js +30 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +16 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +10 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js +57 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +17 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +23 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +36 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_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.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +10 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +10 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +39 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +13 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +11 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +11 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +47 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +17 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +38 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +16 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +13 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +11 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +46 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +37 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +64 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +20 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +27 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +10 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +10 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +56 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +21 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +250 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +38 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +10 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +64 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +10 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js +78 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +70 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +104 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +11 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +10 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +110 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +99 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +84 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +3160 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/errors.js +23 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/iso.js +38 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/parse.js +12 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/schemas.js +611 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/api.js +437 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/checks.js +360 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/core.js +50 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/doc.js +34 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/errors.js +71 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/parse.js +74 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/regexes.js +63 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/registries.js +50 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/schemas.js +1098 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/to-json-schema.js +599 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/util.js +267 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/versions.js +10 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/mini/schemas.js +50 -0
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/mini/schemas.js.map +1 -0
- package/dist/patching.d.ts +59 -0
- package/dist/patching.d.ts.map +1 -0
- package/dist/patching.js +891 -0
- package/dist/patching.js.map +1 -0
- package/dist/propagation.d.ts +8 -0
- package/dist/propagation.d.ts.map +1 -0
- package/dist/propagation.js +46 -0
- package/dist/propagation.js.map +1 -0
- package/dist/providers/anthropic.d.ts +44 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +287 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/azure-openai.d.ts +32 -0
- package/dist/providers/azure-openai.d.ts.map +1 -0
- package/dist/providers/azure-openai.js +39 -0
- package/dist/providers/azure-openai.js.map +1 -0
- package/dist/providers/base.d.ts +70 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +141 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/bedrock.d.ts +41 -0
- package/dist/providers/bedrock.d.ts.map +1 -0
- package/dist/providers/bedrock.js +229 -0
- package/dist/providers/bedrock.js.map +1 -0
- package/dist/providers/gemini.d.ts +34 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +225 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/mistral.d.ts +32 -0
- package/dist/providers/mistral.d.ts.map +1 -0
- package/dist/providers/mistral.js +218 -0
- package/dist/providers/mistral.js.map +1 -0
- package/dist/providers/openai.d.ts +61 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +530 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/register.d.ts +1 -0
- package/dist/register.js +46 -0
- package/dist/register.js.map +1 -0
- package/dist/session.d.ts +46 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +144 -0
- package/dist/session.js.map +1 -0
- package/dist/tenant.d.ts +30 -0
- package/dist/tenant.d.ts.map +1 -0
- package/dist/tenant.js +23 -0
- package/dist/tenant.js.map +1 -0
- package/dist/testing.d.ts +46 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +120 -0
- package/dist/testing.js.map +1 -0
- package/dist/types.d.ts +384 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/costs.d.ts +27 -0
- package/dist/utils/costs.d.ts.map +1 -0
- package/dist/utils/costs.js +63 -0
- package/dist/utils/costs.js.map +1 -0
- package/dist/utils/debug.d.ts +6 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +73 -0
- package/dist/utils/debug.js.map +1 -0
- package/dist/utils/logger.d.ts +11 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +18 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/model-tiers.d.ts +8 -0
- package/dist/utils/model-tiers.d.ts.map +1 -0
- package/dist/utils/model-tiers.js +76 -0
- package/dist/utils/model-tiers.js.map +1 -0
- package/dist/utils/providers.d.ts +5 -0
- package/dist/utils/providers.d.ts.map +1 -0
- package/dist/utils/providers.js +20 -0
- package/dist/utils/providers.js.map +1 -0
- package/dist/utils/resolve-module.d.ts +5 -0
- package/dist/utils/resolve-module.d.ts.map +1 -0
- package/dist/utils/resolve-module.js +29 -0
- package/dist/utils/resolve-module.js.map +1 -0
- package/dist/utils/streaming.d.ts +55 -0
- package/dist/utils/streaming.d.ts.map +1 -0
- package/dist/utils/streaming.js +72 -0
- package/dist/utils/streaming.js.map +1 -0
- package/dist/utils/tokens.d.ts +16 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/tokens.js +80 -0
- package/dist/utils/tokens.js.map +1 -0
- package/dist/wrappers.d.ts +37 -0
- package/dist/wrappers.d.ts.map +1 -0
- package/dist/wrappers.js +61 -0
- package/dist/wrappers.js.map +1 -0
- package/llms-full.txt +127 -0
- package/llms.txt +28 -0
- package/mcp.schema.json +18 -0
- package/package.json +189 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/mcp/validate-file.d.ts
|
|
2
|
+
interface CallSite {
|
|
3
|
+
line: number;
|
|
4
|
+
provider: string;
|
|
5
|
+
api: string;
|
|
6
|
+
instrumented: boolean;
|
|
7
|
+
}
|
|
8
|
+
interface FileAnalysis {
|
|
9
|
+
total_call_sites: number;
|
|
10
|
+
instrumented: number;
|
|
11
|
+
uninstrumented: number;
|
|
12
|
+
has_amplitude_import: boolean;
|
|
13
|
+
has_session_context: boolean;
|
|
14
|
+
call_sites: CallSite[];
|
|
15
|
+
suggestions: string[];
|
|
16
|
+
}
|
|
17
|
+
declare function analyzeFileInstrumentation(source: string): FileAnalysis;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { CallSite, FileAnalysis, analyzeFileInstrumentation };
|
|
20
|
+
//# sourceMappingURL=validate-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-file.d.ts","names":[],"sources":["../../src/mcp/validate-file.ts"],"sourcesContent":[],"mappings":";UAAiB,QAAA;EAAA,IAAA,EAAA,MAAQ;EAOR,QAAA,EAAA,MAAY;EA+Eb,GAAA,EAAA,MAAA;;;UA/EC,YAAA;;;;;;cAMH;;;iBAyEE,0BAAA,kBAA4C"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
//#region src/mcp/validate-file.ts
|
|
2
|
+
const llmPatterns = [
|
|
3
|
+
{
|
|
4
|
+
pattern: /\.chat\.completions\.create\s*\(/g,
|
|
5
|
+
receiverRe: /(\w+)(?:\.\w+)*\.chat\.completions\.create\s*\(/,
|
|
6
|
+
provider: "openai",
|
|
7
|
+
api: "chat.completions.create"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
pattern: /\.chat\.completions\.parse\s*\(/g,
|
|
11
|
+
receiverRe: /(\w+)(?:\.\w+)*\.chat\.completions\.parse\s*\(/,
|
|
12
|
+
provider: "openai",
|
|
13
|
+
api: "chat.completions.parse"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
pattern: /\.responses\.create\s*\(/g,
|
|
17
|
+
receiverRe: /(\w+)(?:\.\w+)*\.responses\.create\s*\(/,
|
|
18
|
+
provider: "openai",
|
|
19
|
+
api: "responses.create"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
pattern: /\.messages\.create\s*\(/g,
|
|
23
|
+
receiverRe: /(\w+)(?:\.\w+)*\.messages\.create\s*\(/,
|
|
24
|
+
provider: "anthropic",
|
|
25
|
+
api: "messages.create"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
pattern: /\.generateContent\s*\(/g,
|
|
29
|
+
receiverRe: /(\w+)(?:\.\w+)*\.generateContent\s*\(/,
|
|
30
|
+
provider: "gemini",
|
|
31
|
+
api: "generateContent"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
pattern: /\.send\s*\(\s*new\s+InvokeModelCommand\s*\(/g,
|
|
35
|
+
receiverRe: /(\w+)(?:\.\w+)*\.send\s*\(/,
|
|
36
|
+
provider: "bedrock",
|
|
37
|
+
api: "invokeModel"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
pattern: /\.send\s*\(\s*new\s+ConverseCommand\s*\(/g,
|
|
41
|
+
receiverRe: /(\w+)(?:\.\w+)*\.send\s*\(/,
|
|
42
|
+
provider: "bedrock",
|
|
43
|
+
api: "converse"
|
|
44
|
+
}
|
|
45
|
+
];
|
|
46
|
+
function findWrappedConstructors(source) {
|
|
47
|
+
const result = /* @__PURE__ */ new Set();
|
|
48
|
+
for (const m of source.matchAll(/(?:const|let|var)\s+(\w+)\s*=\s*new\s+(?:OpenAI|Anthropic|Gemini|AzureOpenAI|Bedrock|Mistral)\s*\(/g)) {
|
|
49
|
+
const varName = m[1] ?? "";
|
|
50
|
+
if (!varName) continue;
|
|
51
|
+
let depth = 1;
|
|
52
|
+
let i = (m.index ?? 0) + m[0].length;
|
|
53
|
+
let argBlock = "";
|
|
54
|
+
while (i < source.length && depth > 0) {
|
|
55
|
+
const ch = source[i];
|
|
56
|
+
if (ch === "(") depth++;
|
|
57
|
+
else if (ch === ")") depth--;
|
|
58
|
+
if (depth > 0) argBlock += ch;
|
|
59
|
+
i++;
|
|
60
|
+
}
|
|
61
|
+
if (/\bamplitude\s*:/.test(argBlock)) result.add(varName);
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
function analyzeFileInstrumentation(source) {
|
|
66
|
+
const hasPatch = /\bpatch\s*\(\s*\{/.test(source);
|
|
67
|
+
const hasSessionContext = /\.session\s*\(/.test(source) || /\bsession\.run\s*\(/.test(source) || /\bcreateAmplitudeAIMiddleware\s*\(/.test(source);
|
|
68
|
+
const hasAmplitudeImport = /from\s+['"]@amplitude\/ai['"]/.test(source) || /require\s*\(\s*['"]@amplitude\/ai['"]\s*\)/.test(source) || /\bAmplitudeAI\b/.test(source);
|
|
69
|
+
const wrappedClients = findWrappedConstructors(source);
|
|
70
|
+
if (hasAmplitudeImport) for (const m of source.matchAll(/(?:const|let|var)\s+(\w+)\s*=\s*(?:\w+\.)*wrap\s*\(/g)) {
|
|
71
|
+
const name = m[1] ?? "";
|
|
72
|
+
if (name) wrappedClients.add(name);
|
|
73
|
+
}
|
|
74
|
+
const callSites = [];
|
|
75
|
+
const lines = source.split("\n");
|
|
76
|
+
for (let i = 0; i < lines.length; i++) {
|
|
77
|
+
const line = lines[i] ?? "";
|
|
78
|
+
for (const { pattern, receiverRe, provider, api } of llmPatterns) {
|
|
79
|
+
pattern.lastIndex = 0;
|
|
80
|
+
if (pattern.test(line)) {
|
|
81
|
+
const receiver = line.match(receiverRe)?.[1] ?? "";
|
|
82
|
+
const instrumented = hasPatch || wrappedClients.has(receiver);
|
|
83
|
+
callSites.push({
|
|
84
|
+
line: i + 1,
|
|
85
|
+
provider,
|
|
86
|
+
api,
|
|
87
|
+
instrumented
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const uninstrumentedSites = callSites.filter((s) => !s.instrumented);
|
|
93
|
+
let suggestions;
|
|
94
|
+
if (uninstrumentedSites.length > 0) suggestions = [
|
|
95
|
+
"Now: instrument provider calls with wrapper/swap import (for example, `new OpenAI({ amplitude: ai, apiKey })`).",
|
|
96
|
+
"Next: add session lineage with `const session = ai.agent(...).session(...)` and wrap calls in `session.run(...)`.",
|
|
97
|
+
"Why: session context unlocks session-level scoring, enrichments, and reliable product-to-AI funnels.",
|
|
98
|
+
"Content tiers: choose `contentMode` (`full`, `metadata_only`, or `customer_enriched`) and prefer `redactPii: true` when using `full`.",
|
|
99
|
+
"Fallback: use `patch({ amplitudeAI: ai })` for migration speed, then graduate to wrapper + session context."
|
|
100
|
+
];
|
|
101
|
+
else if (callSites.length > 0 && !hasSessionContext) suggestions = [
|
|
102
|
+
"Tracking is present, but session context is missing.",
|
|
103
|
+
"Now: add `const session = ai.agent(...).session(...)` and execute LLM calls inside `session.run(...)` (or use middleware).",
|
|
104
|
+
"Why: without session lineage you lose high-value outcomes like session enrichments, scoring, and dependable session funnels.",
|
|
105
|
+
"Content tiers: set `contentMode` intentionally and keep `redactPii: true` when using `full`."
|
|
106
|
+
];
|
|
107
|
+
else if (callSites.length > 0) suggestions = ["File appears instrumented with session lineage.", "For privacy-by-default, set `contentMode` intentionally and enable `redactPii: true` when using `full`."];
|
|
108
|
+
else suggestions = ["No supported LLM call sites detected in this file.", "If this file should emit AI telemetry, add wrapped provider calls and session context."];
|
|
109
|
+
return {
|
|
110
|
+
total_call_sites: callSites.length,
|
|
111
|
+
instrumented: callSites.length - uninstrumentedSites.length,
|
|
112
|
+
uninstrumented: uninstrumentedSites.length,
|
|
113
|
+
has_amplitude_import: hasAmplitudeImport,
|
|
114
|
+
has_session_context: hasSessionContext,
|
|
115
|
+
call_sites: callSites,
|
|
116
|
+
suggestions
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
//#endregion
|
|
121
|
+
export { analyzeFileInstrumentation };
|
|
122
|
+
//# sourceMappingURL=validate-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-file.js","names":["callSites: CallSite[]","suggestions: string[]"],"sources":["../../src/mcp/validate-file.ts"],"sourcesContent":["export interface CallSite {\n line: number;\n provider: string;\n api: string;\n instrumented: boolean;\n}\n\nexport interface FileAnalysis {\n total_call_sites: number;\n instrumented: number;\n uninstrumented: number;\n has_amplitude_import: boolean;\n has_session_context: boolean;\n call_sites: CallSite[];\n suggestions: string[];\n}\n\nconst llmPatterns = [\n {\n pattern: /\\.chat\\.completions\\.create\\s*\\(/g,\n receiverRe: /(\\w+)(?:\\.\\w+)*\\.chat\\.completions\\.create\\s*\\(/,\n provider: 'openai',\n api: 'chat.completions.create',\n },\n {\n pattern: /\\.chat\\.completions\\.parse\\s*\\(/g,\n receiverRe: /(\\w+)(?:\\.\\w+)*\\.chat\\.completions\\.parse\\s*\\(/,\n provider: 'openai',\n api: 'chat.completions.parse',\n },\n {\n pattern: /\\.responses\\.create\\s*\\(/g,\n receiverRe: /(\\w+)(?:\\.\\w+)*\\.responses\\.create\\s*\\(/,\n provider: 'openai',\n api: 'responses.create',\n },\n {\n pattern: /\\.messages\\.create\\s*\\(/g,\n receiverRe: /(\\w+)(?:\\.\\w+)*\\.messages\\.create\\s*\\(/,\n provider: 'anthropic',\n api: 'messages.create',\n },\n {\n pattern: /\\.generateContent\\s*\\(/g,\n receiverRe: /(\\w+)(?:\\.\\w+)*\\.generateContent\\s*\\(/,\n provider: 'gemini',\n api: 'generateContent',\n },\n {\n pattern: /\\.send\\s*\\(\\s*new\\s+InvokeModelCommand\\s*\\(/g,\n receiverRe: /(\\w+)(?:\\.\\w+)*\\.send\\s*\\(/,\n provider: 'bedrock',\n api: 'invokeModel',\n },\n {\n pattern: /\\.send\\s*\\(\\s*new\\s+ConverseCommand\\s*\\(/g,\n receiverRe: /(\\w+)(?:\\.\\w+)*\\.send\\s*\\(/,\n provider: 'bedrock',\n api: 'converse',\n },\n];\n\nfunction findWrappedConstructors(source: string): Set<string> {\n const result = new Set<string>();\n const declRe =\n /(?:const|let|var)\\s+(\\w+)\\s*=\\s*new\\s+(?:OpenAI|Anthropic|Gemini|AzureOpenAI|Bedrock|Mistral)\\s*\\(/g;\n for (const m of source.matchAll(declRe)) {\n const varName = m[1] ?? '';\n if (!varName) continue;\n let depth = 1;\n let i = (m.index ?? 0) + m[0].length;\n let argBlock = '';\n while (i < source.length && depth > 0) {\n const ch = source[i];\n if (ch === '(') depth++;\n else if (ch === ')') depth--;\n if (depth > 0) argBlock += ch;\n i++;\n }\n if (/\\bamplitude\\s*:/.test(argBlock)) {\n result.add(varName);\n }\n }\n return result;\n}\n\nexport function analyzeFileInstrumentation(source: string): FileAnalysis {\n const hasPatch = /\\bpatch\\s*\\(\\s*\\{/.test(source);\n const hasSessionContext =\n /\\.session\\s*\\(/.test(source) ||\n /\\bsession\\.run\\s*\\(/.test(source) ||\n /\\bcreateAmplitudeAIMiddleware\\s*\\(/.test(source);\n\n const hasAmplitudeImport =\n /from\\s+['\"]@amplitude\\/ai['\"]/.test(source) ||\n /require\\s*\\(\\s*['\"]@amplitude\\/ai['\"]\\s*\\)/.test(source) ||\n /\\bAmplitudeAI\\b/.test(source);\n\n const wrappedClients = findWrappedConstructors(source);\n if (hasAmplitudeImport) {\n const wrapRe = /(?:const|let|var)\\s+(\\w+)\\s*=\\s*(?:\\w+\\.)*wrap\\s*\\(/g;\n for (const m of source.matchAll(wrapRe)) {\n const name = m[1] ?? '';\n if (name) wrappedClients.add(name);\n }\n }\n\n const callSites: CallSite[] = [];\n const lines = source.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i] ?? '';\n for (const { pattern, receiverRe, provider, api } of llmPatterns) {\n pattern.lastIndex = 0;\n if (pattern.test(line)) {\n const rm = line.match(receiverRe);\n const receiver = rm?.[1] ?? '';\n const instrumented = hasPatch || wrappedClients.has(receiver);\n callSites.push({ line: i + 1, provider, api, instrumented });\n }\n }\n }\n\n const uninstrumentedSites = callSites.filter((s) => !s.instrumented);\n let suggestions: string[];\n if (uninstrumentedSites.length > 0) {\n suggestions = [\n 'Now: instrument provider calls with wrapper/swap import (for example, `new OpenAI({ amplitude: ai, apiKey })`).',\n 'Next: add session lineage with `const session = ai.agent(...).session(...)` and wrap calls in `session.run(...)`.',\n 'Why: session context unlocks session-level scoring, enrichments, and reliable product-to-AI funnels.',\n 'Content tiers: choose `contentMode` (`full`, `metadata_only`, or `customer_enriched`) and prefer `redactPii: true` when using `full`.',\n 'Fallback: use `patch({ amplitudeAI: ai })` for migration speed, then graduate to wrapper + session context.',\n ];\n } else if (callSites.length > 0 && !hasSessionContext) {\n suggestions = [\n 'Tracking is present, but session context is missing.',\n 'Now: add `const session = ai.agent(...).session(...)` and execute LLM calls inside `session.run(...)` (or use middleware).',\n 'Why: without session lineage you lose high-value outcomes like session enrichments, scoring, and dependable session funnels.',\n 'Content tiers: set `contentMode` intentionally and keep `redactPii: true` when using `full`.',\n ];\n } else if (callSites.length > 0) {\n suggestions = [\n 'File appears instrumented with session lineage.',\n 'For privacy-by-default, set `contentMode` intentionally and enable `redactPii: true` when using `full`.',\n ];\n } else {\n suggestions = [\n 'No supported LLM call sites detected in this file.',\n 'If this file should emit AI telemetry, add wrapped provider calls and session context.',\n ];\n }\n\n return {\n total_call_sites: callSites.length,\n instrumented: callSites.length - uninstrumentedSites.length,\n uninstrumented: uninstrumentedSites.length,\n has_amplitude_import: hasAmplitudeImport,\n has_session_context: hasSessionContext,\n call_sites: callSites,\n suggestions,\n };\n}\n"],"mappings":";AAiBA,MAAM,cAAc;CAClB;EACE,SAAS;EACT,YAAY;EACZ,UAAU;EACV,KAAK;EACN;CACD;EACE,SAAS;EACT,YAAY;EACZ,UAAU;EACV,KAAK;EACN;CACD;EACE,SAAS;EACT,YAAY;EACZ,UAAU;EACV,KAAK;EACN;CACD;EACE,SAAS;EACT,YAAY;EACZ,UAAU;EACV,KAAK;EACN;CACD;EACE,SAAS;EACT,YAAY;EACZ,UAAU;EACV,KAAK;EACN;CACD;EACE,SAAS;EACT,YAAY;EACZ,UAAU;EACV,KAAK;EACN;CACD;EACE,SAAS;EACT,YAAY;EACZ,UAAU;EACV,KAAK;EACN;CACF;AAED,SAAS,wBAAwB,QAA6B;CAC5D,MAAM,yBAAS,IAAI,KAAa;AAGhC,MAAK,MAAM,KAAK,OAAO,SADrB,sGACqC,EAAE;EACvC,MAAM,UAAU,EAAE,MAAM;AACxB,MAAI,CAAC,QAAS;EACd,IAAI,QAAQ;EACZ,IAAI,KAAK,EAAE,SAAS,KAAK,EAAE,GAAG;EAC9B,IAAI,WAAW;AACf,SAAO,IAAI,OAAO,UAAU,QAAQ,GAAG;GACrC,MAAM,KAAK,OAAO;AAClB,OAAI,OAAO,IAAK;YACP,OAAO,IAAK;AACrB,OAAI,QAAQ,EAAG,aAAY;AAC3B;;AAEF,MAAI,kBAAkB,KAAK,SAAS,CAClC,QAAO,IAAI,QAAQ;;AAGvB,QAAO;;AAGT,SAAgB,2BAA2B,QAA8B;CACvE,MAAM,WAAW,oBAAoB,KAAK,OAAO;CACjD,MAAM,oBACJ,iBAAiB,KAAK,OAAO,IAC7B,sBAAsB,KAAK,OAAO,IAClC,qCAAqC,KAAK,OAAO;CAEnD,MAAM,qBACJ,gCAAgC,KAAK,OAAO,IAC5C,6CAA6C,KAAK,OAAO,IACzD,kBAAkB,KAAK,OAAO;CAEhC,MAAM,iBAAiB,wBAAwB,OAAO;AACtD,KAAI,mBAEF,MAAK,MAAM,KAAK,OAAO,SADR,uDACwB,EAAE;EACvC,MAAM,OAAO,EAAE,MAAM;AACrB,MAAI,KAAM,gBAAe,IAAI,KAAK;;CAItC,MAAMA,YAAwB,EAAE;CAChC,MAAM,QAAQ,OAAO,MAAM,KAAK;AAChC,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACrC,MAAM,OAAO,MAAM,MAAM;AACzB,OAAK,MAAM,EAAE,SAAS,YAAY,UAAU,SAAS,aAAa;AAChE,WAAQ,YAAY;AACpB,OAAI,QAAQ,KAAK,KAAK,EAAE;IAEtB,MAAM,WADK,KAAK,MAAM,WAAW,GACX,MAAM;IAC5B,MAAM,eAAe,YAAY,eAAe,IAAI,SAAS;AAC7D,cAAU,KAAK;KAAE,MAAM,IAAI;KAAG;KAAU;KAAK;KAAc,CAAC;;;;CAKlE,MAAM,sBAAsB,UAAU,QAAQ,MAAM,CAAC,EAAE,aAAa;CACpE,IAAIC;AACJ,KAAI,oBAAoB,SAAS,EAC/B,eAAc;EACZ;EACA;EACA;EACA;EACA;EACD;UACQ,UAAU,SAAS,KAAK,CAAC,kBAClC,eAAc;EACZ;EACA;EACA;EACA;EACD;UACQ,UAAU,SAAS,EAC5B,eAAc,CACZ,mDACA,0GACD;KAED,eAAc,CACZ,sDACA,yFACD;AAGH,QAAO;EACL,kBAAkB,UAAU;EAC5B,cAAc,UAAU,SAAS,oBAAoB;EACrD,gBAAgB,oBAAoB;EACpC,sBAAsB;EACtB,qBAAqB;EACrB,YAAY;EACZ;EACD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AmplitudeAI } from "./client.js";
|
|
2
|
+
|
|
3
|
+
//#region src/middleware.d.ts
|
|
4
|
+
|
|
5
|
+
interface MiddlewareOptions {
|
|
6
|
+
amplitudeAI: AmplitudeAI;
|
|
7
|
+
userIdResolver: (req: unknown) => string | null;
|
|
8
|
+
sessionIdResolver?: (req: unknown) => string;
|
|
9
|
+
agentId?: string | null;
|
|
10
|
+
env?: string | null;
|
|
11
|
+
trackSessionEvents?: boolean;
|
|
12
|
+
flushOnResponse?: boolean;
|
|
13
|
+
}
|
|
14
|
+
interface ExpressLikeRequest {
|
|
15
|
+
headers: Record<string, string | string[] | undefined>;
|
|
16
|
+
}
|
|
17
|
+
interface ExpressLikeResponse {
|
|
18
|
+
on: (event: string, callback: () => void) => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates Express-compatible middleware.
|
|
22
|
+
*
|
|
23
|
+
* Usage:
|
|
24
|
+
* app.use(createAmplitudeAIMiddleware({
|
|
25
|
+
* amplitudeAI: ai,
|
|
26
|
+
* userIdResolver: (req) => req.headers['x-user-id'],
|
|
27
|
+
* }));
|
|
28
|
+
*/
|
|
29
|
+
declare function createAmplitudeAIMiddleware(options: MiddlewareOptions): (req: ExpressLikeRequest, res: ExpressLikeResponse, next: () => void) => void;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { MiddlewareOptions, createAmplitudeAIMiddleware };
|
|
32
|
+
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","names":[],"sources":["../src/middleware.ts"],"sourcesContent":[],"mappings":";;;;AAuCqD,UA3BpC,iBAAA,CA2BoC;EAa5C,WAAA,EAvCM,WAuCN;EACA,cAAA,EAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GAAA,MAAA,GAAA,IAAA;EAAmB,iBAAA,CAAA,EAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GAAA,MAAA;;;;;;UA/BlB,kBAAA;WACC;;UAGD,mBAAA;;;;;;;;;;;;iBAaM,2BAAA,UAAqC,0BAa5C,yBACA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { getLogger } from "./utils/logger.js";
|
|
2
|
+
import { SessionContext, _sessionStorage } from "./context.js";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
|
|
5
|
+
//#region src/middleware.ts
|
|
6
|
+
/**
|
|
7
|
+
* HTTP middleware for automatic session tracking in Express/Koa/Hono apps.
|
|
8
|
+
*
|
|
9
|
+
* Port of the Python ASGI middleware (AmplitudeAIMiddleware).
|
|
10
|
+
* For Express-like frameworks, use createAmplitudeAIMiddleware().
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Creates Express-compatible middleware.
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* app.use(createAmplitudeAIMiddleware({
|
|
17
|
+
* amplitudeAI: ai,
|
|
18
|
+
* userIdResolver: (req) => req.headers['x-user-id'],
|
|
19
|
+
* }));
|
|
20
|
+
*/
|
|
21
|
+
function createAmplitudeAIMiddleware(options) {
|
|
22
|
+
const { amplitudeAI, userIdResolver, sessionIdResolver = () => randomUUID(), agentId = null, env = null, trackSessionEvents = true, flushOnResponse = true } = options;
|
|
23
|
+
const logger = getLogger(amplitudeAI.amplitude);
|
|
24
|
+
return (req, res, next) => {
|
|
25
|
+
const userId = userIdResolver(req);
|
|
26
|
+
const sessionId = sessionIdResolver(req);
|
|
27
|
+
let traceId = req.headers["x-trace-id"];
|
|
28
|
+
if (!traceId && req.headers.traceparent) {
|
|
29
|
+
const parts = String(req.headers.traceparent).split("-");
|
|
30
|
+
traceId = parts.length >= 2 ? parts[1] : void 0;
|
|
31
|
+
}
|
|
32
|
+
if (!traceId) traceId = randomUUID();
|
|
33
|
+
const ctx = new SessionContext({
|
|
34
|
+
sessionId,
|
|
35
|
+
traceId,
|
|
36
|
+
userId,
|
|
37
|
+
agentId,
|
|
38
|
+
env,
|
|
39
|
+
nextTurnIdFn: () => amplitudeAI._nextTurnId(sessionId)
|
|
40
|
+
});
|
|
41
|
+
_sessionStorage.run(ctx, () => {
|
|
42
|
+
res.on("finish", () => {
|
|
43
|
+
if (trackSessionEvents && userId != null) try {
|
|
44
|
+
amplitudeAI.trackSessionEnd({
|
|
45
|
+
userId,
|
|
46
|
+
sessionId,
|
|
47
|
+
traceId: traceId ?? void 0,
|
|
48
|
+
env,
|
|
49
|
+
agentId
|
|
50
|
+
});
|
|
51
|
+
} catch (error) {
|
|
52
|
+
logger.warn(`Failed to track session end in middleware: ${error instanceof Error ? error.message : String(error)}`);
|
|
53
|
+
}
|
|
54
|
+
if (flushOnResponse) try {
|
|
55
|
+
amplitudeAI.flush();
|
|
56
|
+
} catch (error) {
|
|
57
|
+
logger.warn(`Failed to flush events in middleware: ${error instanceof Error ? error.message : String(error)}`);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
next();
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
export { createAmplitudeAIMiddleware };
|
|
67
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","names":[],"sources":["../src/middleware.ts"],"sourcesContent":["/**\n * HTTP middleware for automatic session tracking in Express/Koa/Hono apps.\n *\n * Port of the Python ASGI middleware (AmplitudeAIMiddleware).\n * For Express-like frameworks, use createAmplitudeAIMiddleware().\n */\n\nimport { randomUUID } from 'node:crypto';\nimport type { AmplitudeAI } from './client.js';\nimport { _sessionStorage, SessionContext } from './context.js';\nimport { getLogger } from './utils/logger.js';\n\nexport interface MiddlewareOptions {\n amplitudeAI: AmplitudeAI;\n userIdResolver: (req: unknown) => string | null;\n sessionIdResolver?: (req: unknown) => string;\n agentId?: string | null;\n env?: string | null;\n trackSessionEvents?: boolean;\n flushOnResponse?: boolean;\n}\n\ninterface ExpressLikeRequest {\n headers: Record<string, string | string[] | undefined>;\n}\n\ninterface ExpressLikeResponse {\n on: (event: string, callback: () => void) => void;\n}\n\n/**\n * Creates Express-compatible middleware.\n *\n * Usage:\n * app.use(createAmplitudeAIMiddleware({\n * amplitudeAI: ai,\n * userIdResolver: (req) => req.headers['x-user-id'],\n * }));\n */\nexport function createAmplitudeAIMiddleware(options: MiddlewareOptions) {\n const {\n amplitudeAI,\n userIdResolver,\n sessionIdResolver = () => randomUUID(),\n agentId = null,\n env = null,\n trackSessionEvents = true,\n flushOnResponse = true,\n } = options;\n const logger = getLogger(amplitudeAI.amplitude);\n\n return (\n req: ExpressLikeRequest,\n res: ExpressLikeResponse,\n next: () => void,\n ): void => {\n const userId = userIdResolver(req);\n const sessionId = sessionIdResolver(req);\n\n let traceId = req.headers['x-trace-id'] as string | undefined;\n if (!traceId && req.headers.traceparent) {\n const parts = String(req.headers.traceparent).split('-');\n traceId = parts.length >= 2 ? parts[1] : undefined;\n }\n if (!traceId) traceId = randomUUID();\n\n const ctx = new SessionContext({\n sessionId,\n traceId,\n userId,\n agentId,\n env,\n nextTurnIdFn: () => amplitudeAI._nextTurnId(sessionId),\n });\n\n _sessionStorage.run(ctx, () => {\n res.on('finish', () => {\n if (trackSessionEvents && userId != null) {\n try {\n amplitudeAI.trackSessionEnd({\n userId,\n sessionId,\n traceId: traceId ?? undefined,\n env,\n agentId,\n });\n } catch (error) {\n logger.warn(\n `Failed to track session end in middleware: ${\n error instanceof Error ? error.message : String(error)\n }`,\n );\n }\n }\n\n if (flushOnResponse) {\n try {\n amplitudeAI.flush();\n } catch (error) {\n logger.warn(\n `Failed to flush events in middleware: ${\n error instanceof Error ? error.message : String(error)\n }`,\n );\n }\n }\n });\n\n next();\n });\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAuCA,SAAgB,4BAA4B,SAA4B;CACtE,MAAM,EACJ,aACA,gBACA,0BAA0B,YAAY,EACtC,UAAU,MACV,MAAM,MACN,qBAAqB,MACrB,kBAAkB,SAChB;CACJ,MAAM,SAAS,UAAU,YAAY,UAAU;AAE/C,SACE,KACA,KACA,SACS;EACT,MAAM,SAAS,eAAe,IAAI;EAClC,MAAM,YAAY,kBAAkB,IAAI;EAExC,IAAI,UAAU,IAAI,QAAQ;AAC1B,MAAI,CAAC,WAAW,IAAI,QAAQ,aAAa;GACvC,MAAM,QAAQ,OAAO,IAAI,QAAQ,YAAY,CAAC,MAAM,IAAI;AACxD,aAAU,MAAM,UAAU,IAAI,MAAM,KAAK;;AAE3C,MAAI,CAAC,QAAS,WAAU,YAAY;EAEpC,MAAM,MAAM,IAAI,eAAe;GAC7B;GACA;GACA;GACA;GACA;GACA,oBAAoB,YAAY,YAAY,UAAU;GACvD,CAAC;AAEF,kBAAgB,IAAI,WAAW;AAC7B,OAAI,GAAG,gBAAgB;AACrB,QAAI,sBAAsB,UAAU,KAClC,KAAI;AACF,iBAAY,gBAAgB;MAC1B;MACA;MACA,SAAS,WAAW;MACpB;MACA;MACD,CAAC;aACK,OAAO;AACd,YAAO,KACL,8CACE,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,GAEzD;;AAIL,QAAI,gBACF,KAAI;AACF,iBAAY,OAAO;aACZ,OAAO;AACd,YAAO,KACL,yCACE,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,GAEzD;;KAGL;AAEF,SAAM;IACN"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
//#region node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
|
|
2
|
+
/**
|
|
3
|
+
* Experimental task capability assertion helpers.
|
|
4
|
+
* WARNING: These APIs are experimental and may change without notice.
|
|
5
|
+
*
|
|
6
|
+
* @experimental
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Asserts that task creation is supported for tools/call.
|
|
10
|
+
* Used by Client.assertTaskCapability and Server.assertTaskHandlerCapability.
|
|
11
|
+
*
|
|
12
|
+
* @param requests - The task requests capability object
|
|
13
|
+
* @param method - The method being checked
|
|
14
|
+
* @param entityName - 'Server' or 'Client' for error messages
|
|
15
|
+
* @throws Error if the capability is not supported
|
|
16
|
+
*
|
|
17
|
+
* @experimental
|
|
18
|
+
*/
|
|
19
|
+
function assertToolsCallTaskCapability(requests, method, entityName) {
|
|
20
|
+
if (!requests) throw new Error(`${entityName} does not support task creation (required for ${method})`);
|
|
21
|
+
switch (method) {
|
|
22
|
+
case "tools/call":
|
|
23
|
+
if (!requests.tools?.call) throw new Error(`${entityName} does not support task creation for tools/call (required for ${method})`);
|
|
24
|
+
break;
|
|
25
|
+
default: break;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Asserts that task creation is supported for sampling/createMessage or elicitation/create.
|
|
30
|
+
* Used by Server.assertTaskCapability and Client.assertTaskHandlerCapability.
|
|
31
|
+
*
|
|
32
|
+
* @param requests - The task requests capability object
|
|
33
|
+
* @param method - The method being checked
|
|
34
|
+
* @param entityName - 'Server' or 'Client' for error messages
|
|
35
|
+
* @throws Error if the capability is not supported
|
|
36
|
+
*
|
|
37
|
+
* @experimental
|
|
38
|
+
*/
|
|
39
|
+
function assertClientRequestTaskCapability(requests, method, entityName) {
|
|
40
|
+
if (!requests) throw new Error(`${entityName} does not support task creation (required for ${method})`);
|
|
41
|
+
switch (method) {
|
|
42
|
+
case "sampling/createMessage":
|
|
43
|
+
if (!requests.sampling?.createMessage) throw new Error(`${entityName} does not support task creation for sampling/createMessage (required for ${method})`);
|
|
44
|
+
break;
|
|
45
|
+
case "elicitation/create":
|
|
46
|
+
if (!requests.elicitation?.create) throw new Error(`${entityName} does not support task creation for elicitation/create (required for ${method})`);
|
|
47
|
+
break;
|
|
48
|
+
default: break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
export { assertClientRequestTaskCapability, assertToolsCallTaskCapability };
|
|
54
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js"],"sourcesContent":["/**\n * Experimental task capability assertion helpers.\n * WARNING: These APIs are experimental and may change without notice.\n *\n * @experimental\n */\n/**\n * Asserts that task creation is supported for tools/call.\n * Used by Client.assertTaskCapability and Server.assertTaskHandlerCapability.\n *\n * @param requests - The task requests capability object\n * @param method - The method being checked\n * @param entityName - 'Server' or 'Client' for error messages\n * @throws Error if the capability is not supported\n *\n * @experimental\n */\nexport function assertToolsCallTaskCapability(requests, method, entityName) {\n if (!requests) {\n throw new Error(`${entityName} does not support task creation (required for ${method})`);\n }\n switch (method) {\n case 'tools/call':\n if (!requests.tools?.call) {\n throw new Error(`${entityName} does not support task creation for tools/call (required for ${method})`);\n }\n break;\n default:\n // Method doesn't support tasks, which is fine - no error\n break;\n }\n}\n/**\n * Asserts that task creation is supported for sampling/createMessage or elicitation/create.\n * Used by Server.assertTaskCapability and Client.assertTaskHandlerCapability.\n *\n * @param requests - The task requests capability object\n * @param method - The method being checked\n * @param entityName - 'Server' or 'Client' for error messages\n * @throws Error if the capability is not supported\n *\n * @experimental\n */\nexport function assertClientRequestTaskCapability(requests, method, entityName) {\n if (!requests) {\n throw new Error(`${entityName} does not support task creation (required for ${method})`);\n }\n switch (method) {\n case 'sampling/createMessage':\n if (!requests.sampling?.createMessage) {\n throw new Error(`${entityName} does not support task creation for sampling/createMessage (required for ${method})`);\n }\n break;\n case 'elicitation/create':\n if (!requests.elicitation?.create) {\n throw new Error(`${entityName} does not support task creation for elicitation/create (required for ${method})`);\n }\n break;\n default:\n // Method doesn't support tasks, which is fine - no error\n break;\n }\n}\n//# sourceMappingURL=helpers.js.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,SAAgB,8BAA8B,UAAU,QAAQ,YAAY;AACxE,KAAI,CAAC,SACD,OAAM,IAAI,MAAM,GAAG,WAAW,gDAAgD,OAAO,GAAG;AAE5F,SAAQ,QAAR;EACI,KAAK;AACD,OAAI,CAAC,SAAS,OAAO,KACjB,OAAM,IAAI,MAAM,GAAG,WAAW,+DAA+D,OAAO,GAAG;AAE3G;EACJ,QAEI;;;;;;;;;;;;;;AAcZ,SAAgB,kCAAkC,UAAU,QAAQ,YAAY;AAC5E,KAAI,CAAC,SACD,OAAM,IAAI,MAAM,GAAG,WAAW,gDAAgD,OAAO,GAAG;AAE5F,SAAQ,QAAR;EACI,KAAK;AACD,OAAI,CAAC,SAAS,UAAU,cACpB,OAAM,IAAI,MAAM,GAAG,WAAW,2EAA2E,OAAO,GAAG;AAEvH;EACJ,KAAK;AACD,OAAI,CAAC,SAAS,aAAa,OACvB,OAAM,IAAI,MAAM,GAAG,WAAW,uEAAuE,OAAO,GAAG;AAEnH;EACJ,QAEI"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
|
|
2
|
+
/**
|
|
3
|
+
* Experimental task interfaces for MCP SDK.
|
|
4
|
+
* WARNING: These APIs are experimental and may change without notice.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Checks if a task status represents a terminal state.
|
|
8
|
+
* Terminal states are those where the task has finished and will not change.
|
|
9
|
+
*
|
|
10
|
+
* @param status - The task status to check
|
|
11
|
+
* @returns True if the status is terminal (completed, failed, or cancelled)
|
|
12
|
+
* @experimental
|
|
13
|
+
*/
|
|
14
|
+
function isTerminal(status) {
|
|
15
|
+
return status === "completed" || status === "failed" || status === "cancelled";
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { isTerminal };
|
|
20
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js"],"sourcesContent":["/**\n * Experimental task interfaces for MCP SDK.\n * WARNING: These APIs are experimental and may change without notice.\n */\n/**\n * Checks if a task status represents a terminal state.\n * Terminal states are those where the task has finished and will not change.\n *\n * @param status - The task status to check\n * @returns True if the status is terminal (completed, failed, or cancelled)\n * @experimental\n */\nexport function isTerminal(status) {\n return status === 'completed' || status === 'failed' || status === 'cancelled';\n}\n//# sourceMappingURL=interfaces.js.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;AAYA,SAAgB,WAAW,QAAQ;AAC/B,QAAO,WAAW,eAAe,WAAW,YAAY,WAAW"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js
|
|
2
|
+
/**
|
|
3
|
+
* Experimental McpServer task features for MCP SDK.
|
|
4
|
+
* WARNING: These APIs are experimental and may change without notice.
|
|
5
|
+
*
|
|
6
|
+
* @experimental
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Experimental task features for McpServer.
|
|
10
|
+
*
|
|
11
|
+
* Access via `server.experimental.tasks`:
|
|
12
|
+
* ```typescript
|
|
13
|
+
* server.experimental.tasks.registerToolTask('long-running', config, handler);
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @experimental
|
|
17
|
+
*/
|
|
18
|
+
var ExperimentalMcpServerTasks = class {
|
|
19
|
+
constructor(_mcpServer) {
|
|
20
|
+
this._mcpServer = _mcpServer;
|
|
21
|
+
}
|
|
22
|
+
registerToolTask(name, config, handler) {
|
|
23
|
+
const execution = {
|
|
24
|
+
taskSupport: "required",
|
|
25
|
+
...config.execution
|
|
26
|
+
};
|
|
27
|
+
if (execution.taskSupport === "forbidden") throw new Error(`Cannot register task-based tool '${name}' with taskSupport 'forbidden'. Use registerTool() instead.`);
|
|
28
|
+
return this._mcpServer._createRegisteredTool(name, config.title, config.description, config.inputSchema, config.outputSchema, config.annotations, execution, config._meta, handler);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { ExperimentalMcpServerTasks };
|
|
34
|
+
//# sourceMappingURL=mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.js","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js"],"sourcesContent":["/**\n * Experimental McpServer task features for MCP SDK.\n * WARNING: These APIs are experimental and may change without notice.\n *\n * @experimental\n */\n/**\n * Experimental task features for McpServer.\n *\n * Access via `server.experimental.tasks`:\n * ```typescript\n * server.experimental.tasks.registerToolTask('long-running', config, handler);\n * ```\n *\n * @experimental\n */\nexport class ExperimentalMcpServerTasks {\n constructor(_mcpServer) {\n this._mcpServer = _mcpServer;\n }\n registerToolTask(name, config, handler) {\n // Validate that taskSupport is not 'forbidden' for task-based tools\n const execution = { taskSupport: 'required', ...config.execution };\n if (execution.taskSupport === 'forbidden') {\n throw new Error(`Cannot register task-based tool '${name}' with taskSupport 'forbidden'. Use registerTool() instead.`);\n }\n // Access McpServer's internal _createRegisteredTool method\n const mcpServerInternal = this._mcpServer;\n return mcpServerInternal._createRegisteredTool(name, config.title, config.description, config.inputSchema, config.outputSchema, config.annotations, execution, config._meta, handler);\n }\n}\n//# sourceMappingURL=mcp-server.js.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;AAgBA,IAAa,6BAAb,MAAwC;CACpC,YAAY,YAAY;AACpB,OAAK,aAAa;;CAEtB,iBAAiB,MAAM,QAAQ,SAAS;EAEpC,MAAM,YAAY;GAAE,aAAa;GAAY,GAAG,OAAO;GAAW;AAClE,MAAI,UAAU,gBAAgB,YAC1B,OAAM,IAAI,MAAM,oCAAoC,KAAK,6DAA6D;AAI1H,SAD0B,KAAK,WACN,sBAAsB,MAAM,OAAO,OAAO,OAAO,aAAa,OAAO,aAAa,OAAO,cAAc,OAAO,aAAa,WAAW,OAAO,OAAO,QAAQ"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { CreateMessageResultSchema, ElicitResultSchema } from "../../types.js";
|
|
2
|
+
|
|
3
|
+
//#region node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
|
|
4
|
+
/**
|
|
5
|
+
* Experimental server task features for MCP SDK.
|
|
6
|
+
* WARNING: These APIs are experimental and may change without notice.
|
|
7
|
+
*
|
|
8
|
+
* @experimental
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Experimental task features for low-level MCP servers.
|
|
12
|
+
*
|
|
13
|
+
* Access via `server.experimental.tasks`:
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const stream = server.experimental.tasks.requestStream(request, schema, options);
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* For high-level server usage with task-based tools, use `McpServer.experimental.tasks` instead.
|
|
19
|
+
*
|
|
20
|
+
* @experimental
|
|
21
|
+
*/
|
|
22
|
+
var ExperimentalServerTasks = class {
|
|
23
|
+
constructor(_server) {
|
|
24
|
+
this._server = _server;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Sends a request and returns an AsyncGenerator that yields response messages.
|
|
28
|
+
* The generator is guaranteed to end with either a 'result' or 'error' message.
|
|
29
|
+
*
|
|
30
|
+
* This method provides streaming access to request processing, allowing you to
|
|
31
|
+
* observe intermediate task status updates for task-augmented requests.
|
|
32
|
+
*
|
|
33
|
+
* @param request - The request to send
|
|
34
|
+
* @param resultSchema - Zod schema for validating the result
|
|
35
|
+
* @param options - Optional request options (timeout, signal, task creation params, etc.)
|
|
36
|
+
* @returns AsyncGenerator that yields ResponseMessage objects
|
|
37
|
+
*
|
|
38
|
+
* @experimental
|
|
39
|
+
*/
|
|
40
|
+
requestStream(request, resultSchema, options) {
|
|
41
|
+
return this._server.requestStream(request, resultSchema, options);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Sends a sampling request and returns an AsyncGenerator that yields response messages.
|
|
45
|
+
* The generator is guaranteed to end with either a 'result' or 'error' message.
|
|
46
|
+
*
|
|
47
|
+
* For task-augmented requests, yields 'taskCreated' and 'taskStatus' messages
|
|
48
|
+
* before the final result.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const stream = server.experimental.tasks.createMessageStream({
|
|
53
|
+
* messages: [{ role: 'user', content: { type: 'text', text: 'Hello' } }],
|
|
54
|
+
* maxTokens: 100
|
|
55
|
+
* }, {
|
|
56
|
+
* onprogress: (progress) => {
|
|
57
|
+
* // Handle streaming tokens via progress notifications
|
|
58
|
+
* console.log('Progress:', progress.message);
|
|
59
|
+
* }
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* for await (const message of stream) {
|
|
63
|
+
* switch (message.type) {
|
|
64
|
+
* case 'taskCreated':
|
|
65
|
+
* console.log('Task created:', message.task.taskId);
|
|
66
|
+
* break;
|
|
67
|
+
* case 'taskStatus':
|
|
68
|
+
* console.log('Task status:', message.task.status);
|
|
69
|
+
* break;
|
|
70
|
+
* case 'result':
|
|
71
|
+
* console.log('Final result:', message.result);
|
|
72
|
+
* break;
|
|
73
|
+
* case 'error':
|
|
74
|
+
* console.error('Error:', message.error);
|
|
75
|
+
* break;
|
|
76
|
+
* }
|
|
77
|
+
* }
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* @param params - The sampling request parameters
|
|
81
|
+
* @param options - Optional request options (timeout, signal, task creation params, onprogress, etc.)
|
|
82
|
+
* @returns AsyncGenerator that yields ResponseMessage objects
|
|
83
|
+
*
|
|
84
|
+
* @experimental
|
|
85
|
+
*/
|
|
86
|
+
createMessageStream(params, options) {
|
|
87
|
+
const clientCapabilities = this._server.getClientCapabilities();
|
|
88
|
+
if ((params.tools || params.toolChoice) && !clientCapabilities?.sampling?.tools) throw new Error("Client does not support sampling tools capability.");
|
|
89
|
+
if (params.messages.length > 0) {
|
|
90
|
+
const lastMessage = params.messages[params.messages.length - 1];
|
|
91
|
+
const lastContent = Array.isArray(lastMessage.content) ? lastMessage.content : [lastMessage.content];
|
|
92
|
+
const hasToolResults = lastContent.some((c) => c.type === "tool_result");
|
|
93
|
+
const previousMessage = params.messages.length > 1 ? params.messages[params.messages.length - 2] : void 0;
|
|
94
|
+
const previousContent = previousMessage ? Array.isArray(previousMessage.content) ? previousMessage.content : [previousMessage.content] : [];
|
|
95
|
+
const hasPreviousToolUse = previousContent.some((c) => c.type === "tool_use");
|
|
96
|
+
if (hasToolResults) {
|
|
97
|
+
if (lastContent.some((c) => c.type !== "tool_result")) throw new Error("The last message must contain only tool_result content if any is present");
|
|
98
|
+
if (!hasPreviousToolUse) throw new Error("tool_result blocks are not matching any tool_use from the previous message");
|
|
99
|
+
}
|
|
100
|
+
if (hasPreviousToolUse) {
|
|
101
|
+
const toolUseIds = new Set(previousContent.filter((c) => c.type === "tool_use").map((c) => c.id));
|
|
102
|
+
const toolResultIds = new Set(lastContent.filter((c) => c.type === "tool_result").map((c) => c.toolUseId));
|
|
103
|
+
if (toolUseIds.size !== toolResultIds.size || ![...toolUseIds].every((id) => toolResultIds.has(id))) throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match");
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return this.requestStream({
|
|
107
|
+
method: "sampling/createMessage",
|
|
108
|
+
params
|
|
109
|
+
}, CreateMessageResultSchema, options);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Sends an elicitation request and returns an AsyncGenerator that yields response messages.
|
|
113
|
+
* The generator is guaranteed to end with either a 'result' or 'error' message.
|
|
114
|
+
*
|
|
115
|
+
* For task-augmented requests (especially URL-based elicitation), yields 'taskCreated'
|
|
116
|
+
* and 'taskStatus' messages before the final result.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const stream = server.experimental.tasks.elicitInputStream({
|
|
121
|
+
* mode: 'url',
|
|
122
|
+
* message: 'Please authenticate',
|
|
123
|
+
* elicitationId: 'auth-123',
|
|
124
|
+
* url: 'https://example.com/auth'
|
|
125
|
+
* }, {
|
|
126
|
+
* task: { ttl: 300000 } // Task-augmented for long-running auth flow
|
|
127
|
+
* });
|
|
128
|
+
*
|
|
129
|
+
* for await (const message of stream) {
|
|
130
|
+
* switch (message.type) {
|
|
131
|
+
* case 'taskCreated':
|
|
132
|
+
* console.log('Task created:', message.task.taskId);
|
|
133
|
+
* break;
|
|
134
|
+
* case 'taskStatus':
|
|
135
|
+
* console.log('Task status:', message.task.status);
|
|
136
|
+
* break;
|
|
137
|
+
* case 'result':
|
|
138
|
+
* console.log('User action:', message.result.action);
|
|
139
|
+
* break;
|
|
140
|
+
* case 'error':
|
|
141
|
+
* console.error('Error:', message.error);
|
|
142
|
+
* break;
|
|
143
|
+
* }
|
|
144
|
+
* }
|
|
145
|
+
* ```
|
|
146
|
+
*
|
|
147
|
+
* @param params - The elicitation request parameters
|
|
148
|
+
* @param options - Optional request options (timeout, signal, task creation params, etc.)
|
|
149
|
+
* @returns AsyncGenerator that yields ResponseMessage objects
|
|
150
|
+
*
|
|
151
|
+
* @experimental
|
|
152
|
+
*/
|
|
153
|
+
elicitInputStream(params, options) {
|
|
154
|
+
const clientCapabilities = this._server.getClientCapabilities();
|
|
155
|
+
const mode = params.mode ?? "form";
|
|
156
|
+
switch (mode) {
|
|
157
|
+
case "url":
|
|
158
|
+
if (!clientCapabilities?.elicitation?.url) throw new Error("Client does not support url elicitation.");
|
|
159
|
+
break;
|
|
160
|
+
case "form":
|
|
161
|
+
if (!clientCapabilities?.elicitation?.form) throw new Error("Client does not support form elicitation.");
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
const normalizedParams = mode === "form" && params.mode === void 0 ? {
|
|
165
|
+
...params,
|
|
166
|
+
mode: "form"
|
|
167
|
+
} : params;
|
|
168
|
+
return this.requestStream({
|
|
169
|
+
method: "elicitation/create",
|
|
170
|
+
params: normalizedParams
|
|
171
|
+
}, ElicitResultSchema, options);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Gets the current status of a task.
|
|
175
|
+
*
|
|
176
|
+
* @param taskId - The task identifier
|
|
177
|
+
* @param options - Optional request options
|
|
178
|
+
* @returns The task status
|
|
179
|
+
*
|
|
180
|
+
* @experimental
|
|
181
|
+
*/
|
|
182
|
+
async getTask(taskId, options) {
|
|
183
|
+
return this._server.getTask({ taskId }, options);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Retrieves the result of a completed task.
|
|
187
|
+
*
|
|
188
|
+
* @param taskId - The task identifier
|
|
189
|
+
* @param resultSchema - Zod schema for validating the result
|
|
190
|
+
* @param options - Optional request options
|
|
191
|
+
* @returns The task result
|
|
192
|
+
*
|
|
193
|
+
* @experimental
|
|
194
|
+
*/
|
|
195
|
+
async getTaskResult(taskId, resultSchema, options) {
|
|
196
|
+
return this._server.getTaskResult({ taskId }, resultSchema, options);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Lists tasks with optional pagination.
|
|
200
|
+
*
|
|
201
|
+
* @param cursor - Optional pagination cursor
|
|
202
|
+
* @param options - Optional request options
|
|
203
|
+
* @returns List of tasks with optional next cursor
|
|
204
|
+
*
|
|
205
|
+
* @experimental
|
|
206
|
+
*/
|
|
207
|
+
async listTasks(cursor, options) {
|
|
208
|
+
return this._server.listTasks(cursor ? { cursor } : void 0, options);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Cancels a running task.
|
|
212
|
+
*
|
|
213
|
+
* @param taskId - The task identifier
|
|
214
|
+
* @param options - Optional request options
|
|
215
|
+
*
|
|
216
|
+
* @experimental
|
|
217
|
+
*/
|
|
218
|
+
async cancelTask(taskId, options) {
|
|
219
|
+
return this._server.cancelTask({ taskId }, options);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
//#endregion
|
|
224
|
+
export { ExperimentalServerTasks };
|
|
225
|
+
//# sourceMappingURL=server.js.map
|