@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 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","names":["defaultLogger: Logger"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["export interface Logger {\n debug(message: string): void;\n error(message: string): void;\n warn(message: string): void;\n info(message: string): void;\n}\n\nconst defaultLogger: Logger = {\n debug: () => {},\n error: (msg) => console.error(`[amplitude-ai] ${msg}`),\n warn: (msg) => console.warn(`[amplitude-ai] ${msg}`),\n info: () => {},\n};\n\nexport function getLogger(amplitude?: unknown): Logger {\n if (amplitude && typeof amplitude === 'object') {\n const config = (amplitude as Record<string, unknown>).configuration as\n | Record<string, unknown>\n | undefined;\n if (config?.loggerProvider && typeof config.loggerProvider === 'object') {\n return config.loggerProvider as Logger;\n }\n }\n return defaultLogger;\n}\n"],"mappings":";AAOA,MAAMA,gBAAwB;CAC5B,aAAa;CACb,QAAQ,QAAQ,QAAQ,MAAM,kBAAkB,MAAM;CACtD,OAAO,QAAQ,QAAQ,KAAK,kBAAkB,MAAM;CACpD,YAAY;CACb;AAED,SAAgB,UAAU,WAA6B;AACrD,KAAI,aAAa,OAAO,cAAc,UAAU;EAC9C,MAAM,SAAU,UAAsC;AAGtD,MAAI,QAAQ,kBAAkB,OAAO,OAAO,mBAAmB,SAC7D,QAAO,OAAO;;AAGlB,QAAO"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/utils/model-tiers.d.ts
|
|
2
|
+
declare const TIER_FAST = "fast";
|
|
3
|
+
declare const TIER_STANDARD = "standard";
|
|
4
|
+
declare const TIER_REASONING = "reasoning";
|
|
5
|
+
declare function inferModelTier(modelName: string): string;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { TIER_FAST, TIER_REASONING, TIER_STANDARD, inferModelTier };
|
|
8
|
+
//# sourceMappingURL=model-tiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-tiers.d.ts","names":[],"sources":["../../src/utils/model-tiers.ts"],"sourcesContent":[],"mappings":";cAAa,SAAA;AAAA,cACA,aAAA,GADS,UAAA;AACT,cACA,cAAA,GADa,WAAA;AACb,iBAwEG,cAAA,CAxEW,SAAA,EAAA,MAAA,CAAA,EAAA,MAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
//#region src/utils/model-tiers.ts
|
|
2
|
+
const TIER_FAST = "fast";
|
|
3
|
+
const TIER_STANDARD = "standard";
|
|
4
|
+
const TIER_REASONING = "reasoning";
|
|
5
|
+
const MODEL_TIER_RULES = [
|
|
6
|
+
["gpt-4o-mini", TIER_FAST],
|
|
7
|
+
["gpt-4.1-mini", TIER_FAST],
|
|
8
|
+
["gpt-4.1-nano", TIER_FAST],
|
|
9
|
+
["gpt-3.5", TIER_FAST],
|
|
10
|
+
["o1-mini", TIER_FAST],
|
|
11
|
+
["o3-mini", TIER_FAST],
|
|
12
|
+
["o4-mini", TIER_FAST],
|
|
13
|
+
["o1-pro", TIER_REASONING],
|
|
14
|
+
["o1-preview", TIER_REASONING],
|
|
15
|
+
["o1", TIER_REASONING],
|
|
16
|
+
["o3", TIER_REASONING],
|
|
17
|
+
["o4", TIER_REASONING],
|
|
18
|
+
["gpt-4o", TIER_STANDARD],
|
|
19
|
+
["gpt-4.1", TIER_STANDARD],
|
|
20
|
+
["gpt-4-turbo", TIER_STANDARD],
|
|
21
|
+
["gpt-4", TIER_STANDARD],
|
|
22
|
+
["claude-3-haiku", TIER_FAST],
|
|
23
|
+
["claude-3.5-haiku", TIER_FAST],
|
|
24
|
+
["claude-haiku", TIER_FAST],
|
|
25
|
+
["claude-3-opus", TIER_STANDARD],
|
|
26
|
+
["claude-opus", TIER_STANDARD],
|
|
27
|
+
["claude-sonnet", TIER_STANDARD],
|
|
28
|
+
["claude-3.5-sonnet", TIER_STANDARD],
|
|
29
|
+
["claude-3-sonnet", TIER_STANDARD],
|
|
30
|
+
["claude-4", TIER_STANDARD],
|
|
31
|
+
["gemini-2.0-flash", TIER_FAST],
|
|
32
|
+
["gemini-1.5-flash", TIER_FAST],
|
|
33
|
+
["gemini-flash", TIER_FAST],
|
|
34
|
+
["gemini-2.0-pro", TIER_STANDARD],
|
|
35
|
+
["gemini-1.5-pro", TIER_STANDARD],
|
|
36
|
+
["gemini-pro", TIER_STANDARD],
|
|
37
|
+
["gemini-ultra", TIER_REASONING],
|
|
38
|
+
["mistral-small", TIER_FAST],
|
|
39
|
+
["mistral-tiny", TIER_FAST],
|
|
40
|
+
["pixtral", TIER_FAST],
|
|
41
|
+
["mistral-large", TIER_STANDARD],
|
|
42
|
+
["mistral-medium", TIER_STANDARD],
|
|
43
|
+
["mixtral", TIER_STANDARD],
|
|
44
|
+
["mistral-nemo", TIER_STANDARD],
|
|
45
|
+
["llama-3.3", TIER_STANDARD],
|
|
46
|
+
["llama-3.2", TIER_FAST],
|
|
47
|
+
["llama-3.1-405b", TIER_STANDARD],
|
|
48
|
+
["llama-3.1-70b", TIER_STANDARD],
|
|
49
|
+
["llama-3.1-8b", TIER_FAST],
|
|
50
|
+
["llama-3-70b", TIER_STANDARD],
|
|
51
|
+
["llama-3-8b", TIER_FAST],
|
|
52
|
+
["llama", TIER_STANDARD],
|
|
53
|
+
["command-r-plus", TIER_STANDARD],
|
|
54
|
+
["command-r", TIER_FAST],
|
|
55
|
+
["command-light", TIER_FAST],
|
|
56
|
+
["command", TIER_STANDARD],
|
|
57
|
+
["deepseek-r1", TIER_REASONING],
|
|
58
|
+
["deepseek-v3", TIER_STANDARD],
|
|
59
|
+
["deepseek-chat", TIER_STANDARD],
|
|
60
|
+
["deepseek-coder", TIER_STANDARD],
|
|
61
|
+
["deepseek", TIER_STANDARD]
|
|
62
|
+
];
|
|
63
|
+
function inferModelTier(modelName) {
|
|
64
|
+
const lower = modelName.toLowerCase();
|
|
65
|
+
const normalized = lower.includes(":") ? lower.split(":", 2)[1] ?? lower : lower;
|
|
66
|
+
for (const [pattern, tier] of MODEL_TIER_RULES) {
|
|
67
|
+
if (pattern === "o1" || pattern === "o3" || pattern === "o4") continue;
|
|
68
|
+
if (normalized.includes(pattern)) return tier;
|
|
69
|
+
}
|
|
70
|
+
if (normalized.match(/(?:^|[^a-z0-9])(o[134])(?:$|[^a-z0-9])/) != null) return TIER_REASONING;
|
|
71
|
+
return TIER_STANDARD;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
export { TIER_FAST, TIER_REASONING, TIER_STANDARD, inferModelTier };
|
|
76
|
+
//# sourceMappingURL=model-tiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-tiers.js","names":["MODEL_TIER_RULES: Array<[string, string]>"],"sources":["../../src/utils/model-tiers.ts"],"sourcesContent":["export const TIER_FAST = 'fast';\nexport const TIER_STANDARD = 'standard';\nexport const TIER_REASONING = 'reasoning';\n\nconst MODEL_TIER_RULES: Array<[string, string]> = [\n // OpenAI fast\n ['gpt-4o-mini', TIER_FAST],\n ['gpt-4.1-mini', TIER_FAST],\n ['gpt-4.1-nano', TIER_FAST],\n ['gpt-3.5', TIER_FAST],\n // OpenAI reasoning + o-series\n ['o1-mini', TIER_FAST],\n ['o3-mini', TIER_FAST],\n ['o4-mini', TIER_FAST],\n ['o1-pro', TIER_REASONING],\n ['o1-preview', TIER_REASONING],\n ['o1', TIER_REASONING],\n ['o3', TIER_REASONING],\n ['o4', TIER_REASONING],\n // OpenAI standard\n ['gpt-4o', TIER_STANDARD],\n ['gpt-4.1', TIER_STANDARD],\n ['gpt-4-turbo', TIER_STANDARD],\n ['gpt-4', TIER_STANDARD],\n\n // Anthropic\n ['claude-3-haiku', TIER_FAST],\n ['claude-3.5-haiku', TIER_FAST],\n ['claude-haiku', TIER_FAST],\n ['claude-3-opus', TIER_STANDARD],\n ['claude-opus', TIER_STANDARD],\n ['claude-sonnet', TIER_STANDARD],\n ['claude-3.5-sonnet', TIER_STANDARD],\n ['claude-3-sonnet', TIER_STANDARD],\n ['claude-4', TIER_STANDARD],\n\n // Gemini\n ['gemini-2.0-flash', TIER_FAST],\n ['gemini-1.5-flash', TIER_FAST],\n ['gemini-flash', TIER_FAST],\n ['gemini-2.0-pro', TIER_STANDARD],\n ['gemini-1.5-pro', TIER_STANDARD],\n ['gemini-pro', TIER_STANDARD],\n ['gemini-ultra', TIER_REASONING],\n\n // Mistral\n ['mistral-small', TIER_FAST],\n ['mistral-tiny', TIER_FAST],\n ['pixtral', TIER_FAST],\n ['mistral-large', TIER_STANDARD],\n ['mistral-medium', TIER_STANDARD],\n ['mixtral', TIER_STANDARD],\n ['mistral-nemo', TIER_STANDARD],\n\n // Bedrock/meta + others\n ['llama-3.3', TIER_STANDARD],\n ['llama-3.2', TIER_FAST],\n ['llama-3.1-405b', TIER_STANDARD],\n ['llama-3.1-70b', TIER_STANDARD],\n ['llama-3.1-8b', TIER_FAST],\n ['llama-3-70b', TIER_STANDARD],\n ['llama-3-8b', TIER_FAST],\n ['llama', TIER_STANDARD],\n ['command-r-plus', TIER_STANDARD],\n ['command-r', TIER_FAST],\n ['command-light', TIER_FAST],\n ['command', TIER_STANDARD],\n ['deepseek-r1', TIER_REASONING],\n ['deepseek-v3', TIER_STANDARD],\n ['deepseek-chat', TIER_STANDARD],\n ['deepseek-coder', TIER_STANDARD],\n ['deepseek', TIER_STANDARD],\n];\n\nexport function inferModelTier(modelName: string): string {\n const lower = modelName.toLowerCase();\n const normalized = lower.includes(':')\n ? (lower.split(':', 2)[1] ?? lower)\n : lower;\n\n for (const [pattern, tier] of MODEL_TIER_RULES) {\n if (pattern === 'o1' || pattern === 'o3' || pattern === 'o4') {\n continue;\n }\n if (normalized.includes(pattern)) return tier;\n }\n\n // Avoid false positives for short o-series identifiers.\n // Examples that should NOT match:\n // - \"o100\"\n // - \"co3-something\"\n // Examples that SHOULD match:\n // - \"o1\"\n // - \"o1-2024-12-17\"\n // - \"o3-high\"\n const shortOseriesMatch = normalized.match(\n /(?:^|[^a-z0-9])(o[134])(?:$|[^a-z0-9])/,\n );\n if (shortOseriesMatch != null) {\n return TIER_REASONING;\n }\n\n return TIER_STANDARD;\n}\n"],"mappings":";AAAA,MAAa,YAAY;AACzB,MAAa,gBAAgB;AAC7B,MAAa,iBAAiB;AAE9B,MAAMA,mBAA4C;CAEhD,CAAC,eAAe,UAAU;CAC1B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,WAAW,UAAU;CAEtB,CAAC,WAAW,UAAU;CACtB,CAAC,WAAW,UAAU;CACtB,CAAC,WAAW,UAAU;CACtB,CAAC,UAAU,eAAe;CAC1B,CAAC,cAAc,eAAe;CAC9B,CAAC,MAAM,eAAe;CACtB,CAAC,MAAM,eAAe;CACtB,CAAC,MAAM,eAAe;CAEtB,CAAC,UAAU,cAAc;CACzB,CAAC,WAAW,cAAc;CAC1B,CAAC,eAAe,cAAc;CAC9B,CAAC,SAAS,cAAc;CAGxB,CAAC,kBAAkB,UAAU;CAC7B,CAAC,oBAAoB,UAAU;CAC/B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,iBAAiB,cAAc;CAChC,CAAC,eAAe,cAAc;CAC9B,CAAC,iBAAiB,cAAc;CAChC,CAAC,qBAAqB,cAAc;CACpC,CAAC,mBAAmB,cAAc;CAClC,CAAC,YAAY,cAAc;CAG3B,CAAC,oBAAoB,UAAU;CAC/B,CAAC,oBAAoB,UAAU;CAC/B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,kBAAkB,cAAc;CACjC,CAAC,kBAAkB,cAAc;CACjC,CAAC,cAAc,cAAc;CAC7B,CAAC,gBAAgB,eAAe;CAGhC,CAAC,iBAAiB,UAAU;CAC5B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,WAAW,UAAU;CACtB,CAAC,iBAAiB,cAAc;CAChC,CAAC,kBAAkB,cAAc;CACjC,CAAC,WAAW,cAAc;CAC1B,CAAC,gBAAgB,cAAc;CAG/B,CAAC,aAAa,cAAc;CAC5B,CAAC,aAAa,UAAU;CACxB,CAAC,kBAAkB,cAAc;CACjC,CAAC,iBAAiB,cAAc;CAChC,CAAC,gBAAgB,UAAU;CAC3B,CAAC,eAAe,cAAc;CAC9B,CAAC,cAAc,UAAU;CACzB,CAAC,SAAS,cAAc;CACxB,CAAC,kBAAkB,cAAc;CACjC,CAAC,aAAa,UAAU;CACxB,CAAC,iBAAiB,UAAU;CAC5B,CAAC,WAAW,cAAc;CAC1B,CAAC,eAAe,eAAe;CAC/B,CAAC,eAAe,cAAc;CAC9B,CAAC,iBAAiB,cAAc;CAChC,CAAC,kBAAkB,cAAc;CACjC,CAAC,YAAY,cAAc;CAC5B;AAED,SAAgB,eAAe,WAA2B;CACxD,MAAM,QAAQ,UAAU,aAAa;CACrC,MAAM,aAAa,MAAM,SAAS,IAAI,GACjC,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,QAC3B;AAEJ,MAAK,MAAM,CAAC,SAAS,SAAS,kBAAkB;AAC9C,MAAI,YAAY,QAAQ,YAAY,QAAQ,YAAY,KACtD;AAEF,MAAI,WAAW,SAAS,QAAQ,CAAE,QAAO;;AAc3C,KAH0B,WAAW,MACnC,yCACD,IACwB,KACvB,QAAO;AAGT,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","names":[],"sources":["../../src/utils/providers.ts"],"sourcesContent":[],"mappings":";iBAYgB,sBAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/utils/providers.ts
|
|
2
|
+
const PROVIDER_PATTERNS = [
|
|
3
|
+
[/^gpt-|^o[1-9]|^dall-e|^text-embedding|^whisper|^tts/i, "openai"],
|
|
4
|
+
[/^claude/i, "anthropic"],
|
|
5
|
+
[/^gemini|^palm/i, "gemini"],
|
|
6
|
+
[/^mistral|^codestral|^open-mistral|^pixtral/i, "mistral"],
|
|
7
|
+
[/^command|^embed-/i, "cohere"],
|
|
8
|
+
[/^amazon\.|^titan/i, "amazon"],
|
|
9
|
+
[/^llama|^meta\./i, "meta"],
|
|
10
|
+
[/^jamba|^ai21\./i, "ai21"],
|
|
11
|
+
[/^deepseek/i, "deepseek"]
|
|
12
|
+
];
|
|
13
|
+
function inferProviderFromModel(modelName) {
|
|
14
|
+
for (const [pattern, provider] of PROVIDER_PATTERNS) if (pattern.test(modelName)) return provider;
|
|
15
|
+
return "openai";
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { inferProviderFromModel };
|
|
20
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","names":["PROVIDER_PATTERNS: Array<[RegExp, string]>"],"sources":["../../src/utils/providers.ts"],"sourcesContent":["const PROVIDER_PATTERNS: Array<[RegExp, string]> = [\n [/^gpt-|^o[1-9]|^dall-e|^text-embedding|^whisper|^tts/i, 'openai'],\n [/^claude/i, 'anthropic'],\n [/^gemini|^palm/i, 'gemini'],\n [/^mistral|^codestral|^open-mistral|^pixtral/i, 'mistral'],\n [/^command|^embed-/i, 'cohere'],\n [/^amazon\\.|^titan/i, 'amazon'],\n [/^llama|^meta\\./i, 'meta'],\n [/^jamba|^ai21\\./i, 'ai21'],\n [/^deepseek/i, 'deepseek'],\n];\n\nexport function inferProviderFromModel(modelName: string): string {\n for (const [pattern, provider] of PROVIDER_PATTERNS) {\n if (pattern.test(modelName)) return provider;\n }\n return 'openai';\n}\n"],"mappings":";AAAA,MAAMA,oBAA6C;CACjD,CAAC,wDAAwD,SAAS;CAClE,CAAC,YAAY,YAAY;CACzB,CAAC,kBAAkB,SAAS;CAC5B,CAAC,+CAA+C,UAAU;CAC1D,CAAC,qBAAqB,SAAS;CAC/B,CAAC,qBAAqB,SAAS;CAC/B,CAAC,mBAAmB,OAAO;CAC3B,CAAC,mBAAmB,OAAO;CAC3B,CAAC,cAAc,WAAW;CAC3B;AAED,SAAgB,uBAAuB,WAA2B;AAChE,MAAK,MAAM,CAAC,SAAS,aAAa,kBAChC,KAAI,QAAQ,KAAK,UAAU,CAAE,QAAO;AAEtC,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-module.d.ts","names":[],"sources":["../../src/utils/resolve-module.ts"],"sourcesContent":[],"mappings":";iBAmBgB,UAAA,gBAA0B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/resolve-module.ts
|
|
4
|
+
/**
|
|
5
|
+
* Wrapper around `createRequire()` for optional dependency loading.
|
|
6
|
+
*
|
|
7
|
+
* This package ships as ESM, so bare `require()` is not available at runtime.
|
|
8
|
+
* Keeping this in a single module lets tests vi.mock() optional resolution.
|
|
9
|
+
*
|
|
10
|
+
* In bundler environments (Turbopack, Webpack, etc.) `createRequire` or
|
|
11
|
+
* `import.meta.url` may be rewritten to nonsensical values, so we wrap
|
|
12
|
+
* the initialisation in a try-catch and degrade gracefully to `null`.
|
|
13
|
+
*/
|
|
14
|
+
let localRequire = null;
|
|
15
|
+
try {
|
|
16
|
+
localRequire = createRequire(import.meta.url);
|
|
17
|
+
} catch {}
|
|
18
|
+
function tryRequire(name) {
|
|
19
|
+
if (localRequire == null) return null;
|
|
20
|
+
try {
|
|
21
|
+
return localRequire(name);
|
|
22
|
+
} catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
export { tryRequire };
|
|
29
|
+
//# sourceMappingURL=resolve-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-module.js","names":["localRequire: NodeRequire | null"],"sources":["../../src/utils/resolve-module.ts"],"sourcesContent":["/**\n * Wrapper around `createRequire()` for optional dependency loading.\n *\n * This package ships as ESM, so bare `require()` is not available at runtime.\n * Keeping this in a single module lets tests vi.mock() optional resolution.\n *\n * In bundler environments (Turbopack, Webpack, etc.) `createRequire` or\n * `import.meta.url` may be rewritten to nonsensical values, so we wrap\n * the initialisation in a try-catch and degrade gracefully to `null`.\n */\nimport { createRequire } from 'node:module';\n\nlet localRequire: NodeRequire | null = null;\ntry {\n localRequire = createRequire(import.meta.url);\n} catch {\n // Bundler environment — import.meta.url is invalid or createRequire unavailable.\n}\n\nexport function tryRequire(name: string): Record<string, unknown> | null {\n if (localRequire == null) return null;\n try {\n return localRequire(name) as Record<string, unknown>;\n } catch {\n return null;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAIA,eAAmC;AACvC,IAAI;AACF,gBAAe,cAAc,OAAO,KAAK,IAAI;QACvC;AAIR,SAAgB,WAAW,MAA8C;AACvE,KAAI,gBAAgB,KAAM,QAAO;AACjC,KAAI;AACF,SAAO,aAAa,KAAK;SACnB;AACN,SAAO"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
//#region src/utils/streaming.d.ts
|
|
2
|
+
interface StreamingAccumulatorState {
|
|
3
|
+
content: string;
|
|
4
|
+
inputTokens: number | null;
|
|
5
|
+
outputTokens: number | null;
|
|
6
|
+
totalTokens: number | null;
|
|
7
|
+
reasoningTokens: number | null;
|
|
8
|
+
cacheReadTokens: number | null;
|
|
9
|
+
cacheCreationTokens: number | null;
|
|
10
|
+
finishReason: string | null;
|
|
11
|
+
toolCalls: Array<Record<string, unknown>>;
|
|
12
|
+
model: string | null;
|
|
13
|
+
ttfbMs: number | null;
|
|
14
|
+
isError: boolean;
|
|
15
|
+
errorMessage: string | null;
|
|
16
|
+
}
|
|
17
|
+
declare class StreamingAccumulator {
|
|
18
|
+
content: string;
|
|
19
|
+
inputTokens: number | null;
|
|
20
|
+
outputTokens: number | null;
|
|
21
|
+
totalTokens: number | null;
|
|
22
|
+
reasoningTokens: number | null;
|
|
23
|
+
cacheReadTokens: number | null;
|
|
24
|
+
cacheCreationTokens: number | null;
|
|
25
|
+
finishReason: string | null;
|
|
26
|
+
toolCalls: Array<Record<string, unknown>>;
|
|
27
|
+
model: string | null;
|
|
28
|
+
ttfbMs: number | null;
|
|
29
|
+
isError: boolean;
|
|
30
|
+
errorMessage: string | null;
|
|
31
|
+
private _startTime;
|
|
32
|
+
private _firstChunkReceived;
|
|
33
|
+
constructor();
|
|
34
|
+
addContent(chunk: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Set (overwrite) token usage fields. Only non-null values are written,
|
|
37
|
+
* allowing incremental updates where different streaming events provide
|
|
38
|
+
* different fields (e.g. Anthropic message_start vs message_delta).
|
|
39
|
+
*/
|
|
40
|
+
setUsage(usage: {
|
|
41
|
+
inputTokens?: number;
|
|
42
|
+
outputTokens?: number;
|
|
43
|
+
totalTokens?: number;
|
|
44
|
+
reasoningTokens?: number;
|
|
45
|
+
cacheReadTokens?: number;
|
|
46
|
+
cacheCreationTokens?: number;
|
|
47
|
+
}): void;
|
|
48
|
+
addToolCall(toolCall: Record<string, unknown>): void;
|
|
49
|
+
setError(message: string): void;
|
|
50
|
+
getState(): StreamingAccumulatorState;
|
|
51
|
+
get elapsedMs(): number;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { StreamingAccumulator, StreamingAccumulatorState };
|
|
55
|
+
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","names":[],"sources":["../../src/utils/streaming.ts"],"sourcesContent":[],"mappings":";UAAiB,yBAAA;EAAA,OAAA,EAAA,MAAA;EAgBJ,WAAA,EAAA,MAAA,GAAA,IAAoB;EASd,YAAA,EAAA,MAAA,GAAA,IAAA;EAAN,WAAA,EAAA,MAAA,GAAA,IAAA;EA4CW,eAAA,EAAA,MAAA,GAAA,IAAA;EASV,eAAA,EAAA,MAAA,GAAA,IAAA;EAAyB,mBAAA,EAAA,MAAA,GAAA,IAAA;;aArE1B,MAAM;;;;;;cAON,oBAAA;;;;;;;;;aASA,MAAM;;;;;;;;;;;;;;;;;;;;;;wBA4CK;;cASV"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
//#region src/utils/streaming.ts
|
|
2
|
+
var StreamingAccumulator = class {
|
|
3
|
+
content = "";
|
|
4
|
+
inputTokens = null;
|
|
5
|
+
outputTokens = null;
|
|
6
|
+
totalTokens = null;
|
|
7
|
+
reasoningTokens = null;
|
|
8
|
+
cacheReadTokens = null;
|
|
9
|
+
cacheCreationTokens = null;
|
|
10
|
+
finishReason = null;
|
|
11
|
+
toolCalls = [];
|
|
12
|
+
model = null;
|
|
13
|
+
ttfbMs = null;
|
|
14
|
+
isError = false;
|
|
15
|
+
errorMessage = null;
|
|
16
|
+
_startTime;
|
|
17
|
+
_firstChunkReceived = false;
|
|
18
|
+
constructor() {
|
|
19
|
+
this._startTime = performance.now();
|
|
20
|
+
}
|
|
21
|
+
addContent(chunk) {
|
|
22
|
+
if (!this._firstChunkReceived) {
|
|
23
|
+
this.ttfbMs = performance.now() - this._startTime;
|
|
24
|
+
this._firstChunkReceived = true;
|
|
25
|
+
}
|
|
26
|
+
this.content += chunk;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Set (overwrite) token usage fields. Only non-null values are written,
|
|
30
|
+
* allowing incremental updates where different streaming events provide
|
|
31
|
+
* different fields (e.g. Anthropic message_start vs message_delta).
|
|
32
|
+
*/
|
|
33
|
+
setUsage(usage) {
|
|
34
|
+
if (usage.inputTokens != null) this.inputTokens = usage.inputTokens;
|
|
35
|
+
if (usage.outputTokens != null) this.outputTokens = usage.outputTokens;
|
|
36
|
+
if (usage.totalTokens != null) this.totalTokens = usage.totalTokens;
|
|
37
|
+
if (usage.reasoningTokens != null) this.reasoningTokens = usage.reasoningTokens;
|
|
38
|
+
if (usage.cacheReadTokens != null) this.cacheReadTokens = usage.cacheReadTokens;
|
|
39
|
+
if (usage.cacheCreationTokens != null) this.cacheCreationTokens = usage.cacheCreationTokens;
|
|
40
|
+
}
|
|
41
|
+
addToolCall(toolCall) {
|
|
42
|
+
this.toolCalls.push(toolCall);
|
|
43
|
+
}
|
|
44
|
+
setError(message) {
|
|
45
|
+
this.isError = true;
|
|
46
|
+
this.errorMessage = message;
|
|
47
|
+
}
|
|
48
|
+
getState() {
|
|
49
|
+
return {
|
|
50
|
+
content: this.content,
|
|
51
|
+
inputTokens: this.inputTokens,
|
|
52
|
+
outputTokens: this.outputTokens,
|
|
53
|
+
totalTokens: this.totalTokens,
|
|
54
|
+
reasoningTokens: this.reasoningTokens,
|
|
55
|
+
cacheReadTokens: this.cacheReadTokens,
|
|
56
|
+
cacheCreationTokens: this.cacheCreationTokens,
|
|
57
|
+
finishReason: this.finishReason,
|
|
58
|
+
toolCalls: this.toolCalls,
|
|
59
|
+
model: this.model,
|
|
60
|
+
ttfbMs: this.ttfbMs,
|
|
61
|
+
isError: this.isError,
|
|
62
|
+
errorMessage: this.errorMessage
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
get elapsedMs() {
|
|
66
|
+
return performance.now() - this._startTime;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
//#endregion
|
|
71
|
+
export { StreamingAccumulator };
|
|
72
|
+
//# sourceMappingURL=streaming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.js","names":[],"sources":["../../src/utils/streaming.ts"],"sourcesContent":["export interface StreamingAccumulatorState {\n content: string;\n inputTokens: number | null;\n outputTokens: number | null;\n totalTokens: number | null;\n reasoningTokens: number | null;\n cacheReadTokens: number | null;\n cacheCreationTokens: number | null;\n finishReason: string | null;\n toolCalls: Array<Record<string, unknown>>;\n model: string | null;\n ttfbMs: number | null;\n isError: boolean;\n errorMessage: string | null;\n}\n\nexport class StreamingAccumulator {\n content = '';\n inputTokens: number | null = null;\n outputTokens: number | null = null;\n totalTokens: number | null = null;\n reasoningTokens: number | null = null;\n cacheReadTokens: number | null = null;\n cacheCreationTokens: number | null = null;\n finishReason: string | null = null;\n toolCalls: Array<Record<string, unknown>> = [];\n model: string | null = null;\n ttfbMs: number | null = null;\n isError = false;\n errorMessage: string | null = null;\n private _startTime: number;\n private _firstChunkReceived = false;\n\n constructor() {\n this._startTime = performance.now();\n }\n\n addContent(chunk: string): void {\n if (!this._firstChunkReceived) {\n this.ttfbMs = performance.now() - this._startTime;\n this._firstChunkReceived = true;\n }\n this.content += chunk;\n }\n\n /**\n * Set (overwrite) token usage fields. Only non-null values are written,\n * allowing incremental updates where different streaming events provide\n * different fields (e.g. Anthropic message_start vs message_delta).\n */\n setUsage(usage: {\n inputTokens?: number;\n outputTokens?: number;\n totalTokens?: number;\n reasoningTokens?: number;\n cacheReadTokens?: number;\n cacheCreationTokens?: number;\n }): void {\n if (usage.inputTokens != null) this.inputTokens = usage.inputTokens;\n if (usage.outputTokens != null) this.outputTokens = usage.outputTokens;\n if (usage.totalTokens != null) this.totalTokens = usage.totalTokens;\n if (usage.reasoningTokens != null)\n this.reasoningTokens = usage.reasoningTokens;\n if (usage.cacheReadTokens != null)\n this.cacheReadTokens = usage.cacheReadTokens;\n if (usage.cacheCreationTokens != null)\n this.cacheCreationTokens = usage.cacheCreationTokens;\n }\n\n addToolCall(toolCall: Record<string, unknown>): void {\n this.toolCalls.push(toolCall);\n }\n\n setError(message: string): void {\n this.isError = true;\n this.errorMessage = message;\n }\n\n getState(): StreamingAccumulatorState {\n return {\n content: this.content,\n inputTokens: this.inputTokens,\n outputTokens: this.outputTokens,\n totalTokens: this.totalTokens,\n reasoningTokens: this.reasoningTokens,\n cacheReadTokens: this.cacheReadTokens,\n cacheCreationTokens: this.cacheCreationTokens,\n finishReason: this.finishReason,\n toolCalls: this.toolCalls,\n model: this.model,\n ttfbMs: this.ttfbMs,\n isError: this.isError,\n errorMessage: this.errorMessage,\n };\n }\n\n get elapsedMs(): number {\n return performance.now() - this._startTime;\n }\n}\n"],"mappings":";AAgBA,IAAa,uBAAb,MAAkC;CAChC,UAAU;CACV,cAA6B;CAC7B,eAA8B;CAC9B,cAA6B;CAC7B,kBAAiC;CACjC,kBAAiC;CACjC,sBAAqC;CACrC,eAA8B;CAC9B,YAA4C,EAAE;CAC9C,QAAuB;CACvB,SAAwB;CACxB,UAAU;CACV,eAA8B;CAC9B,AAAQ;CACR,AAAQ,sBAAsB;CAE9B,cAAc;AACZ,OAAK,aAAa,YAAY,KAAK;;CAGrC,WAAW,OAAqB;AAC9B,MAAI,CAAC,KAAK,qBAAqB;AAC7B,QAAK,SAAS,YAAY,KAAK,GAAG,KAAK;AACvC,QAAK,sBAAsB;;AAE7B,OAAK,WAAW;;;;;;;CAQlB,SAAS,OAOA;AACP,MAAI,MAAM,eAAe,KAAM,MAAK,cAAc,MAAM;AACxD,MAAI,MAAM,gBAAgB,KAAM,MAAK,eAAe,MAAM;AAC1D,MAAI,MAAM,eAAe,KAAM,MAAK,cAAc,MAAM;AACxD,MAAI,MAAM,mBAAmB,KAC3B,MAAK,kBAAkB,MAAM;AAC/B,MAAI,MAAM,mBAAmB,KAC3B,MAAK,kBAAkB,MAAM;AAC/B,MAAI,MAAM,uBAAuB,KAC/B,MAAK,sBAAsB,MAAM;;CAGrC,YAAY,UAAyC;AACnD,OAAK,UAAU,KAAK,SAAS;;CAG/B,SAAS,SAAuB;AAC9B,OAAK,UAAU;AACf,OAAK,eAAe;;CAGtB,WAAsC;AACpC,SAAO;GACL,SAAS,KAAK;GACd,aAAa,KAAK;GAClB,cAAc,KAAK;GACnB,aAAa,KAAK;GAClB,iBAAiB,KAAK;GACtB,iBAAiB,KAAK;GACtB,qBAAqB,KAAK;GAC1B,cAAc,KAAK;GACnB,WAAW,KAAK;GAChB,OAAO,KAAK;GACZ,QAAQ,KAAK;GACb,SAAS,KAAK;GACd,cAAc,KAAK;GACpB;;CAGH,IAAI,YAAoB;AACtB,SAAO,YAAY,KAAK,GAAG,KAAK"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/utils/tokens.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Token counting utilities.
|
|
4
|
+
*
|
|
5
|
+
* Uses tiktoken when available for accurate counts.
|
|
6
|
+
* Falls back to a heuristic (~3.5 chars per token + word count adjustment).
|
|
7
|
+
*/
|
|
8
|
+
declare function countTokens(text: string, model?: string): number;
|
|
9
|
+
declare function estimateTokens(text: string): number;
|
|
10
|
+
declare function countMessageTokens(messages: Array<{
|
|
11
|
+
role?: string;
|
|
12
|
+
content?: unknown;
|
|
13
|
+
}>, model?: string): number;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { countMessageTokens, countTokens, estimateTokens };
|
|
16
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","names":[],"sources":["../../src/utils/tokens.ts"],"sourcesContent":[],"mappings":";;AA6CA;AAkBA;AA6BA;;;iBA/CgB,WAAA;iBAkBA,cAAA;iBA6BA,kBAAA,WACJ"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { tryRequire } from "./resolve-module.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/tokens.ts
|
|
4
|
+
/**
|
|
5
|
+
* Token counting utilities.
|
|
6
|
+
*
|
|
7
|
+
* Uses tiktoken when available for accurate counts.
|
|
8
|
+
* Falls back to a heuristic (~3.5 chars per token + word count adjustment).
|
|
9
|
+
*/
|
|
10
|
+
const tiktokenModule = tryRequire("tiktoken") ?? tryRequire("js-tiktoken");
|
|
11
|
+
const encodingCache = /* @__PURE__ */ new Map();
|
|
12
|
+
function getEncoding(modelName) {
|
|
13
|
+
const key = modelName ?? "cl100k_base";
|
|
14
|
+
if (encodingCache.has(key)) return encodingCache.get(key);
|
|
15
|
+
if (tiktokenModule == null) return null;
|
|
16
|
+
try {
|
|
17
|
+
const mod = tiktokenModule;
|
|
18
|
+
let encoding;
|
|
19
|
+
if (typeof mod.encoding_for_model === "function" && modelName) try {
|
|
20
|
+
encoding = mod.encoding_for_model(modelName);
|
|
21
|
+
} catch {
|
|
22
|
+
if (typeof mod.get_encoding === "function") try {
|
|
23
|
+
encoding = mod.get_encoding("o200k_base");
|
|
24
|
+
} catch {
|
|
25
|
+
encoding = mod.get_encoding("cl100k_base");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else if (typeof mod.get_encoding === "function") encoding = mod.get_encoding("cl100k_base");
|
|
29
|
+
if (encoding) encodingCache.set(key, encoding);
|
|
30
|
+
return encoding ?? null;
|
|
31
|
+
} catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function countTokens(text, model) {
|
|
36
|
+
const encoding = getEncoding(model);
|
|
37
|
+
if (encoding != null && typeof encoding.encode === "function") try {
|
|
38
|
+
return encoding.encode(text).length;
|
|
39
|
+
} catch {}
|
|
40
|
+
return estimateTokens(text);
|
|
41
|
+
}
|
|
42
|
+
function estimateTokens(text) {
|
|
43
|
+
const charEstimate = text.length / 3.5;
|
|
44
|
+
const wordEstimate = text.split(/\s+/).filter(Boolean).length * .1;
|
|
45
|
+
return Math.max(1, Math.ceil(charEstimate + wordEstimate));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Extracts text from a message content field that may be either a string
|
|
49
|
+
* or a list of content blocks (multimodal format).
|
|
50
|
+
*/
|
|
51
|
+
function extractMessageText(content) {
|
|
52
|
+
if (typeof content === "string") return content;
|
|
53
|
+
if (Array.isArray(content)) {
|
|
54
|
+
const parts = [];
|
|
55
|
+
for (const item of content) if (typeof item === "object" && item != null && item.type === "text") {
|
|
56
|
+
const text = item.text;
|
|
57
|
+
if (typeof text === "string") parts.push(text);
|
|
58
|
+
}
|
|
59
|
+
return parts.join("");
|
|
60
|
+
}
|
|
61
|
+
return "";
|
|
62
|
+
}
|
|
63
|
+
function countMessageTokens(messages, model) {
|
|
64
|
+
if (messages.length === 0) return 0;
|
|
65
|
+
const TOKENS_PER_MESSAGE = 3;
|
|
66
|
+
const PRIMING_TOKENS = 3;
|
|
67
|
+
let total = 0;
|
|
68
|
+
for (const msg of messages) {
|
|
69
|
+
total += TOKENS_PER_MESSAGE;
|
|
70
|
+
const text = extractMessageText(msg.content);
|
|
71
|
+
const exact = countTokens(text, model);
|
|
72
|
+
total += exact ?? estimateTokens(text);
|
|
73
|
+
}
|
|
74
|
+
total += PRIMING_TOKENS;
|
|
75
|
+
return total;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
export { countMessageTokens, countTokens, estimateTokens };
|
|
80
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","names":["tiktokenModule: Record<string, unknown> | null","encoding: unknown","parts: string[]"],"sources":["../../src/utils/tokens.ts"],"sourcesContent":["/**\n * Token counting utilities.\n *\n * Uses tiktoken when available for accurate counts.\n * Falls back to a heuristic (~3.5 chars per token + word count adjustment).\n */\n\nimport { tryRequire } from './resolve-module.js';\n\nconst tiktokenModule: Record<string, unknown> | null =\n tryRequire('tiktoken') ?? tryRequire('js-tiktoken');\n\nconst encodingCache = new Map<string, unknown>();\n\nfunction getEncoding(modelName?: string): unknown {\n const key = modelName ?? 'cl100k_base';\n if (encodingCache.has(key)) return encodingCache.get(key);\n\n if (tiktokenModule == null) return null;\n\n try {\n const mod = tiktokenModule as Record<string, unknown>;\n let encoding: unknown;\n if (typeof mod.encoding_for_model === 'function' && modelName) {\n try {\n encoding = mod.encoding_for_model(modelName);\n } catch {\n if (typeof mod.get_encoding === 'function') {\n try {\n encoding = mod.get_encoding('o200k_base');\n } catch {\n encoding = mod.get_encoding('cl100k_base');\n }\n }\n }\n } else if (typeof mod.get_encoding === 'function') {\n encoding = mod.get_encoding('cl100k_base');\n }\n if (encoding) encodingCache.set(key, encoding);\n return encoding ?? null;\n } catch {\n return null;\n }\n}\n\nexport function countTokens(text: string, model?: string): number {\n const encoding = getEncoding(model);\n if (\n encoding != null &&\n typeof (encoding as Record<string, unknown>).encode === 'function'\n ) {\n try {\n const tokens = (\n encoding as { encode: (text: string) => unknown[] }\n ).encode(text);\n return tokens.length;\n } catch {\n // Fall through to heuristic\n }\n }\n return estimateTokens(text);\n}\n\nexport function estimateTokens(text: string): number {\n const charEstimate = text.length / 3.5;\n const wordEstimate = text.split(/\\s+/).filter(Boolean).length * 0.1;\n return Math.max(1, Math.ceil(charEstimate + wordEstimate));\n}\n\n/**\n * Extracts text from a message content field that may be either a string\n * or a list of content blocks (multimodal format).\n */\nfunction extractMessageText(content: unknown): string {\n if (typeof content === 'string') return content;\n if (Array.isArray(content)) {\n const parts: string[] = [];\n for (const item of content) {\n if (\n typeof item === 'object' &&\n item != null &&\n (item as Record<string, unknown>).type === 'text'\n ) {\n const text = (item as Record<string, unknown>).text;\n if (typeof text === 'string') parts.push(text);\n }\n }\n return parts.join('');\n }\n return '';\n}\n\nexport function countMessageTokens(\n messages: Array<{ role?: string; content?: unknown }>,\n model?: string,\n): number {\n if (messages.length === 0) return 0;\n\n const TOKENS_PER_MESSAGE = 3;\n const PRIMING_TOKENS = 3;\n let total = 0;\n for (const msg of messages) {\n total += TOKENS_PER_MESSAGE;\n const text = extractMessageText(msg.content);\n const exact = countTokens(text, model);\n total += exact ?? estimateTokens(text);\n }\n total += PRIMING_TOKENS;\n return total;\n}\n"],"mappings":";;;;;;;;;AASA,MAAMA,iBACJ,WAAW,WAAW,IAAI,WAAW,cAAc;AAErD,MAAM,gCAAgB,IAAI,KAAsB;AAEhD,SAAS,YAAY,WAA6B;CAChD,MAAM,MAAM,aAAa;AACzB,KAAI,cAAc,IAAI,IAAI,CAAE,QAAO,cAAc,IAAI,IAAI;AAEzD,KAAI,kBAAkB,KAAM,QAAO;AAEnC,KAAI;EACF,MAAM,MAAM;EACZ,IAAIC;AACJ,MAAI,OAAO,IAAI,uBAAuB,cAAc,UAClD,KAAI;AACF,cAAW,IAAI,mBAAmB,UAAU;UACtC;AACN,OAAI,OAAO,IAAI,iBAAiB,WAC9B,KAAI;AACF,eAAW,IAAI,aAAa,aAAa;WACnC;AACN,eAAW,IAAI,aAAa,cAAc;;;WAIvC,OAAO,IAAI,iBAAiB,WACrC,YAAW,IAAI,aAAa,cAAc;AAE5C,MAAI,SAAU,eAAc,IAAI,KAAK,SAAS;AAC9C,SAAO,YAAY;SACb;AACN,SAAO;;;AAIX,SAAgB,YAAY,MAAc,OAAwB;CAChE,MAAM,WAAW,YAAY,MAAM;AACnC,KACE,YAAY,QACZ,OAAQ,SAAqC,WAAW,WAExD,KAAI;AAIF,SAFE,SACA,OAAO,KAAK,CACA;SACR;AAIV,QAAO,eAAe,KAAK;;AAG7B,SAAgB,eAAe,MAAsB;CACnD,MAAM,eAAe,KAAK,SAAS;CACnC,MAAM,eAAe,KAAK,MAAM,MAAM,CAAC,OAAO,QAAQ,CAAC,SAAS;AAChE,QAAO,KAAK,IAAI,GAAG,KAAK,KAAK,eAAe,aAAa,CAAC;;;;;;AAO5D,SAAS,mBAAmB,SAA0B;AACpD,KAAI,OAAO,YAAY,SAAU,QAAO;AACxC,KAAI,MAAM,QAAQ,QAAQ,EAAE;EAC1B,MAAMC,QAAkB,EAAE;AAC1B,OAAK,MAAM,QAAQ,QACjB,KACE,OAAO,SAAS,YAChB,QAAQ,QACP,KAAiC,SAAS,QAC3C;GACA,MAAM,OAAQ,KAAiC;AAC/C,OAAI,OAAO,SAAS,SAAU,OAAM,KAAK,KAAK;;AAGlD,SAAO,MAAM,KAAK,GAAG;;AAEvB,QAAO;;AAGT,SAAgB,mBACd,UACA,OACQ;AACR,KAAI,SAAS,WAAW,EAAG,QAAO;CAElC,MAAM,qBAAqB;CAC3B,MAAM,iBAAiB;CACvB,IAAI,QAAQ;AACZ,MAAK,MAAM,OAAO,UAAU;AAC1B,WAAS;EACT,MAAM,OAAO,mBAAmB,IAAI,QAAQ;EAC5C,MAAM,QAAQ,YAAY,MAAM,MAAM;AACtC,WAAS,SAAS,eAAe,KAAK;;AAExC,UAAS;AACT,QAAO"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AmplitudeOrAI } from "./types.js";
|
|
2
|
+
import { AmplitudeAIError } from "./exceptions.js";
|
|
3
|
+
import { Anthropic } from "./providers/anthropic.js";
|
|
4
|
+
import { OpenAI } from "./providers/openai.js";
|
|
5
|
+
import { AzureOpenAI } from "./providers/azure-openai.js";
|
|
6
|
+
import * as openai0 from "openai";
|
|
7
|
+
import * as _anthropic_ai_sdk0 from "@anthropic-ai/sdk";
|
|
8
|
+
|
|
9
|
+
//#region src/wrappers.d.ts
|
|
10
|
+
|
|
11
|
+
declare class AmplitudeAIWrapError extends AmplitudeAIError {
|
|
12
|
+
constructor(message: string);
|
|
13
|
+
}
|
|
14
|
+
interface WrapOpts {
|
|
15
|
+
propagateContext?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Pass the provider SDK module directly to bypass `tryRequire`.
|
|
18
|
+
* Required in bundler environments (Turbopack, Webpack, etc.) where
|
|
19
|
+
* `createRequire` is unavailable.
|
|
20
|
+
*
|
|
21
|
+
* For OpenAI/Azure clients, pass the `openai` module default export.
|
|
22
|
+
* For Anthropic clients, pass the `@anthropic-ai/sdk` module default export.
|
|
23
|
+
*/
|
|
24
|
+
providerModule?: unknown;
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Type-preserving overloads: when TypeScript can narrow the client type,
|
|
29
|
+
* the return type is the corresponding instrumented wrapper.
|
|
30
|
+
*/
|
|
31
|
+
declare function wrap(client: InstanceType<typeof openai0.AzureOpenAI>, amplitude: AmplitudeOrAI, opts?: WrapOpts): AzureOpenAI;
|
|
32
|
+
declare function wrap(client: InstanceType<typeof openai0.OpenAI>, amplitude: AmplitudeOrAI, opts?: WrapOpts): OpenAI;
|
|
33
|
+
declare function wrap(client: InstanceType<typeof _anthropic_ai_sdk0.Anthropic>, amplitude: AmplitudeOrAI, opts?: WrapOpts): Anthropic;
|
|
34
|
+
declare function wrap(client: unknown, amplitude: AmplitudeOrAI, opts?: WrapOpts): OpenAI | AzureOpenAI | Anthropic;
|
|
35
|
+
//#endregion
|
|
36
|
+
export { AmplitudeAIWrapError, wrap };
|
|
37
|
+
//# sourceMappingURL=wrappers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrappers.d.ts","names":[],"sources":["../src/wrappers.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AA4Ca,cA3BA,oBAAA,SAA6B,gBAAA,CA2B7B;EACJ,WAAA,CAAA,OAAA,EAAA,MAAA;;UArBC,QAAA,CAsBO;EACD,gBAAI,CAAA,EAAA,OAAA;EAAA;;;;;;AAKpB;;EACU,cAAA,CAAA,EAAA,OAAA;EACG,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;;;;AAGb;;AAGS,iBAlBO,IAAA,CAkBP,MAAA,EAjBC,YAiBD,CAAA,OAlBW,OAAA,CAC2B,WAiBtC,CAAA,EAAA,SAAA,EAhBI,aAgBJ,EAAA,IAAA,CAAA,EAfA,QAeA,CAAA,EAdN,WAcM;AACN,iBAda,IAAA,CAcb,MAAA,EAbO,YAaP,CAAA,OAdiB,OAAA,CAC2B,MAa5C,CAAA,EAAA,SAAA,EAZU,aAYV,EAAA,IAAA,CAAA,EAXM,QAWN,CAAA,EAVA,MAUA;AAAY,iBATC,IAAA,CASD,MAAA,EARL,YAQK,CAAA,OATK,kBAAA,CACsC,SAQ3C,CAAA,EAAA,SAAA,EAPF,aAOE,EAAA,IAAA,CAAA,EANN,QAMM,CAAA,EALZ,SAKY;AAAiB,iBAJhB,IAAA,CAIgB,MAAA,EAAA,OAAA,EAAA,SAAA,EAFnB,aAEmB,EAAA,IAAA,CAAA,EADvB,QACuB,CAAA,EAA7B,MAA6B,GAAjB,WAAiB,GAAA,SAAA"}
|
package/dist/wrappers.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { AmplitudeAIError } from "./exceptions.js";
|
|
2
|
+
import { tryRequire } from "./utils/resolve-module.js";
|
|
3
|
+
import { Anthropic } from "./providers/anthropic.js";
|
|
4
|
+
import { OpenAI } from "./providers/openai.js";
|
|
5
|
+
import { AzureOpenAI } from "./providers/azure-openai.js";
|
|
6
|
+
|
|
7
|
+
//#region src/wrappers.ts
|
|
8
|
+
/**
|
|
9
|
+
* Convenience wrap() function for dependency injection.
|
|
10
|
+
*
|
|
11
|
+
* When the customer has already created a provider client, wrap()
|
|
12
|
+
* extracts credentials and returns an instrumented SDK wrapper.
|
|
13
|
+
*
|
|
14
|
+
* Supported providers: OpenAI, Anthropic, AzureOpenAI.
|
|
15
|
+
* Unsupported types raise AmplitudeAIWrapError.
|
|
16
|
+
*/
|
|
17
|
+
var AmplitudeAIWrapError = class extends AmplitudeAIError {
|
|
18
|
+
constructor(message) {
|
|
19
|
+
super(message);
|
|
20
|
+
this.name = "AmplitudeAIWrapError";
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
function wrap(client, amplitude, opts) {
|
|
24
|
+
const clientObj = client;
|
|
25
|
+
const clientName = (client?.constructor)?.name ?? "unknown";
|
|
26
|
+
const explicitModule = opts?.providerModule;
|
|
27
|
+
const openaiModule = explicitModule && "OpenAI" in explicitModule ? explicitModule : tryRequire("openai");
|
|
28
|
+
if (openaiModule != null) {
|
|
29
|
+
const OpenAIClass = openaiModule.OpenAI;
|
|
30
|
+
const AzureOpenAIClass = openaiModule.AzureOpenAI;
|
|
31
|
+
if (AzureOpenAIClass && client instanceof AzureOpenAIClass) return new AzureOpenAI({
|
|
32
|
+
amplitude,
|
|
33
|
+
apiKey: clientObj.apiKey,
|
|
34
|
+
azureEndpoint: String(clientObj.baseURL ?? ""),
|
|
35
|
+
propagateContext: opts?.propagateContext,
|
|
36
|
+
openaiModule
|
|
37
|
+
});
|
|
38
|
+
if (OpenAIClass && client instanceof OpenAIClass) return new OpenAI({
|
|
39
|
+
amplitude,
|
|
40
|
+
apiKey: clientObj.apiKey,
|
|
41
|
+
baseUrl: clientObj.baseURL != null ? String(clientObj.baseURL) : void 0,
|
|
42
|
+
propagateContext: opts?.propagateContext,
|
|
43
|
+
openaiModule
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
const anthropicModule = explicitModule && "Anthropic" in explicitModule ? explicitModule : tryRequire("@anthropic-ai/sdk");
|
|
47
|
+
if (anthropicModule != null) {
|
|
48
|
+
const AnthropicClass = anthropicModule.Anthropic;
|
|
49
|
+
if (AnthropicClass && client instanceof AnthropicClass) return new Anthropic({
|
|
50
|
+
amplitude,
|
|
51
|
+
apiKey: clientObj.apiKey,
|
|
52
|
+
propagateContext: opts?.propagateContext,
|
|
53
|
+
anthropicModule
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
throw new AmplitudeAIWrapError(`wrap() does not support ${clientName}. Supported types: openai.OpenAI, openai.AzureOpenAI, @anthropic-ai/sdk.Anthropic. For Gemini, Bedrock, and Mistral, use the SDK's provider classes directly.`);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { AmplitudeAIWrapError, wrap };
|
|
61
|
+
//# sourceMappingURL=wrappers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrappers.js","names":["AmpAzureOpenAI","AmpOpenAI","AmpAnthropic"],"sources":["../src/wrappers.ts"],"sourcesContent":["/**\n * Convenience wrap() function for dependency injection.\n *\n * When the customer has already created a provider client, wrap()\n * extracts credentials and returns an instrumented SDK wrapper.\n *\n * Supported providers: OpenAI, Anthropic, AzureOpenAI.\n * Unsupported types raise AmplitudeAIWrapError.\n */\n\nimport { AmplitudeAIError } from './exceptions.js';\nimport { Anthropic as AmpAnthropic } from './providers/anthropic.js';\nimport { AzureOpenAI as AmpAzureOpenAI } from './providers/azure-openai.js';\nimport { OpenAI as AmpOpenAI } from './providers/openai.js';\nimport type { AmplitudeOrAI } from './types.js';\nimport { tryRequire } from './utils/resolve-module.js';\n\nexport class AmplitudeAIWrapError extends AmplitudeAIError {\n constructor(message: string) {\n super(message);\n this.name = 'AmplitudeAIWrapError';\n }\n}\n\ninterface WrapOpts {\n propagateContext?: boolean;\n /**\n * Pass the provider SDK module directly to bypass `tryRequire`.\n * Required in bundler environments (Turbopack, Webpack, etc.) where\n * `createRequire` is unavailable.\n *\n * For OpenAI/Azure clients, pass the `openai` module default export.\n * For Anthropic clients, pass the `@anthropic-ai/sdk` module default export.\n */\n providerModule?: unknown;\n [key: string]: unknown;\n}\n\n/**\n * Type-preserving overloads: when TypeScript can narrow the client type,\n * the return type is the corresponding instrumented wrapper.\n */\nexport function wrap(\n client: InstanceType<typeof import('openai').AzureOpenAI>,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpAzureOpenAI;\nexport function wrap(\n client: InstanceType<typeof import('openai').OpenAI>,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpOpenAI;\nexport function wrap(\n client: InstanceType<typeof import('@anthropic-ai/sdk').Anthropic>,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpAnthropic;\nexport function wrap(\n client: unknown,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpOpenAI | AmpAzureOpenAI | AmpAnthropic;\nexport function wrap(\n client: unknown,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpOpenAI | AmpAzureOpenAI | AmpAnthropic {\n const clientObj = client as Record<string, unknown>;\n const clientConstructor = (client as { constructor?: { name?: string } })\n ?.constructor;\n const clientName = clientConstructor?.name ?? 'unknown';\n const explicitModule = opts?.providerModule as\n | Record<string, unknown>\n | undefined;\n\n // OpenAI check — use explicit module only if it exports OpenAI\n const openaiModule =\n explicitModule && 'OpenAI' in explicitModule\n ? explicitModule\n : tryRequire('openai');\n if (openaiModule != null) {\n const OpenAIClass = openaiModule.OpenAI as\n | (new (...args: unknown[]) => unknown)\n | undefined;\n const AzureOpenAIClass = openaiModule.AzureOpenAI as\n | (new (...args: unknown[]) => unknown)\n | undefined;\n\n if (AzureOpenAIClass && client instanceof AzureOpenAIClass) {\n return new AmpAzureOpenAI({\n amplitude,\n apiKey: clientObj.apiKey as string | undefined,\n azureEndpoint: String(clientObj.baseURL ?? ''),\n propagateContext: opts?.propagateContext as boolean | undefined,\n openaiModule,\n });\n }\n\n if (OpenAIClass && client instanceof OpenAIClass) {\n return new AmpOpenAI({\n amplitude,\n apiKey: clientObj.apiKey as string | undefined,\n baseUrl:\n clientObj.baseURL != null ? String(clientObj.baseURL) : undefined,\n propagateContext: opts?.propagateContext as boolean | undefined,\n openaiModule,\n });\n }\n }\n\n // Anthropic check — use explicit module only if it exports Anthropic\n const anthropicModule =\n explicitModule && 'Anthropic' in explicitModule\n ? explicitModule\n : tryRequire('@anthropic-ai/sdk');\n if (anthropicModule != null) {\n const AnthropicClass = anthropicModule.Anthropic as\n | (new (...args: unknown[]) => unknown)\n | undefined;\n\n if (AnthropicClass && client instanceof AnthropicClass) {\n return new AmpAnthropic({\n amplitude,\n apiKey: clientObj.apiKey as string | undefined,\n propagateContext: opts?.propagateContext as boolean | undefined,\n anthropicModule,\n });\n }\n }\n\n const supported =\n 'openai.OpenAI, openai.AzureOpenAI, @anthropic-ai/sdk.Anthropic';\n throw new AmplitudeAIWrapError(\n `wrap() does not support ${clientName}. Supported types: ${supported}. For Gemini, Bedrock, and Mistral, use the SDK's provider classes directly.`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAa,uBAAb,cAA0C,iBAAiB;CACzD,YAAY,SAAiB;AAC3B,QAAM,QAAQ;AACd,OAAK,OAAO;;;AA0ChB,SAAgB,KACd,QACA,WACA,MAC2C;CAC3C,MAAM,YAAY;CAGlB,MAAM,cAFqB,QACvB,cACkC,QAAQ;CAC9C,MAAM,iBAAiB,MAAM;CAK7B,MAAM,eACJ,kBAAkB,YAAY,iBAC1B,iBACA,WAAW,SAAS;AAC1B,KAAI,gBAAgB,MAAM;EACxB,MAAM,cAAc,aAAa;EAGjC,MAAM,mBAAmB,aAAa;AAItC,MAAI,oBAAoB,kBAAkB,iBACxC,QAAO,IAAIA,YAAe;GACxB;GACA,QAAQ,UAAU;GAClB,eAAe,OAAO,UAAU,WAAW,GAAG;GAC9C,kBAAkB,MAAM;GACxB;GACD,CAAC;AAGJ,MAAI,eAAe,kBAAkB,YACnC,QAAO,IAAIC,OAAU;GACnB;GACA,QAAQ,UAAU;GAClB,SACE,UAAU,WAAW,OAAO,OAAO,UAAU,QAAQ,GAAG;GAC1D,kBAAkB,MAAM;GACxB;GACD,CAAC;;CAKN,MAAM,kBACJ,kBAAkB,eAAe,iBAC7B,iBACA,WAAW,oBAAoB;AACrC,KAAI,mBAAmB,MAAM;EAC3B,MAAM,iBAAiB,gBAAgB;AAIvC,MAAI,kBAAkB,kBAAkB,eACtC,QAAO,IAAIC,UAAa;GACtB;GACA,QAAQ,UAAU;GAClB,kBAAkB,MAAM;GACxB;GACD,CAAC;;AAMN,OAAM,IAAI,qBACR,2BAA2B,WAAW,+JACvC"}
|