@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
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { PrivacyConfig } from "./core/privacy.js";
|
|
2
|
+
import { AIConfig } from "./config.js";
|
|
3
|
+
import { MessageLabel, SessionEnrichments } from "./core/enrichments.js";
|
|
4
|
+
import { TenantHandle } from "./tenant.js";
|
|
5
|
+
import { AmplitudeClientLike, Attachment } from "./types.js";
|
|
6
|
+
import { BoundAgent } from "./bound-agent.js";
|
|
7
|
+
|
|
8
|
+
//#region src/client.d.ts
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Main Amplitude AI client for tracking LLM interactions.
|
|
12
|
+
*
|
|
13
|
+
* Create an instance with an API key or an existing Amplitude client,
|
|
14
|
+
* then use `.agent()` to create bound agents and `.session()` to
|
|
15
|
+
* manage session context.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const ai = new AmplitudeAI({ apiKey: 'YOUR_KEY' });
|
|
20
|
+
* const agent = ai.agent('my-chatbot', { userId: 'user-1' });
|
|
21
|
+
* const session = agent.session();
|
|
22
|
+
* await session.run(async (s) => {
|
|
23
|
+
* s.trackUserMessage('Hello');
|
|
24
|
+
* s.trackAiMessage('Hi there!', 'gpt-4', 'openai', 150);
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
declare class AmplitudeAI {
|
|
29
|
+
protected _amplitude: AmplitudeClientLike;
|
|
30
|
+
protected _ownsClient: boolean;
|
|
31
|
+
protected _config: AIConfig;
|
|
32
|
+
protected _privacyConfig: PrivacyConfig;
|
|
33
|
+
protected _sessionTurnCounters: Map<string, number>;
|
|
34
|
+
constructor(options: {
|
|
35
|
+
amplitude?: AmplitudeClientLike;
|
|
36
|
+
apiKey?: string;
|
|
37
|
+
config?: AIConfig;
|
|
38
|
+
});
|
|
39
|
+
private _installTrackHook;
|
|
40
|
+
get amplitude(): AmplitudeClientLike;
|
|
41
|
+
get config(): AIConfig;
|
|
42
|
+
_nextTurnId(sessionId: string): number;
|
|
43
|
+
trackUserMessage(opts: {
|
|
44
|
+
userId: string;
|
|
45
|
+
content: string;
|
|
46
|
+
sessionId: string;
|
|
47
|
+
traceId?: string | null;
|
|
48
|
+
turnId?: number | null;
|
|
49
|
+
messageId?: string | null;
|
|
50
|
+
agentId?: string | null;
|
|
51
|
+
parentAgentId?: string | null;
|
|
52
|
+
customerOrgId?: string | null;
|
|
53
|
+
agentVersion?: string | null;
|
|
54
|
+
context?: Record<string, unknown> | null;
|
|
55
|
+
env?: string | null;
|
|
56
|
+
isRegeneration?: boolean;
|
|
57
|
+
isEdit?: boolean;
|
|
58
|
+
editedMessageId?: string | null;
|
|
59
|
+
attachments?: Attachment[] | null;
|
|
60
|
+
labels?: MessageLabel[] | null;
|
|
61
|
+
eventProperties?: Record<string, unknown> | null;
|
|
62
|
+
groups?: Record<string, unknown> | null;
|
|
63
|
+
}): string;
|
|
64
|
+
trackAiMessage(opts: {
|
|
65
|
+
userId: string;
|
|
66
|
+
content: string;
|
|
67
|
+
sessionId: string;
|
|
68
|
+
model: string;
|
|
69
|
+
provider: string;
|
|
70
|
+
latencyMs: number;
|
|
71
|
+
inputTokens?: number | null;
|
|
72
|
+
outputTokens?: number | null;
|
|
73
|
+
reasoningTokens?: number | null;
|
|
74
|
+
cacheReadTokens?: number | null;
|
|
75
|
+
cacheCreationTokens?: number | null;
|
|
76
|
+
totalTokens?: number | null;
|
|
77
|
+
totalCostUsd?: number | null;
|
|
78
|
+
finishReason?: string | null;
|
|
79
|
+
toolCalls?: Array<Record<string, unknown>> | null;
|
|
80
|
+
reasoningContent?: string | null;
|
|
81
|
+
systemPrompt?: string | null;
|
|
82
|
+
temperature?: number | null;
|
|
83
|
+
maxOutputTokens?: number | null;
|
|
84
|
+
topP?: number | null;
|
|
85
|
+
isStreaming?: boolean | null;
|
|
86
|
+
promptId?: string | null;
|
|
87
|
+
wasCopied?: boolean;
|
|
88
|
+
wasCached?: boolean;
|
|
89
|
+
modelTier?: string | null;
|
|
90
|
+
attachments?: Attachment[] | null;
|
|
91
|
+
labels?: MessageLabel[] | null;
|
|
92
|
+
traceId?: string | null;
|
|
93
|
+
turnId?: number | null;
|
|
94
|
+
messageId?: string | null;
|
|
95
|
+
agentId?: string | null;
|
|
96
|
+
parentAgentId?: string | null;
|
|
97
|
+
customerOrgId?: string | null;
|
|
98
|
+
agentVersion?: string | null;
|
|
99
|
+
context?: Record<string, unknown> | null;
|
|
100
|
+
env?: string | null;
|
|
101
|
+
isError?: boolean;
|
|
102
|
+
errorMessage?: string | null;
|
|
103
|
+
ttfbMs?: number | null;
|
|
104
|
+
eventProperties?: Record<string, unknown> | null;
|
|
105
|
+
groups?: Record<string, unknown> | null;
|
|
106
|
+
privacyConfig?: PrivacyConfig | null;
|
|
107
|
+
}): string;
|
|
108
|
+
trackToolCall(opts: {
|
|
109
|
+
userId: string;
|
|
110
|
+
toolName: string;
|
|
111
|
+
latencyMs: number;
|
|
112
|
+
success: boolean;
|
|
113
|
+
sessionId?: string | null;
|
|
114
|
+
traceId?: string | null;
|
|
115
|
+
turnId?: number | null;
|
|
116
|
+
invocationId?: string | null;
|
|
117
|
+
input?: unknown;
|
|
118
|
+
output?: unknown;
|
|
119
|
+
parentMessageId?: string | null;
|
|
120
|
+
agentId?: string | null;
|
|
121
|
+
parentAgentId?: string | null;
|
|
122
|
+
customerOrgId?: string | null;
|
|
123
|
+
agentVersion?: string | null;
|
|
124
|
+
context?: Record<string, unknown> | null;
|
|
125
|
+
env?: string | null;
|
|
126
|
+
errorMessage?: string | null;
|
|
127
|
+
eventProperties?: Record<string, unknown> | null;
|
|
128
|
+
groups?: Record<string, unknown> | null;
|
|
129
|
+
}): string;
|
|
130
|
+
trackEmbedding(opts: {
|
|
131
|
+
userId: string;
|
|
132
|
+
model: string;
|
|
133
|
+
provider: string;
|
|
134
|
+
latencyMs: number;
|
|
135
|
+
inputTokens?: number | null;
|
|
136
|
+
dimensions?: number | null;
|
|
137
|
+
totalCostUsd?: number | null;
|
|
138
|
+
sessionId?: string | null;
|
|
139
|
+
traceId?: string | null;
|
|
140
|
+
turnId?: number | null;
|
|
141
|
+
agentId?: string | null;
|
|
142
|
+
parentAgentId?: string | null;
|
|
143
|
+
customerOrgId?: string | null;
|
|
144
|
+
agentVersion?: string | null;
|
|
145
|
+
context?: Record<string, unknown> | null;
|
|
146
|
+
env?: string | null;
|
|
147
|
+
eventProperties?: Record<string, unknown> | null;
|
|
148
|
+
groups?: Record<string, unknown> | null;
|
|
149
|
+
}): string;
|
|
150
|
+
trackSpan(opts: {
|
|
151
|
+
userId: string;
|
|
152
|
+
spanName: string;
|
|
153
|
+
traceId: string;
|
|
154
|
+
latencyMs: number;
|
|
155
|
+
inputState?: Record<string, unknown> | null;
|
|
156
|
+
outputState?: Record<string, unknown> | null;
|
|
157
|
+
parentSpanId?: string | null;
|
|
158
|
+
isError?: boolean;
|
|
159
|
+
errorMessage?: string | null;
|
|
160
|
+
sessionId?: string | null;
|
|
161
|
+
turnId?: number | null;
|
|
162
|
+
agentId?: string | null;
|
|
163
|
+
parentAgentId?: string | null;
|
|
164
|
+
customerOrgId?: string | null;
|
|
165
|
+
agentVersion?: string | null;
|
|
166
|
+
context?: Record<string, unknown> | null;
|
|
167
|
+
env?: string | null;
|
|
168
|
+
eventProperties?: Record<string, unknown> | null;
|
|
169
|
+
groups?: Record<string, unknown> | null;
|
|
170
|
+
}): string;
|
|
171
|
+
trackSessionEnd(opts: {
|
|
172
|
+
userId: string;
|
|
173
|
+
sessionId: string;
|
|
174
|
+
enrichments?: SessionEnrichments | null;
|
|
175
|
+
traceId?: string | null;
|
|
176
|
+
turnId?: number | null;
|
|
177
|
+
agentId?: string | null;
|
|
178
|
+
parentAgentId?: string | null;
|
|
179
|
+
customerOrgId?: string | null;
|
|
180
|
+
agentVersion?: string | null;
|
|
181
|
+
context?: Record<string, unknown> | null;
|
|
182
|
+
env?: string | null;
|
|
183
|
+
abandonmentTurn?: number | null;
|
|
184
|
+
idleTimeoutMinutes?: number | null;
|
|
185
|
+
eventProperties?: Record<string, unknown> | null;
|
|
186
|
+
groups?: Record<string, unknown> | null;
|
|
187
|
+
}): void;
|
|
188
|
+
trackSessionEnrichment(opts: {
|
|
189
|
+
userId: string;
|
|
190
|
+
sessionId: string;
|
|
191
|
+
enrichments: SessionEnrichments;
|
|
192
|
+
traceId?: string | null;
|
|
193
|
+
turnId?: number | null;
|
|
194
|
+
agentId?: string | null;
|
|
195
|
+
parentAgentId?: string | null;
|
|
196
|
+
customerOrgId?: string | null;
|
|
197
|
+
agentVersion?: string | null;
|
|
198
|
+
context?: Record<string, unknown> | null;
|
|
199
|
+
env?: string | null;
|
|
200
|
+
eventProperties?: Record<string, unknown> | null;
|
|
201
|
+
groups?: Record<string, unknown> | null;
|
|
202
|
+
}): void;
|
|
203
|
+
score(opts: {
|
|
204
|
+
userId: string;
|
|
205
|
+
name: string;
|
|
206
|
+
value: number;
|
|
207
|
+
targetId: string;
|
|
208
|
+
targetType?: string;
|
|
209
|
+
source?: string;
|
|
210
|
+
comment?: string | null;
|
|
211
|
+
sessionId?: string | null;
|
|
212
|
+
traceId?: string | null;
|
|
213
|
+
turnId?: number | null;
|
|
214
|
+
agentId?: string | null;
|
|
215
|
+
parentAgentId?: string | null;
|
|
216
|
+
customerOrgId?: string | null;
|
|
217
|
+
agentVersion?: string | null;
|
|
218
|
+
context?: Record<string, unknown> | null;
|
|
219
|
+
env?: string | null;
|
|
220
|
+
eventProperties?: Record<string, unknown> | null;
|
|
221
|
+
groups?: Record<string, unknown> | null;
|
|
222
|
+
}): void;
|
|
223
|
+
agent(agentId: string, opts?: {
|
|
224
|
+
userId?: string | null;
|
|
225
|
+
parentAgentId?: string | null;
|
|
226
|
+
customerOrgId?: string | null;
|
|
227
|
+
agentVersion?: string | null;
|
|
228
|
+
context?: Record<string, unknown> | null;
|
|
229
|
+
env?: string | null;
|
|
230
|
+
sessionId?: string | null;
|
|
231
|
+
traceId?: string | null;
|
|
232
|
+
groups?: Record<string, unknown> | null;
|
|
233
|
+
deviceId?: string | null;
|
|
234
|
+
browserSessionId?: string | null;
|
|
235
|
+
}): BoundAgent;
|
|
236
|
+
tenant(customerOrgId: string, opts?: {
|
|
237
|
+
groups?: Record<string, unknown> | null;
|
|
238
|
+
env?: string | null;
|
|
239
|
+
}): TenantHandle;
|
|
240
|
+
status(): Record<string, unknown>;
|
|
241
|
+
flush(): unknown;
|
|
242
|
+
shutdown(): void;
|
|
243
|
+
}
|
|
244
|
+
//#endregion
|
|
245
|
+
export { AmplitudeAI };
|
|
246
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","names":[],"sources":["../src/client.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;AA+CA;;;;;;;;;;;;;;;;AAsMkB,cAtML,WAAA,CAsMK;EACL,UAAA,UAAA,EAtMW,mBAsMX;EAQC,UAAA,WAAA,EAAA,OAAA;EAKQ,UAAA,OAAA,EAjND,QAiNC;EACT,UAAA,cAAA,EAjNe,aAiNf;EACO,UAAA,oBAAA,EAjNc,GAiNd,CAAA,MAAA,EAAA,MAAA,CAAA;EA2FN,WAAA,CAAA,OAAA,EAAA;IAGQ,SAAA,CAAA,EA5SN,mBA4SM;IACT,MAAA,CAAA,EAAA,MAAA;IA2CC,MAAA,CAAA,EAtVD,QAsVC;EAEQ,CAAA;EACT,QAAA,iBAAA;EA+BI,IAAA,SAAA,CAAA,CAAA,EAhSE,mBAgSF;EACC,IAAA,MAAA,CAAA,CAAA,EA7RF,QA6RE;EAUJ,WAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,MAAA;EAEQ,gBAAA,CAAA,IAAA,EAAA;IACT,MAAA,EAAA,MAAA;IAkCK,OAAA,EAAA,MAAA;IAOJ,SAAA,EAAA,MAAA;IAIQ,OAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IACT,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IA2BI,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAOH,OAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAEQ,aAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IACT,aAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAwCC,YAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAEQ,OAAA,CAAA,EArYR,MAqYQ,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,IAAA;IACT,GAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAqCG,cAAA,CAAA,EAAA,OAAA;IAID,MAAA,CAAA,EAAA,OAAA;IAIV,eAAA,CAAA,EAAA,MAAA,GAAA,IAAA;IAUgB,WAAA,CAAA,EAxbH,UAwbG,EAAA,GAAA,IAAA;IAChB,MAAA,CAAA,EAxbQ,YAwbR,EAAA,GAAA,IAAA;IAQO,eAAA,CAAA,EA/bU,MA+bV,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,IAAA;IAAM,MAAA,CAAA,EA9bL,MA8bK,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,IAAA;;;;;;;;;;;;;;;;;gBAnZF,MAAM;;;;;;;;;;;kBAWJ;aACL;;;;;;;;cAQC;;;;;sBAKQ;aACT;oBACO;;;;;;;;;;;;;;;;;;cA2FN;;;sBAGQ;aACT;;;;;;;;;;;;;;;;;cA2CC;;sBAEQ;aACT;;;;;;;iBA+BI;kBACC;;;;;;;;;;cAUJ;;sBAEQ;aACT;;;;;kBAkCK;;;;;;;cAOJ;;;;sBAIQ;aACT;;;;;iBA2BI;;;;;;;cAOH;;sBAEQ;aACT;;;;;;;;;;;;;;;;;cAwCC;;sBAEQ;aACT;;;;;;;cAqCG;;;;aAID;;;MAIV;;aAUgB;;MAChB;YAQO"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
import { ConfigurationError } from "./exceptions.js";
|
|
2
|
+
import { trackAiMessage, trackEmbedding, trackScore, trackSessionEnd, trackSessionEnrichment, trackSpan, trackToolCall, trackUserMessage } from "./core/tracking.js";
|
|
3
|
+
import { BoundAgent } from "./bound-agent.js";
|
|
4
|
+
import { AIConfig } from "./config.js";
|
|
5
|
+
import { setDefaultPropagateContext } from "./propagation.js";
|
|
6
|
+
import { tryRequire } from "./utils/resolve-module.js";
|
|
7
|
+
import { calculateCost } from "./utils/costs.js";
|
|
8
|
+
import { patchedProviders } from "./patching.js";
|
|
9
|
+
import { TenantHandle } from "./tenant.js";
|
|
10
|
+
import { formatDebugLine, formatDryRunLine } from "./utils/debug.js";
|
|
11
|
+
|
|
12
|
+
//#region src/client.ts
|
|
13
|
+
const _MAX_SESSION_TURN_COUNTERS = 1e4;
|
|
14
|
+
/**
|
|
15
|
+
* Main Amplitude AI client for tracking LLM interactions.
|
|
16
|
+
*
|
|
17
|
+
* Create an instance with an API key or an existing Amplitude client,
|
|
18
|
+
* then use `.agent()` to create bound agents and `.session()` to
|
|
19
|
+
* manage session context.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const ai = new AmplitudeAI({ apiKey: 'YOUR_KEY' });
|
|
24
|
+
* const agent = ai.agent('my-chatbot', { userId: 'user-1' });
|
|
25
|
+
* const session = agent.session();
|
|
26
|
+
* await session.run(async (s) => {
|
|
27
|
+
* s.trackUserMessage('Hello');
|
|
28
|
+
* s.trackAiMessage('Hi there!', 'gpt-4', 'openai', 150);
|
|
29
|
+
* });
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
var AmplitudeAI = class {
|
|
33
|
+
_amplitude;
|
|
34
|
+
_ownsClient;
|
|
35
|
+
_config;
|
|
36
|
+
_privacyConfig;
|
|
37
|
+
_sessionTurnCounters = /* @__PURE__ */ new Map();
|
|
38
|
+
constructor(options) {
|
|
39
|
+
if (options.amplitude != null) {
|
|
40
|
+
this._amplitude = options.amplitude;
|
|
41
|
+
this._ownsClient = false;
|
|
42
|
+
} else if (options.apiKey != null) {
|
|
43
|
+
const amplitudeNode = tryRequire("@amplitude/analytics-node");
|
|
44
|
+
if (amplitudeNode == null || typeof amplitudeNode.init !== "function") throw new ConfigurationError("@amplitude/analytics-node is required. Install it as a dependency.");
|
|
45
|
+
amplitudeNode.init(options.apiKey);
|
|
46
|
+
this._amplitude = amplitudeNode;
|
|
47
|
+
this._ownsClient = true;
|
|
48
|
+
} else throw new ConfigurationError("Provide either an existing Amplitude instance via 'amplitude' or an API key via 'apiKey'.");
|
|
49
|
+
this._config = options.config ?? new AIConfig();
|
|
50
|
+
this._privacyConfig = this._config.toPrivacyConfig();
|
|
51
|
+
setDefaultPropagateContext(this._config.propagateContext);
|
|
52
|
+
if (this._config.debug || this._config.dryRun || this._config.onEventCallback != null) this._installTrackHook();
|
|
53
|
+
}
|
|
54
|
+
_installTrackHook() {
|
|
55
|
+
const originalTrack = this._amplitude.track.bind(this._amplitude);
|
|
56
|
+
const debug = this._config.debug;
|
|
57
|
+
const dryRun = this._config.dryRun;
|
|
58
|
+
const onEvent = this._config.onEventCallback;
|
|
59
|
+
const clientWithConfig = this._amplitude;
|
|
60
|
+
const existingCallback = clientWithConfig.configuration?.callback;
|
|
61
|
+
let callbackHandledByTransport = false;
|
|
62
|
+
if (onEvent != null && clientWithConfig.configuration != null) {
|
|
63
|
+
clientWithConfig.configuration.callback = (...args) => {
|
|
64
|
+
const event = args[0];
|
|
65
|
+
const statusCode = typeof args[1] === "number" ? args[1] : 0;
|
|
66
|
+
const message = args[2] == null ? null : String(args[2]);
|
|
67
|
+
if (typeof existingCallback === "function") try {
|
|
68
|
+
existingCallback(...args);
|
|
69
|
+
} catch {}
|
|
70
|
+
try {
|
|
71
|
+
onEvent(event, statusCode, message);
|
|
72
|
+
} catch {}
|
|
73
|
+
};
|
|
74
|
+
callbackHandledByTransport = true;
|
|
75
|
+
}
|
|
76
|
+
this._amplitude.track = (event) => {
|
|
77
|
+
if (debug) console.error(formatDebugLine(event));
|
|
78
|
+
if (dryRun) console.error(formatDryRunLine(event));
|
|
79
|
+
if (!dryRun) originalTrack(event);
|
|
80
|
+
if (onEvent != null && (!callbackHandledByTransport || dryRun)) try {
|
|
81
|
+
onEvent(event, dryRun ? -1 : 0, dryRun ? "dry-run" : null);
|
|
82
|
+
} catch {}
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
get amplitude() {
|
|
86
|
+
return this._amplitude;
|
|
87
|
+
}
|
|
88
|
+
get config() {
|
|
89
|
+
return this._config;
|
|
90
|
+
}
|
|
91
|
+
_nextTurnId(sessionId) {
|
|
92
|
+
if (!this._sessionTurnCounters.has(sessionId) && this._sessionTurnCounters.size >= _MAX_SESSION_TURN_COUNTERS) {
|
|
93
|
+
const oldestKey = this._sessionTurnCounters.keys().next().value;
|
|
94
|
+
if (oldestKey != null) this._sessionTurnCounters.delete(oldestKey);
|
|
95
|
+
}
|
|
96
|
+
const next = (this._sessionTurnCounters.get(sessionId) ?? 0) + 1;
|
|
97
|
+
this._sessionTurnCounters.set(sessionId, next);
|
|
98
|
+
return next;
|
|
99
|
+
}
|
|
100
|
+
trackUserMessage(opts) {
|
|
101
|
+
const effectiveTurnId = opts.turnId ?? this._nextTurnId(opts.sessionId);
|
|
102
|
+
return trackUserMessage({
|
|
103
|
+
amplitude: this._amplitude,
|
|
104
|
+
userId: opts.userId,
|
|
105
|
+
messageContent: opts.content,
|
|
106
|
+
sessionId: opts.sessionId,
|
|
107
|
+
traceId: opts.traceId,
|
|
108
|
+
turnId: effectiveTurnId,
|
|
109
|
+
messageId: opts.messageId,
|
|
110
|
+
agentId: opts.agentId,
|
|
111
|
+
parentAgentId: opts.parentAgentId,
|
|
112
|
+
customerOrgId: opts.customerOrgId,
|
|
113
|
+
agentVersion: opts.agentVersion,
|
|
114
|
+
context: opts.context,
|
|
115
|
+
env: opts.env,
|
|
116
|
+
isRegeneration: opts.isRegeneration,
|
|
117
|
+
isEdit: opts.isEdit,
|
|
118
|
+
editedMessageId: opts.editedMessageId,
|
|
119
|
+
attachments: opts.attachments,
|
|
120
|
+
labels: opts.labels,
|
|
121
|
+
eventProperties: opts.eventProperties,
|
|
122
|
+
groups: opts.groups,
|
|
123
|
+
privacyConfig: this._privacyConfig
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
trackAiMessage(opts) {
|
|
127
|
+
const effectiveTurnId = opts.turnId ?? this._nextTurnId(opts.sessionId);
|
|
128
|
+
let effectiveCost = opts.totalCostUsd ?? null;
|
|
129
|
+
if (effectiveCost == null && opts.inputTokens != null && opts.outputTokens != null) try {
|
|
130
|
+
effectiveCost = calculateCost({
|
|
131
|
+
modelName: opts.model,
|
|
132
|
+
inputTokens: opts.inputTokens,
|
|
133
|
+
outputTokens: opts.outputTokens,
|
|
134
|
+
reasoningTokens: opts.reasoningTokens ?? 0,
|
|
135
|
+
cacheReadInputTokens: opts.cacheReadTokens ?? 0,
|
|
136
|
+
cacheCreationInputTokens: opts.cacheCreationTokens ?? 0
|
|
137
|
+
});
|
|
138
|
+
} catch {}
|
|
139
|
+
return trackAiMessage({
|
|
140
|
+
amplitude: this._amplitude,
|
|
141
|
+
userId: opts.userId,
|
|
142
|
+
modelName: opts.model,
|
|
143
|
+
provider: opts.provider,
|
|
144
|
+
responseContent: opts.content,
|
|
145
|
+
latencyMs: opts.latencyMs,
|
|
146
|
+
sessionId: opts.sessionId,
|
|
147
|
+
traceId: opts.traceId,
|
|
148
|
+
turnId: effectiveTurnId,
|
|
149
|
+
messageId: opts.messageId,
|
|
150
|
+
inputTokens: opts.inputTokens,
|
|
151
|
+
outputTokens: opts.outputTokens,
|
|
152
|
+
reasoningTokens: opts.reasoningTokens,
|
|
153
|
+
cacheReadInputTokens: opts.cacheReadTokens,
|
|
154
|
+
cacheCreationInputTokens: opts.cacheCreationTokens,
|
|
155
|
+
totalTokens: opts.totalTokens,
|
|
156
|
+
totalCostUsd: effectiveCost,
|
|
157
|
+
finishReason: opts.finishReason,
|
|
158
|
+
toolCalls: opts.toolCalls,
|
|
159
|
+
reasoningContent: opts.reasoningContent,
|
|
160
|
+
systemPrompt: opts.systemPrompt,
|
|
161
|
+
temperature: opts.temperature,
|
|
162
|
+
maxOutputTokens: opts.maxOutputTokens,
|
|
163
|
+
topP: opts.topP,
|
|
164
|
+
isStreaming: opts.isStreaming,
|
|
165
|
+
promptId: opts.promptId,
|
|
166
|
+
wasCopied: opts.wasCopied,
|
|
167
|
+
wasCached: opts.wasCached,
|
|
168
|
+
modelTier: opts.modelTier,
|
|
169
|
+
attachments: opts.attachments,
|
|
170
|
+
labels: opts.labels,
|
|
171
|
+
agentId: opts.agentId,
|
|
172
|
+
parentAgentId: opts.parentAgentId,
|
|
173
|
+
customerOrgId: opts.customerOrgId,
|
|
174
|
+
agentVersion: opts.agentVersion,
|
|
175
|
+
context: opts.context,
|
|
176
|
+
env: opts.env,
|
|
177
|
+
isError: opts.isError,
|
|
178
|
+
errorMessage: opts.errorMessage,
|
|
179
|
+
providerTtfbMs: opts.ttfbMs,
|
|
180
|
+
eventProperties: opts.eventProperties,
|
|
181
|
+
groups: opts.groups,
|
|
182
|
+
privacyConfig: opts.privacyConfig ?? this._privacyConfig
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
trackToolCall(opts) {
|
|
186
|
+
return trackToolCall({
|
|
187
|
+
amplitude: this._amplitude,
|
|
188
|
+
userId: opts.userId,
|
|
189
|
+
toolName: opts.toolName,
|
|
190
|
+
success: opts.success,
|
|
191
|
+
latencyMs: opts.latencyMs,
|
|
192
|
+
sessionId: opts.sessionId,
|
|
193
|
+
traceId: opts.traceId,
|
|
194
|
+
turnId: opts.turnId ?? void 0,
|
|
195
|
+
invocationId: opts.invocationId,
|
|
196
|
+
toolInput: opts.input,
|
|
197
|
+
toolOutput: opts.output,
|
|
198
|
+
parentMessageId: opts.parentMessageId,
|
|
199
|
+
agentId: opts.agentId,
|
|
200
|
+
parentAgentId: opts.parentAgentId,
|
|
201
|
+
customerOrgId: opts.customerOrgId,
|
|
202
|
+
agentVersion: opts.agentVersion,
|
|
203
|
+
context: opts.context,
|
|
204
|
+
env: opts.env,
|
|
205
|
+
errorMessage: opts.errorMessage,
|
|
206
|
+
eventProperties: opts.eventProperties,
|
|
207
|
+
groups: opts.groups,
|
|
208
|
+
privacyConfig: this._privacyConfig
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
trackEmbedding(opts) {
|
|
212
|
+
return trackEmbedding({
|
|
213
|
+
amplitude: this._amplitude,
|
|
214
|
+
userId: opts.userId,
|
|
215
|
+
model: opts.model,
|
|
216
|
+
provider: opts.provider,
|
|
217
|
+
latencyMs: opts.latencyMs,
|
|
218
|
+
inputTokens: opts.inputTokens,
|
|
219
|
+
dimensions: opts.dimensions,
|
|
220
|
+
totalCostUsd: opts.totalCostUsd,
|
|
221
|
+
sessionId: opts.sessionId,
|
|
222
|
+
traceId: opts.traceId,
|
|
223
|
+
turnId: opts.turnId,
|
|
224
|
+
agentId: opts.agentId,
|
|
225
|
+
parentAgentId: opts.parentAgentId,
|
|
226
|
+
customerOrgId: opts.customerOrgId,
|
|
227
|
+
agentVersion: opts.agentVersion,
|
|
228
|
+
context: opts.context,
|
|
229
|
+
env: opts.env,
|
|
230
|
+
eventProperties: opts.eventProperties,
|
|
231
|
+
groups: opts.groups,
|
|
232
|
+
privacyConfig: this._privacyConfig
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
trackSpan(opts) {
|
|
236
|
+
return trackSpan({
|
|
237
|
+
amplitude: this._amplitude,
|
|
238
|
+
userId: opts.userId,
|
|
239
|
+
spanName: opts.spanName,
|
|
240
|
+
traceId: opts.traceId,
|
|
241
|
+
latencyMs: opts.latencyMs,
|
|
242
|
+
inputState: opts.inputState,
|
|
243
|
+
outputState: opts.outputState,
|
|
244
|
+
parentSpanId: opts.parentSpanId,
|
|
245
|
+
isError: opts.isError,
|
|
246
|
+
errorMessage: opts.errorMessage,
|
|
247
|
+
sessionId: opts.sessionId,
|
|
248
|
+
turnId: opts.turnId,
|
|
249
|
+
agentId: opts.agentId,
|
|
250
|
+
parentAgentId: opts.parentAgentId,
|
|
251
|
+
customerOrgId: opts.customerOrgId,
|
|
252
|
+
agentVersion: opts.agentVersion,
|
|
253
|
+
context: opts.context,
|
|
254
|
+
env: opts.env,
|
|
255
|
+
eventProperties: opts.eventProperties,
|
|
256
|
+
groups: opts.groups,
|
|
257
|
+
privacyConfig: this._privacyConfig
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
trackSessionEnd(opts) {
|
|
261
|
+
trackSessionEnd({
|
|
262
|
+
amplitude: this._amplitude,
|
|
263
|
+
userId: opts.userId,
|
|
264
|
+
sessionId: opts.sessionId,
|
|
265
|
+
enrichments: opts.enrichments,
|
|
266
|
+
traceId: opts.traceId,
|
|
267
|
+
turnId: opts.turnId,
|
|
268
|
+
agentId: opts.agentId,
|
|
269
|
+
parentAgentId: opts.parentAgentId,
|
|
270
|
+
customerOrgId: opts.customerOrgId,
|
|
271
|
+
agentVersion: opts.agentVersion,
|
|
272
|
+
context: opts.context,
|
|
273
|
+
env: opts.env,
|
|
274
|
+
abandonmentTurn: opts.abandonmentTurn,
|
|
275
|
+
idleTimeoutMinutes: opts.idleTimeoutMinutes,
|
|
276
|
+
eventProperties: opts.eventProperties,
|
|
277
|
+
groups: opts.groups,
|
|
278
|
+
privacyConfig: this._privacyConfig
|
|
279
|
+
});
|
|
280
|
+
this._sessionTurnCounters.delete(opts.sessionId);
|
|
281
|
+
}
|
|
282
|
+
trackSessionEnrichment(opts) {
|
|
283
|
+
trackSessionEnrichment({
|
|
284
|
+
amplitude: this._amplitude,
|
|
285
|
+
userId: opts.userId,
|
|
286
|
+
sessionId: opts.sessionId,
|
|
287
|
+
enrichments: opts.enrichments,
|
|
288
|
+
traceId: opts.traceId,
|
|
289
|
+
turnId: opts.turnId,
|
|
290
|
+
agentId: opts.agentId,
|
|
291
|
+
parentAgentId: opts.parentAgentId,
|
|
292
|
+
customerOrgId: opts.customerOrgId,
|
|
293
|
+
agentVersion: opts.agentVersion,
|
|
294
|
+
context: opts.context,
|
|
295
|
+
env: opts.env,
|
|
296
|
+
eventProperties: opts.eventProperties,
|
|
297
|
+
groups: opts.groups,
|
|
298
|
+
privacyConfig: this._privacyConfig
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
score(opts) {
|
|
302
|
+
trackScore({
|
|
303
|
+
amplitude: this._amplitude,
|
|
304
|
+
userId: opts.userId,
|
|
305
|
+
name: opts.name,
|
|
306
|
+
value: opts.value,
|
|
307
|
+
targetId: opts.targetId,
|
|
308
|
+
targetType: opts.targetType,
|
|
309
|
+
source: opts.source,
|
|
310
|
+
comment: opts.comment,
|
|
311
|
+
sessionId: opts.sessionId,
|
|
312
|
+
traceId: opts.traceId,
|
|
313
|
+
turnId: opts.turnId,
|
|
314
|
+
agentId: opts.agentId,
|
|
315
|
+
parentAgentId: opts.parentAgentId,
|
|
316
|
+
customerOrgId: opts.customerOrgId,
|
|
317
|
+
agentVersion: opts.agentVersion,
|
|
318
|
+
context: opts.context,
|
|
319
|
+
env: opts.env,
|
|
320
|
+
eventProperties: opts.eventProperties,
|
|
321
|
+
groups: opts.groups,
|
|
322
|
+
privacyConfig: this._privacyConfig
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
agent(agentId, opts = {}) {
|
|
326
|
+
return new BoundAgent(this, {
|
|
327
|
+
agentId,
|
|
328
|
+
...opts
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
tenant(customerOrgId, opts = {}) {
|
|
332
|
+
return new TenantHandle(this, {
|
|
333
|
+
customerOrgId,
|
|
334
|
+
...opts
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
status() {
|
|
338
|
+
const availableProviders = [];
|
|
339
|
+
for (const mod of [
|
|
340
|
+
"openai",
|
|
341
|
+
"@anthropic-ai/sdk",
|
|
342
|
+
"@google/generative-ai",
|
|
343
|
+
"@aws-sdk/client-bedrock-runtime",
|
|
344
|
+
"@mistralai/mistralai"
|
|
345
|
+
]) if (tryRequire(mod) != null) {
|
|
346
|
+
const name = mod === "@anthropic-ai/sdk" ? "anthropic" : mod === "@google/generative-ai" ? "gemini" : mod === "@aws-sdk/client-bedrock-runtime" ? "bedrock" : mod === "@mistralai/mistralai" ? "mistral" : mod;
|
|
347
|
+
availableProviders.push(name);
|
|
348
|
+
if (mod === "openai") availableProviders.push("azure-openai");
|
|
349
|
+
}
|
|
350
|
+
return {
|
|
351
|
+
content_mode: this._config.contentMode,
|
|
352
|
+
debug: this._config.debug,
|
|
353
|
+
dry_run: this._config.dryRun,
|
|
354
|
+
redact_pii: this._config.redactPii,
|
|
355
|
+
providers_available: availableProviders,
|
|
356
|
+
patched_providers: patchedProviders()
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
flush() {
|
|
360
|
+
return this._amplitude.flush();
|
|
361
|
+
}
|
|
362
|
+
shutdown() {
|
|
363
|
+
if (this._ownsClient) this._amplitude.shutdown?.();
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
//#endregion
|
|
368
|
+
export { AmplitudeAI };
|
|
369
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","names":["availableProviders: string[]"],"sources":["../src/client.ts"],"sourcesContent":["import { BoundAgent } from './bound-agent.js';\nimport { AIConfig } from './config.js';\nimport type { MessageLabel, SessionEnrichments } from './core/enrichments.js';\nimport type { PrivacyConfig } from './core/privacy.js';\nimport {\n trackAiMessage,\n trackEmbedding,\n trackScore,\n trackSessionEnd,\n trackSessionEnrichment,\n trackSpan,\n trackToolCall,\n trackUserMessage,\n} from './core/tracking.js';\nimport { ConfigurationError } from './exceptions.js';\nimport { patchedProviders } from './patching.js';\nimport { setDefaultPropagateContext } from './propagation.js';\nimport { TenantHandle } from './tenant.js';\nimport type {\n AmplitudeClientLike,\n AmplitudeEvent,\n Attachment,\n} from './types.js';\nimport { calculateCost } from './utils/costs.js';\nimport { formatDebugLine, formatDryRunLine } from './utils/debug.js';\nimport { tryRequire } from './utils/resolve-module.js';\n\nconst _MAX_SESSION_TURN_COUNTERS = 10_000;\n\n/**\n * Main Amplitude AI client for tracking LLM interactions.\n *\n * Create an instance with an API key or an existing Amplitude client,\n * then use `.agent()` to create bound agents and `.session()` to\n * manage session context.\n *\n * @example\n * ```typescript\n * const ai = new AmplitudeAI({ apiKey: 'YOUR_KEY' });\n * const agent = ai.agent('my-chatbot', { userId: 'user-1' });\n * const session = agent.session();\n * await session.run(async (s) => {\n * s.trackUserMessage('Hello');\n * s.trackAiMessage('Hi there!', 'gpt-4', 'openai', 150);\n * });\n * ```\n */\nexport class AmplitudeAI {\n protected _amplitude: AmplitudeClientLike;\n protected _ownsClient: boolean;\n protected _config: AIConfig;\n protected _privacyConfig: PrivacyConfig;\n protected _sessionTurnCounters: Map<string, number> = new Map();\n\n constructor(options: {\n amplitude?: AmplitudeClientLike;\n apiKey?: string;\n config?: AIConfig;\n }) {\n if (options.amplitude != null) {\n this._amplitude = options.amplitude;\n this._ownsClient = false;\n } else if (options.apiKey != null) {\n const amplitudeNode = tryRequire('@amplitude/analytics-node') as\n | (AmplitudeClientLike & { init?: (apiKey: string) => unknown })\n | null;\n if (amplitudeNode == null || typeof amplitudeNode.init !== 'function') {\n throw new ConfigurationError(\n '@amplitude/analytics-node is required. Install it as a dependency.',\n );\n }\n amplitudeNode.init(options.apiKey);\n this._amplitude = amplitudeNode;\n this._ownsClient = true;\n } else {\n throw new ConfigurationError(\n \"Provide either an existing Amplitude instance via 'amplitude' or an API key via 'apiKey'.\",\n );\n }\n\n this._config = options.config ?? new AIConfig();\n this._privacyConfig = this._config.toPrivacyConfig();\n setDefaultPropagateContext(this._config.propagateContext);\n\n if (\n this._config.debug ||\n this._config.dryRun ||\n this._config.onEventCallback != null\n ) {\n this._installTrackHook();\n }\n }\n\n private _installTrackHook(): void {\n const originalTrack = this._amplitude.track.bind(this._amplitude);\n const debug = this._config.debug;\n const dryRun = this._config.dryRun;\n const onEvent = this._config.onEventCallback;\n const clientWithConfig = this._amplitude as AmplitudeClientLike & {\n configuration?: { callback?: (...args: unknown[]) => void };\n };\n const existingCallback = clientWithConfig.configuration?.callback;\n let callbackHandledByTransport = false;\n\n if (onEvent != null && clientWithConfig.configuration != null) {\n clientWithConfig.configuration.callback = (...args: unknown[]) => {\n const event = args[0];\n const statusCode = typeof args[1] === 'number' ? args[1] : 0;\n const message = args[2] == null ? null : String(args[2]);\n if (typeof existingCallback === 'function') {\n try {\n existingCallback(...args);\n } catch {\n // preserve hook behavior even if customer callback throws\n }\n }\n try {\n onEvent(event, statusCode, message);\n } catch {\n // swallow callback errors to avoid disrupting tracking\n }\n };\n callbackHandledByTransport = true;\n }\n\n this._amplitude.track = (event: AmplitudeEvent) => {\n if (debug) {\n console.error(formatDebugLine(event));\n }\n if (dryRun) {\n console.error(formatDryRunLine(event));\n }\n if (!dryRun) {\n originalTrack(event);\n }\n if (onEvent != null && (!callbackHandledByTransport || dryRun)) {\n try {\n onEvent(event, dryRun ? -1 : 0, dryRun ? 'dry-run' : null);\n } catch {\n // swallow callback errors to avoid disrupting tracking\n }\n }\n };\n }\n\n get amplitude(): AmplitudeClientLike {\n return this._amplitude;\n }\n\n get config(): AIConfig {\n return this._config;\n }\n\n _nextTurnId(sessionId: string): number {\n if (\n !this._sessionTurnCounters.has(sessionId) &&\n this._sessionTurnCounters.size >= _MAX_SESSION_TURN_COUNTERS\n ) {\n const oldestKey = this._sessionTurnCounters.keys().next().value;\n if (oldestKey != null) this._sessionTurnCounters.delete(oldestKey);\n }\n\n const current = this._sessionTurnCounters.get(sessionId) ?? 0;\n const next = current + 1;\n this._sessionTurnCounters.set(sessionId, next);\n return next;\n }\n\n // ---------------------------------------------------------------\n // Message Tracking\n // ---------------------------------------------------------------\n\n trackUserMessage(opts: {\n userId: string;\n content: string;\n sessionId: string;\n traceId?: string | null;\n turnId?: number | null;\n messageId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n isRegeneration?: boolean;\n isEdit?: boolean;\n editedMessageId?: string | null;\n attachments?: Attachment[] | null;\n labels?: MessageLabel[] | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n const effectiveTurnId = opts.turnId ?? this._nextTurnId(opts.sessionId);\n return trackUserMessage({\n amplitude: this._amplitude,\n userId: opts.userId,\n messageContent: opts.content,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: effectiveTurnId,\n messageId: opts.messageId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n isRegeneration: opts.isRegeneration,\n isEdit: opts.isEdit,\n editedMessageId: opts.editedMessageId,\n attachments: opts.attachments,\n labels: opts.labels,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n trackAiMessage(opts: {\n userId: string;\n content: string;\n sessionId: string;\n model: string;\n provider: string;\n latencyMs: number;\n inputTokens?: number | null;\n outputTokens?: number | null;\n reasoningTokens?: number | null;\n cacheReadTokens?: number | null;\n cacheCreationTokens?: number | null;\n totalTokens?: number | null;\n totalCostUsd?: number | null;\n finishReason?: string | null;\n toolCalls?: Array<Record<string, unknown>> | null;\n reasoningContent?: string | null;\n systemPrompt?: string | null;\n temperature?: number | null;\n maxOutputTokens?: number | null;\n topP?: number | null;\n isStreaming?: boolean | null;\n promptId?: string | null;\n wasCopied?: boolean;\n wasCached?: boolean;\n modelTier?: string | null;\n attachments?: Attachment[] | null;\n labels?: MessageLabel[] | null;\n traceId?: string | null;\n turnId?: number | null;\n messageId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n isError?: boolean;\n errorMessage?: string | null;\n ttfbMs?: number | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n privacyConfig?: PrivacyConfig | null;\n }): string {\n const effectiveTurnId = opts.turnId ?? this._nextTurnId(opts.sessionId);\n\n let effectiveCost = opts.totalCostUsd ?? null;\n if (\n effectiveCost == null &&\n opts.inputTokens != null &&\n opts.outputTokens != null\n ) {\n try {\n effectiveCost = calculateCost({\n modelName: opts.model,\n inputTokens: opts.inputTokens,\n outputTokens: opts.outputTokens,\n reasoningTokens: opts.reasoningTokens ?? 0,\n cacheReadInputTokens: opts.cacheReadTokens ?? 0,\n cacheCreationInputTokens: opts.cacheCreationTokens ?? 0,\n });\n } catch {\n // cost calculation is best-effort\n }\n }\n\n return trackAiMessage({\n amplitude: this._amplitude,\n userId: opts.userId,\n modelName: opts.model,\n provider: opts.provider,\n responseContent: opts.content,\n latencyMs: opts.latencyMs,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: effectiveTurnId,\n messageId: opts.messageId,\n inputTokens: opts.inputTokens,\n outputTokens: opts.outputTokens,\n reasoningTokens: opts.reasoningTokens,\n cacheReadInputTokens: opts.cacheReadTokens,\n cacheCreationInputTokens: opts.cacheCreationTokens,\n totalTokens: opts.totalTokens,\n totalCostUsd: effectiveCost,\n finishReason: opts.finishReason,\n toolCalls: opts.toolCalls,\n reasoningContent: opts.reasoningContent,\n systemPrompt: opts.systemPrompt,\n temperature: opts.temperature,\n maxOutputTokens: opts.maxOutputTokens,\n topP: opts.topP,\n isStreaming: opts.isStreaming,\n promptId: opts.promptId,\n wasCopied: opts.wasCopied,\n wasCached: opts.wasCached,\n modelTier: opts.modelTier,\n attachments: opts.attachments,\n labels: opts.labels,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n isError: opts.isError,\n errorMessage: opts.errorMessage,\n providerTtfbMs: opts.ttfbMs,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: opts.privacyConfig ?? this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Operation Tracking\n // ---------------------------------------------------------------\n\n trackToolCall(opts: {\n userId: string;\n toolName: string;\n latencyMs: number;\n success: boolean;\n sessionId?: string | null;\n traceId?: string | null;\n turnId?: number | null;\n invocationId?: string | null;\n input?: unknown;\n output?: unknown;\n parentMessageId?: string | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n errorMessage?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n return trackToolCall({\n amplitude: this._amplitude,\n userId: opts.userId,\n toolName: opts.toolName,\n success: opts.success,\n latencyMs: opts.latencyMs,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: opts.turnId ?? undefined,\n invocationId: opts.invocationId,\n toolInput: opts.input,\n toolOutput: opts.output,\n parentMessageId: opts.parentMessageId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n errorMessage: opts.errorMessage,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n trackEmbedding(opts: {\n userId: string;\n model: string;\n provider: string;\n latencyMs: number;\n inputTokens?: number | null;\n dimensions?: number | null;\n totalCostUsd?: number | null;\n sessionId?: string | null;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n return trackEmbedding({\n amplitude: this._amplitude,\n userId: opts.userId,\n model: opts.model,\n provider: opts.provider,\n latencyMs: opts.latencyMs,\n inputTokens: opts.inputTokens,\n dimensions: opts.dimensions,\n totalCostUsd: opts.totalCostUsd,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n trackSpan(opts: {\n userId: string;\n spanName: string;\n traceId: string;\n latencyMs: number;\n inputState?: Record<string, unknown> | null;\n outputState?: Record<string, unknown> | null;\n parentSpanId?: string | null;\n isError?: boolean;\n errorMessage?: string | null;\n sessionId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): string {\n return trackSpan({\n amplitude: this._amplitude,\n userId: opts.userId,\n spanName: opts.spanName,\n traceId: opts.traceId,\n latencyMs: opts.latencyMs,\n inputState: opts.inputState,\n outputState: opts.outputState,\n parentSpanId: opts.parentSpanId,\n isError: opts.isError,\n errorMessage: opts.errorMessage,\n sessionId: opts.sessionId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Session Management\n // ---------------------------------------------------------------\n\n trackSessionEnd(opts: {\n userId: string;\n sessionId: string;\n enrichments?: SessionEnrichments | null;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n abandonmentTurn?: number | null;\n idleTimeoutMinutes?: number | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): void {\n trackSessionEnd({\n amplitude: this._amplitude,\n userId: opts.userId,\n sessionId: opts.sessionId,\n enrichments: opts.enrichments,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n abandonmentTurn: opts.abandonmentTurn,\n idleTimeoutMinutes: opts.idleTimeoutMinutes,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n this._sessionTurnCounters.delete(opts.sessionId);\n }\n\n trackSessionEnrichment(opts: {\n userId: string;\n sessionId: string;\n enrichments: SessionEnrichments;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): void {\n trackSessionEnrichment({\n amplitude: this._amplitude,\n userId: opts.userId,\n sessionId: opts.sessionId,\n enrichments: opts.enrichments,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Scoring\n // ---------------------------------------------------------------\n\n score(opts: {\n userId: string;\n name: string;\n value: number;\n targetId: string;\n targetType?: string;\n source?: string;\n comment?: string | null;\n sessionId?: string | null;\n traceId?: string | null;\n turnId?: number | null;\n agentId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n eventProperties?: Record<string, unknown> | null;\n groups?: Record<string, unknown> | null;\n }): void {\n trackScore({\n amplitude: this._amplitude,\n userId: opts.userId,\n name: opts.name,\n value: opts.value,\n targetId: opts.targetId,\n targetType: opts.targetType,\n source: opts.source,\n comment: opts.comment,\n sessionId: opts.sessionId,\n traceId: opts.traceId,\n turnId: opts.turnId,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId,\n customerOrgId: opts.customerOrgId,\n agentVersion: opts.agentVersion,\n context: opts.context,\n env: opts.env,\n eventProperties: opts.eventProperties,\n groups: opts.groups,\n privacyConfig: this._privacyConfig,\n });\n }\n\n // ---------------------------------------------------------------\n // Bound Agent Factory\n // ---------------------------------------------------------------\n\n agent(\n agentId: string,\n opts: {\n userId?: string | null;\n parentAgentId?: string | null;\n customerOrgId?: string | null;\n agentVersion?: string | null;\n context?: Record<string, unknown> | null;\n env?: string | null;\n sessionId?: string | null;\n traceId?: string | null;\n groups?: Record<string, unknown> | null;\n deviceId?: string | null;\n browserSessionId?: string | null;\n } = {},\n ): BoundAgent {\n return new BoundAgent(this, { agentId, ...opts });\n }\n\n // ---------------------------------------------------------------\n // Tenant Factory\n // ---------------------------------------------------------------\n\n tenant(\n customerOrgId: string,\n opts: { groups?: Record<string, unknown> | null; env?: string | null } = {},\n ): TenantHandle {\n return new TenantHandle(this, { customerOrgId, ...opts });\n }\n\n // ---------------------------------------------------------------\n // Lifecycle\n // ---------------------------------------------------------------\n\n status(): Record<string, unknown> {\n const availableProviders: string[] = [];\n for (const mod of [\n 'openai',\n '@anthropic-ai/sdk',\n '@google/generative-ai',\n '@aws-sdk/client-bedrock-runtime',\n '@mistralai/mistralai',\n ]) {\n if (tryRequire(mod) != null) {\n const name =\n mod === '@anthropic-ai/sdk'\n ? 'anthropic'\n : mod === '@google/generative-ai'\n ? 'gemini'\n : mod === '@aws-sdk/client-bedrock-runtime'\n ? 'bedrock'\n : mod === '@mistralai/mistralai'\n ? 'mistral'\n : mod;\n availableProviders.push(name);\n if (mod === 'openai') {\n availableProviders.push('azure-openai');\n }\n }\n }\n\n return {\n content_mode: this._config.contentMode,\n debug: this._config.debug,\n dry_run: this._config.dryRun,\n redact_pii: this._config.redactPii,\n providers_available: availableProviders,\n patched_providers: patchedProviders(),\n };\n }\n\n flush(): unknown {\n return this._amplitude.flush();\n }\n\n shutdown(): void {\n if (this._ownsClient) {\n this._amplitude.shutdown?.();\n }\n }\n}\n"],"mappings":"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"}
|