@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,31 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
|
|
3
|
+
//#region rolldown:runtime
|
|
4
|
+
var __create = Object.create;
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
14
|
+
key = keys[i];
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
16
|
+
__defProp(to, key, {
|
|
17
|
+
get: ((k) => from[k]).bind(null, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
+
value: mod,
|
|
27
|
+
enumerable: true
|
|
28
|
+
}) : target, mod));
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { __commonJSMin, __toESM };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { SessionEnrichments } from "./core/enrichments.js";
|
|
2
|
+
import { AmplitudeAI } from "./client.js";
|
|
3
|
+
import { Session } from "./session.js";
|
|
4
|
+
|
|
5
|
+
//#region src/bound-agent.d.ts
|
|
6
|
+
|
|
7
|
+
type UserMessageOpts = Partial<Omit<Parameters<AmplitudeAI['trackUserMessage']>[0], 'content'>>;
|
|
8
|
+
type AiMessageOpts = Partial<Omit<Parameters<AmplitudeAI['trackAiMessage']>[0], 'content' | 'model' | 'provider' | 'latencyMs'>>;
|
|
9
|
+
type ToolCallOpts = Partial<Omit<Parameters<AmplitudeAI['trackToolCall']>[0], 'toolName' | 'latencyMs' | 'success'>>;
|
|
10
|
+
type EmbeddingOpts = Partial<Omit<Parameters<AmplitudeAI['trackEmbedding']>[0], 'model' | 'provider' | 'latencyMs'>>;
|
|
11
|
+
type SpanOpts = Partial<Omit<Parameters<AmplitudeAI['trackSpan']>[0], 'spanName' | 'latencyMs'>>;
|
|
12
|
+
type SessionEndOpts = Partial<Parameters<AmplitudeAI['trackSessionEnd']>[0]>;
|
|
13
|
+
type SessionEnrichmentOpts = Partial<Omit<Parameters<AmplitudeAI['trackSessionEnrichment']>[0], 'enrichments'>>;
|
|
14
|
+
type ScoreOpts = Partial<Omit<Parameters<AmplitudeAI['score']>[0], 'name' | 'value' | 'targetId'>>;
|
|
15
|
+
declare class BoundAgent {
|
|
16
|
+
readonly _ai: AmplitudeAI;
|
|
17
|
+
readonly _defaults: Record<string, unknown>;
|
|
18
|
+
constructor(ai: AmplitudeAI, opts: {
|
|
19
|
+
agentId: string;
|
|
20
|
+
userId?: string | null;
|
|
21
|
+
parentAgentId?: string | null;
|
|
22
|
+
customerOrgId?: string | null;
|
|
23
|
+
agentVersion?: string | null;
|
|
24
|
+
context?: Record<string, unknown> | null;
|
|
25
|
+
env?: string | null;
|
|
26
|
+
sessionId?: string | null;
|
|
27
|
+
traceId?: string | null;
|
|
28
|
+
groups?: Record<string, unknown> | null;
|
|
29
|
+
deviceId?: string | null;
|
|
30
|
+
browserSessionId?: string | null;
|
|
31
|
+
});
|
|
32
|
+
get agentId(): string;
|
|
33
|
+
get ai(): AmplitudeAI;
|
|
34
|
+
child(agentId: string, overrides?: Record<string, unknown>): BoundAgent;
|
|
35
|
+
private _merge;
|
|
36
|
+
trackUserMessage(content: string, opts?: UserMessageOpts): string;
|
|
37
|
+
trackAiMessage(content: string, model: string, provider: string, latencyMs: number, opts?: AiMessageOpts): string;
|
|
38
|
+
trackToolCall(toolName: string, latencyMs: number, success: boolean, opts?: ToolCallOpts): string;
|
|
39
|
+
trackEmbedding(model: string, provider: string, latencyMs: number, opts?: EmbeddingOpts): string;
|
|
40
|
+
trackSpan(spanName: string, latencyMs: number, opts?: SpanOpts): string;
|
|
41
|
+
trackSessionEnd(opts?: SessionEndOpts): void;
|
|
42
|
+
trackSessionEnrichment(enrichments: SessionEnrichments, opts?: SessionEnrichmentOpts): void;
|
|
43
|
+
score(name: string, value: number, targetId: string, opts?: ScoreOpts): void;
|
|
44
|
+
session(opts?: {
|
|
45
|
+
sessionId?: string | null;
|
|
46
|
+
idleTimeoutMinutes?: number | null;
|
|
47
|
+
userId?: string | null;
|
|
48
|
+
deviceId?: string | null;
|
|
49
|
+
browserSessionId?: string | null;
|
|
50
|
+
}): Session;
|
|
51
|
+
flush(): unknown;
|
|
52
|
+
shutdown(): void;
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { AiMessageOpts, BoundAgent, EmbeddingOpts, ScoreOpts, SessionEndOpts, SessionEnrichmentOpts, SpanOpts, ToolCallOpts, UserMessageOpts };
|
|
56
|
+
//# sourceMappingURL=bound-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bound-agent.d.ts","names":[],"sources":["../src/bound-agent.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { PROP_SESSION_REPLAY_ID } from "./core/constants.js";
|
|
2
|
+
import { Session } from "./session.js";
|
|
3
|
+
|
|
4
|
+
//#region src/bound-agent.ts
|
|
5
|
+
const CONTEXT_FIELDS = [
|
|
6
|
+
"userId",
|
|
7
|
+
"agentId",
|
|
8
|
+
"parentAgentId",
|
|
9
|
+
"customerOrgId",
|
|
10
|
+
"agentVersion",
|
|
11
|
+
"context",
|
|
12
|
+
"env",
|
|
13
|
+
"sessionId",
|
|
14
|
+
"traceId",
|
|
15
|
+
"groups"
|
|
16
|
+
];
|
|
17
|
+
var BoundAgent = class BoundAgent {
|
|
18
|
+
_ai;
|
|
19
|
+
_defaults;
|
|
20
|
+
constructor(ai, opts) {
|
|
21
|
+
this._ai = ai;
|
|
22
|
+
this._defaults = {
|
|
23
|
+
userId: opts.userId ?? null,
|
|
24
|
+
agentId: opts.agentId,
|
|
25
|
+
parentAgentId: opts.parentAgentId ?? null,
|
|
26
|
+
customerOrgId: opts.customerOrgId ?? null,
|
|
27
|
+
agentVersion: opts.agentVersion ?? null,
|
|
28
|
+
context: opts.context ?? null,
|
|
29
|
+
env: opts.env ?? null,
|
|
30
|
+
sessionId: opts.sessionId ?? null,
|
|
31
|
+
traceId: opts.traceId ?? null,
|
|
32
|
+
groups: opts.groups ?? null,
|
|
33
|
+
deviceId: opts.deviceId ?? null,
|
|
34
|
+
browserSessionId: opts.browserSessionId ?? null
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
get agentId() {
|
|
38
|
+
return String(this._defaults.agentId);
|
|
39
|
+
}
|
|
40
|
+
get ai() {
|
|
41
|
+
return this._ai;
|
|
42
|
+
}
|
|
43
|
+
child(agentId, overrides = {}) {
|
|
44
|
+
const inherited = {
|
|
45
|
+
userId: this._defaults.userId,
|
|
46
|
+
env: this._defaults.env,
|
|
47
|
+
customerOrgId: this._defaults.customerOrgId,
|
|
48
|
+
agentVersion: this._defaults.agentVersion,
|
|
49
|
+
sessionId: this._defaults.sessionId,
|
|
50
|
+
traceId: this._defaults.traceId,
|
|
51
|
+
groups: this._defaults.groups,
|
|
52
|
+
deviceId: this._defaults.deviceId,
|
|
53
|
+
browserSessionId: this._defaults.browserSessionId
|
|
54
|
+
};
|
|
55
|
+
const parentCtx = this._defaults.context;
|
|
56
|
+
const childCtx = overrides.context;
|
|
57
|
+
const overrideEntries = Object.entries(overrides).filter(([k]) => k !== "context");
|
|
58
|
+
if (parentCtx || childCtx) {
|
|
59
|
+
const merged = { ...parentCtx ?? {} };
|
|
60
|
+
if (childCtx) Object.assign(merged, childCtx);
|
|
61
|
+
inherited.context = merged;
|
|
62
|
+
}
|
|
63
|
+
for (const [k, v] of overrideEntries) if (v != null) inherited[k] = v;
|
|
64
|
+
const { parentAgentId: inheritedParentAgentId, ...inheritedWithoutParent } = inherited;
|
|
65
|
+
const explicitParent = inheritedParentAgentId ?? this._defaults.agentId;
|
|
66
|
+
return new BoundAgent(this._ai, {
|
|
67
|
+
agentId,
|
|
68
|
+
parentAgentId: explicitParent,
|
|
69
|
+
...inheritedWithoutParent
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
_merge(kwargs, fields = CONTEXT_FIELDS) {
|
|
73
|
+
const merged = { ...kwargs };
|
|
74
|
+
for (const field of fields) if (merged[field] == null && this._defaults[field] != null) merged[field] = this._defaults[field];
|
|
75
|
+
const deviceId = this._defaults.deviceId;
|
|
76
|
+
const browserSessionId = this._defaults.browserSessionId;
|
|
77
|
+
if (deviceId && browserSessionId) {
|
|
78
|
+
const existingEp = merged.eventProperties;
|
|
79
|
+
const ep = existingEp != null ? { ...existingEp } : {};
|
|
80
|
+
if (!(PROP_SESSION_REPLAY_ID in ep)) {
|
|
81
|
+
ep[PROP_SESSION_REPLAY_ID] = `${deviceId}/${browserSessionId}`;
|
|
82
|
+
merged.eventProperties = ep;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return merged;
|
|
86
|
+
}
|
|
87
|
+
trackUserMessage(content, opts = {}) {
|
|
88
|
+
return this._ai.trackUserMessage({
|
|
89
|
+
...this._merge(opts),
|
|
90
|
+
content
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
trackAiMessage(content, model, provider, latencyMs, opts = {}) {
|
|
94
|
+
return this._ai.trackAiMessage({
|
|
95
|
+
...this._merge(opts),
|
|
96
|
+
content,
|
|
97
|
+
model,
|
|
98
|
+
provider,
|
|
99
|
+
latencyMs
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
trackToolCall(toolName, latencyMs, success, opts = {}) {
|
|
103
|
+
return this._ai.trackToolCall({
|
|
104
|
+
...this._merge(opts),
|
|
105
|
+
toolName,
|
|
106
|
+
latencyMs,
|
|
107
|
+
success
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
trackEmbedding(model, provider, latencyMs, opts = {}) {
|
|
111
|
+
return this._ai.trackEmbedding({
|
|
112
|
+
...this._merge(opts),
|
|
113
|
+
model,
|
|
114
|
+
provider,
|
|
115
|
+
latencyMs
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
trackSpan(spanName, latencyMs, opts = {}) {
|
|
119
|
+
return this._ai.trackSpan({
|
|
120
|
+
...this._merge(opts),
|
|
121
|
+
spanName,
|
|
122
|
+
latencyMs
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
trackSessionEnd(opts = {}) {
|
|
126
|
+
this._ai.trackSessionEnd(this._merge(opts));
|
|
127
|
+
}
|
|
128
|
+
trackSessionEnrichment(enrichments, opts = {}) {
|
|
129
|
+
this._ai.trackSessionEnrichment({
|
|
130
|
+
...this._merge(opts),
|
|
131
|
+
enrichments
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
score(name, value, targetId, opts = {}) {
|
|
135
|
+
this._ai.score({
|
|
136
|
+
...this._merge(opts),
|
|
137
|
+
name,
|
|
138
|
+
value,
|
|
139
|
+
targetId
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
session(opts = {}) {
|
|
143
|
+
return new Session(this, opts);
|
|
144
|
+
}
|
|
145
|
+
flush() {
|
|
146
|
+
return this._ai.flush();
|
|
147
|
+
}
|
|
148
|
+
shutdown() {
|
|
149
|
+
this._ai.shutdown();
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
//#endregion
|
|
154
|
+
export { BoundAgent };
|
|
155
|
+
//# sourceMappingURL=bound-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bound-agent.js","names":["inherited: Record<string, unknown>"],"sources":["../src/bound-agent.ts"],"sourcesContent":["/**\n * BoundAgent — agent with pre-bound defaults for tracking context fields.\n *\n * Created via `ai.agent(agentId, opts)`. All tracking calls\n * automatically inherit agentId, userId, env, and other defaults.\n */\n\nimport type { AmplitudeAI } from './client.js';\nimport type { SessionEnrichments } from './core/enrichments.js';\nimport { PROP_SESSION_REPLAY_ID } from './core/tracking.js';\nimport { Session } from './session.js';\n\nexport type UserMessageOpts = Partial<\n Omit<Parameters<AmplitudeAI['trackUserMessage']>[0], 'content'>\n>;\n\nexport type AiMessageOpts = Partial<\n Omit<\n Parameters<AmplitudeAI['trackAiMessage']>[0],\n 'content' | 'model' | 'provider' | 'latencyMs'\n >\n>;\n\nexport type ToolCallOpts = Partial<\n Omit<\n Parameters<AmplitudeAI['trackToolCall']>[0],\n 'toolName' | 'latencyMs' | 'success'\n >\n>;\n\nexport type EmbeddingOpts = Partial<\n Omit<\n Parameters<AmplitudeAI['trackEmbedding']>[0],\n 'model' | 'provider' | 'latencyMs'\n >\n>;\n\nexport type SpanOpts = Partial<\n Omit<Parameters<AmplitudeAI['trackSpan']>[0], 'spanName' | 'latencyMs'>\n>;\n\nexport type SessionEndOpts = Partial<\n Parameters<AmplitudeAI['trackSessionEnd']>[0]\n>;\n\nexport type SessionEnrichmentOpts = Partial<\n Omit<Parameters<AmplitudeAI['trackSessionEnrichment']>[0], 'enrichments'>\n>;\n\nexport type ScoreOpts = Partial<\n Omit<Parameters<AmplitudeAI['score']>[0], 'name' | 'value' | 'targetId'>\n>;\n\nconst CONTEXT_FIELDS = [\n 'userId',\n 'agentId',\n 'parentAgentId',\n 'customerOrgId',\n 'agentVersion',\n 'context',\n 'env',\n 'sessionId',\n 'traceId',\n 'groups',\n] as const;\n\nexport class BoundAgent {\n readonly _ai: AmplitudeAI;\n readonly _defaults: Record<string, unknown>;\n\n constructor(\n ai: AmplitudeAI,\n opts: {\n agentId: string;\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 ) {\n this._ai = ai;\n this._defaults = {\n userId: opts.userId ?? null,\n agentId: opts.agentId,\n parentAgentId: opts.parentAgentId ?? null,\n customerOrgId: opts.customerOrgId ?? null,\n agentVersion: opts.agentVersion ?? null,\n context: opts.context ?? null,\n env: opts.env ?? null,\n sessionId: opts.sessionId ?? null,\n traceId: opts.traceId ?? null,\n groups: opts.groups ?? null,\n deviceId: opts.deviceId ?? null,\n browserSessionId: opts.browserSessionId ?? null,\n };\n }\n\n get agentId(): string {\n return String(this._defaults.agentId);\n }\n\n get ai(): AmplitudeAI {\n return this._ai;\n }\n\n child(agentId: string, overrides: Record<string, unknown> = {}): BoundAgent {\n const inherited: Record<string, unknown> = {\n userId: this._defaults.userId,\n env: this._defaults.env,\n customerOrgId: this._defaults.customerOrgId,\n agentVersion: this._defaults.agentVersion,\n sessionId: this._defaults.sessionId,\n traceId: this._defaults.traceId,\n groups: this._defaults.groups,\n deviceId: this._defaults.deviceId,\n browserSessionId: this._defaults.browserSessionId,\n };\n\n const parentCtx = this._defaults.context as Record<string, unknown> | null;\n const childCtx = overrides.context as\n | Record<string, unknown>\n | null\n | undefined;\n const overrideEntries = Object.entries(overrides).filter(\n ([k]) => k !== 'context',\n );\n if (parentCtx || childCtx) {\n const merged = { ...(parentCtx ?? {}) };\n if (childCtx) Object.assign(merged, childCtx);\n inherited.context = merged;\n }\n\n for (const [k, v] of overrideEntries) {\n if (v != null) inherited[k] = v;\n }\n\n const { parentAgentId: inheritedParentAgentId, ...inheritedWithoutParent } =\n inherited;\n const explicitParent =\n (inheritedParentAgentId as string | null) ??\n (this._defaults.agentId as string);\n\n return new BoundAgent(this._ai, {\n agentId,\n parentAgentId: explicitParent,\n ...(inheritedWithoutParent as Record<string, string | null>),\n });\n }\n\n private _merge<T extends Record<string, unknown>>(\n kwargs: T,\n fields: readonly string[] = CONTEXT_FIELDS,\n ): T {\n const merged = { ...kwargs } as Record<string, unknown>;\n for (const field of fields) {\n if (merged[field] == null && this._defaults[field] != null) {\n merged[field] = this._defaults[field];\n }\n }\n const deviceId = this._defaults.deviceId as string | null;\n const browserSessionId = this._defaults.browserSessionId as string | null;\n if (deviceId && browserSessionId) {\n const existingEp = merged.eventProperties as\n | Record<string, unknown>\n | undefined;\n const ep = existingEp != null ? { ...existingEp } : {};\n if (!(PROP_SESSION_REPLAY_ID in ep)) {\n ep[PROP_SESSION_REPLAY_ID] = `${deviceId}/${browserSessionId}`;\n merged.eventProperties = ep;\n }\n }\n return merged as T;\n }\n\n trackUserMessage(content: string, opts: UserMessageOpts = {}): string {\n return this._ai.trackUserMessage({\n ...this._merge(opts),\n content,\n } as Parameters<AmplitudeAI['trackUserMessage']>[0]);\n }\n\n trackAiMessage(\n content: string,\n model: string,\n provider: string,\n latencyMs: number,\n opts: AiMessageOpts = {},\n ): string {\n return this._ai.trackAiMessage({\n ...this._merge(opts),\n content,\n model,\n provider,\n latencyMs,\n } as Parameters<AmplitudeAI['trackAiMessage']>[0]);\n }\n\n trackToolCall(\n toolName: string,\n latencyMs: number,\n success: boolean,\n opts: ToolCallOpts = {},\n ): string {\n return this._ai.trackToolCall({\n ...this._merge(opts),\n toolName,\n latencyMs,\n success,\n } as Parameters<AmplitudeAI['trackToolCall']>[0]);\n }\n\n trackEmbedding(\n model: string,\n provider: string,\n latencyMs: number,\n opts: EmbeddingOpts = {},\n ): string {\n return this._ai.trackEmbedding({\n ...this._merge(opts),\n model,\n provider,\n latencyMs,\n } as Parameters<AmplitudeAI['trackEmbedding']>[0]);\n }\n\n trackSpan(spanName: string, latencyMs: number, opts: SpanOpts = {}): string {\n return this._ai.trackSpan({\n ...this._merge(opts),\n spanName,\n latencyMs,\n } as Parameters<AmplitudeAI['trackSpan']>[0]);\n }\n\n trackSessionEnd(opts: SessionEndOpts = {}): void {\n this._ai.trackSessionEnd(\n this._merge(opts) as Parameters<AmplitudeAI['trackSessionEnd']>[0],\n );\n }\n\n trackSessionEnrichment(\n enrichments: SessionEnrichments,\n opts: SessionEnrichmentOpts = {},\n ): void {\n this._ai.trackSessionEnrichment({\n ...this._merge(opts),\n enrichments,\n } as Parameters<AmplitudeAI['trackSessionEnrichment']>[0]);\n }\n\n score(\n name: string,\n value: number,\n targetId: string,\n opts: ScoreOpts = {},\n ): void {\n this._ai.score({\n ...this._merge(opts),\n name,\n value,\n targetId,\n } as Parameters<AmplitudeAI['score']>[0]);\n }\n\n session(\n opts: {\n sessionId?: string | null;\n idleTimeoutMinutes?: number | null;\n userId?: string | null;\n deviceId?: string | null;\n browserSessionId?: string | null;\n } = {},\n ): Session {\n return new Session(this, opts);\n }\n\n flush(): unknown {\n return this._ai.flush();\n }\n\n shutdown(): void {\n this._ai.shutdown();\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/cli/doctor.d.ts
|
|
2
|
+
type DoctorResult = {
|
|
3
|
+
ok: boolean;
|
|
4
|
+
checks: Array<{
|
|
5
|
+
name: string;
|
|
6
|
+
ok: boolean;
|
|
7
|
+
detail: string;
|
|
8
|
+
fix?: string;
|
|
9
|
+
}>;
|
|
10
|
+
};
|
|
11
|
+
type DoctorOptions = {
|
|
12
|
+
includeMockCheck?: boolean;
|
|
13
|
+
};
|
|
14
|
+
declare const runDoctor: (cwd: string, options?: DoctorOptions) => DoctorResult;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { type DoctorOptions, type DoctorResult, runDoctor };
|
|
17
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","names":[],"sources":["../../src/cli/doctor.ts"],"sourcesContent":[],"mappings":";KAKK,YAAA;EAAA,EAAA,EAAA,OAAA;EAKA,MAAA,EAHK,KAGL,CAAA;IAgCC,IAAA,EAAA,MAkFL;;;;;;KAlHI,aAAA;;;cAgCC,mCAAmC,kBAAqB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { MockAmplitudeAI } from "../testing.js";
|
|
2
|
+
import { PROVIDER_NPM_PACKAGES } from "./providers.js";
|
|
3
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
|
|
6
|
+
//#region src/cli/doctor.ts
|
|
7
|
+
const readPackageJson = (cwd) => {
|
|
8
|
+
const path = join(cwd, "package.json");
|
|
9
|
+
if (!existsSync(path)) return null;
|
|
10
|
+
const raw = readFileSync(path, "utf8");
|
|
11
|
+
return JSON.parse(raw);
|
|
12
|
+
};
|
|
13
|
+
const collectDependencyNames = (packageJson) => {
|
|
14
|
+
const names = /* @__PURE__ */ new Set();
|
|
15
|
+
if (!packageJson) return names;
|
|
16
|
+
for (const field of [
|
|
17
|
+
"dependencies",
|
|
18
|
+
"devDependencies",
|
|
19
|
+
"peerDependencies"
|
|
20
|
+
]) {
|
|
21
|
+
const value = packageJson[field];
|
|
22
|
+
if (!value || typeof value !== "object") continue;
|
|
23
|
+
for (const name of Object.keys(value)) names.add(name);
|
|
24
|
+
}
|
|
25
|
+
return names;
|
|
26
|
+
};
|
|
27
|
+
const runDoctor = (cwd, options = {}) => {
|
|
28
|
+
const checks = [];
|
|
29
|
+
const hasApiKey = Boolean(process.env.AMPLITUDE_AI_API_KEY);
|
|
30
|
+
checks.push({
|
|
31
|
+
name: "env.AMPLITUDE_AI_API_KEY",
|
|
32
|
+
ok: hasApiKey,
|
|
33
|
+
detail: hasApiKey ? "present" : "missing",
|
|
34
|
+
...!hasApiKey && { fix: "export AMPLITUDE_AI_API_KEY=your_project_api_key" }
|
|
35
|
+
});
|
|
36
|
+
const packageJson = readPackageJson(cwd);
|
|
37
|
+
checks.push({
|
|
38
|
+
name: "package.json",
|
|
39
|
+
ok: packageJson !== null,
|
|
40
|
+
detail: packageJson ? "found" : "missing",
|
|
41
|
+
...!packageJson && { fix: "npm init -y && npx amplitude-ai init" }
|
|
42
|
+
});
|
|
43
|
+
const depNames = collectDependencyNames(packageJson);
|
|
44
|
+
const detectedProviders = PROVIDER_NPM_PACKAGES.filter((pkg) => depNames.has(pkg));
|
|
45
|
+
checks.push({
|
|
46
|
+
name: "provider_dependency",
|
|
47
|
+
ok: detectedProviders.length > 0,
|
|
48
|
+
detail: detectedProviders.length > 0 ? `found ${detectedProviders.join(", ")}` : "no known provider package found",
|
|
49
|
+
...detectedProviders.length === 0 && { fix: "pnpm add openai # or @anthropic-ai/sdk, @google/generative-ai" }
|
|
50
|
+
});
|
|
51
|
+
if (options.includeMockCheck ?? true) try {
|
|
52
|
+
const mock = new MockAmplitudeAI();
|
|
53
|
+
mock.trackUserMessage({
|
|
54
|
+
userId: "doctor-user",
|
|
55
|
+
content: "doctor probe",
|
|
56
|
+
sessionId: "doctor-session"
|
|
57
|
+
});
|
|
58
|
+
const userEvents = mock.getEvents("[Agent] User Message");
|
|
59
|
+
checks.push({
|
|
60
|
+
name: "mock_event_delivery",
|
|
61
|
+
ok: userEvents.length > 0,
|
|
62
|
+
detail: userEvents.length > 0 ? `captured ${userEvents.length} event(s)` : "no events captured",
|
|
63
|
+
...userEvents.length === 0 && { fix: "Ensure @amplitude/analytics-node is installed: pnpm add @amplitude/analytics-node" }
|
|
64
|
+
});
|
|
65
|
+
const flushed = mock.flush();
|
|
66
|
+
const flushOk = Array.isArray(flushed);
|
|
67
|
+
checks.push({
|
|
68
|
+
name: "mock_flush_path",
|
|
69
|
+
ok: flushOk,
|
|
70
|
+
detail: flushOk ? `flush returned ${flushed.length} item(s)` : "flush did not return an array",
|
|
71
|
+
...!flushOk && { fix: "Check that AmplitudeAI is initialized correctly and flush() is called before exit" }
|
|
72
|
+
});
|
|
73
|
+
} catch (error) {
|
|
74
|
+
checks.push({
|
|
75
|
+
name: "mock_event_delivery",
|
|
76
|
+
ok: false,
|
|
77
|
+
detail: `mock check failed: ${String(error)}`,
|
|
78
|
+
fix: "Ensure @amplitude/analytics-node is installed: pnpm add @amplitude/analytics-node"
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
ok: checks.every((check) => check.ok),
|
|
83
|
+
checks
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
//#endregion
|
|
88
|
+
export { runDoctor };
|
|
89
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","names":["checks: DoctorResult['checks']"],"sources":["../../src/cli/doctor.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { MockAmplitudeAI } from '../testing.js';\nimport { PROVIDER_NPM_PACKAGES } from './providers.js';\n\ntype DoctorResult = {\n ok: boolean;\n checks: Array<{ name: string; ok: boolean; detail: string; fix?: string }>;\n};\n\ntype DoctorOptions = {\n includeMockCheck?: boolean;\n};\n\nconst readPackageJson = (cwd: string): Record<string, unknown> | null => {\n const path = join(cwd, 'package.json');\n if (!existsSync(path)) {\n return null;\n }\n const raw = readFileSync(path, 'utf8');\n return JSON.parse(raw) as Record<string, unknown>;\n};\n\nconst collectDependencyNames = (\n packageJson: Record<string, unknown> | null,\n): Set<string> => {\n const names = new Set<string>();\n if (!packageJson) {\n return names;\n }\n for (const field of ['dependencies', 'devDependencies', 'peerDependencies']) {\n const value = packageJson[field];\n if (!value || typeof value !== 'object') {\n continue;\n }\n for (const name of Object.keys(value as Record<string, string>)) {\n names.add(name);\n }\n }\n return names;\n};\n\nconst runDoctor = (cwd: string, options: DoctorOptions = {}): DoctorResult => {\n const checks: DoctorResult['checks'] = [];\n\n const hasApiKey = Boolean(process.env.AMPLITUDE_AI_API_KEY);\n checks.push({\n name: 'env.AMPLITUDE_AI_API_KEY',\n ok: hasApiKey,\n detail: hasApiKey ? 'present' : 'missing',\n ...(!hasApiKey && {\n fix: 'export AMPLITUDE_AI_API_KEY=your_project_api_key',\n }),\n });\n\n const packageJson = readPackageJson(cwd);\n checks.push({\n name: 'package.json',\n ok: packageJson !== null,\n detail: packageJson ? 'found' : 'missing',\n ...(!packageJson && { fix: 'npm init -y && npx amplitude-ai init' }),\n });\n\n const depNames = collectDependencyNames(packageJson);\n const detectedProviders = PROVIDER_NPM_PACKAGES.filter((pkg) =>\n depNames.has(pkg),\n );\n checks.push({\n name: 'provider_dependency',\n ok: detectedProviders.length > 0,\n detail:\n detectedProviders.length > 0\n ? `found ${detectedProviders.join(', ')}`\n : 'no known provider package found',\n ...(detectedProviders.length === 0 && {\n fix: 'pnpm add openai # or @anthropic-ai/sdk, @google/generative-ai',\n }),\n });\n\n if (options.includeMockCheck ?? true) {\n try {\n const mock = new MockAmplitudeAI();\n mock.trackUserMessage({\n userId: 'doctor-user',\n content: 'doctor probe',\n sessionId: 'doctor-session',\n });\n const userEvents = mock.getEvents('[Agent] User Message');\n checks.push({\n name: 'mock_event_delivery',\n ok: userEvents.length > 0,\n detail:\n userEvents.length > 0\n ? `captured ${userEvents.length} event(s)`\n : 'no events captured',\n ...(userEvents.length === 0 && {\n fix: 'Ensure @amplitude/analytics-node is installed: pnpm add @amplitude/analytics-node',\n }),\n });\n\n const flushed = mock.flush();\n const flushOk = Array.isArray(flushed);\n checks.push({\n name: 'mock_flush_path',\n ok: flushOk,\n detail: flushOk\n ? `flush returned ${flushed.length} item(s)`\n : 'flush did not return an array',\n ...(!flushOk && {\n fix: 'Check that AmplitudeAI is initialized correctly and flush() is called before exit',\n }),\n });\n } catch (error) {\n checks.push({\n name: 'mock_event_delivery',\n ok: false,\n detail: `mock check failed: ${String(error)}`,\n fix: 'Ensure @amplitude/analytics-node is installed: pnpm add @amplitude/analytics-node',\n });\n }\n }\n\n const ok = checks.every((check) => check.ok);\n return { ok, checks };\n};\n\nexport { runDoctor, type DoctorResult, type DoctorOptions };\n"],"mappings":";;;;;;AAcA,MAAM,mBAAmB,QAAgD;CACvE,MAAM,OAAO,KAAK,KAAK,eAAe;AACtC,KAAI,CAAC,WAAW,KAAK,CACnB,QAAO;CAET,MAAM,MAAM,aAAa,MAAM,OAAO;AACtC,QAAO,KAAK,MAAM,IAAI;;AAGxB,MAAM,0BACJ,gBACgB;CAChB,MAAM,wBAAQ,IAAI,KAAa;AAC/B,KAAI,CAAC,YACH,QAAO;AAET,MAAK,MAAM,SAAS;EAAC;EAAgB;EAAmB;EAAmB,EAAE;EAC3E,MAAM,QAAQ,YAAY;AAC1B,MAAI,CAAC,SAAS,OAAO,UAAU,SAC7B;AAEF,OAAK,MAAM,QAAQ,OAAO,KAAK,MAAgC,CAC7D,OAAM,IAAI,KAAK;;AAGnB,QAAO;;AAGT,MAAM,aAAa,KAAa,UAAyB,EAAE,KAAmB;CAC5E,MAAMA,SAAiC,EAAE;CAEzC,MAAM,YAAY,QAAQ,QAAQ,IAAI,qBAAqB;AAC3D,QAAO,KAAK;EACV,MAAM;EACN,IAAI;EACJ,QAAQ,YAAY,YAAY;EAChC,GAAI,CAAC,aAAa,EAChB,KAAK,oDACN;EACF,CAAC;CAEF,MAAM,cAAc,gBAAgB,IAAI;AACxC,QAAO,KAAK;EACV,MAAM;EACN,IAAI,gBAAgB;EACpB,QAAQ,cAAc,UAAU;EAChC,GAAI,CAAC,eAAe,EAAE,KAAK,wCAAwC;EACpE,CAAC;CAEF,MAAM,WAAW,uBAAuB,YAAY;CACpD,MAAM,oBAAoB,sBAAsB,QAAQ,QACtD,SAAS,IAAI,IAAI,CAClB;AACD,QAAO,KAAK;EACV,MAAM;EACN,IAAI,kBAAkB,SAAS;EAC/B,QACE,kBAAkB,SAAS,IACvB,SAAS,kBAAkB,KAAK,KAAK,KACrC;EACN,GAAI,kBAAkB,WAAW,KAAK,EACpC,KAAK,kEACN;EACF,CAAC;AAEF,KAAI,QAAQ,oBAAoB,KAC9B,KAAI;EACF,MAAM,OAAO,IAAI,iBAAiB;AAClC,OAAK,iBAAiB;GACpB,QAAQ;GACR,SAAS;GACT,WAAW;GACZ,CAAC;EACF,MAAM,aAAa,KAAK,UAAU,uBAAuB;AACzD,SAAO,KAAK;GACV,MAAM;GACN,IAAI,WAAW,SAAS;GACxB,QACE,WAAW,SAAS,IAChB,YAAY,WAAW,OAAO,aAC9B;GACN,GAAI,WAAW,WAAW,KAAK,EAC7B,KAAK,qFACN;GACF,CAAC;EAEF,MAAM,UAAU,KAAK,OAAO;EAC5B,MAAM,UAAU,MAAM,QAAQ,QAAQ;AACtC,SAAO,KAAK;GACV,MAAM;GACN,IAAI;GACJ,QAAQ,UACJ,kBAAkB,QAAQ,OAAO,YACjC;GACJ,GAAI,CAAC,WAAW,EACd,KAAK,qFACN;GACF,CAAC;UACK,OAAO;AACd,SAAO,KAAK;GACV,MAAM;GACN,IAAI;GACJ,QAAQ,sBAAsB,OAAO,MAAM;GAC3C,KAAK;GACN,CAAC;;AAKN,QAAO;EAAE,IADE,OAAO,OAAO,UAAU,MAAM,GAAG;EAC/B;EAAQ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/cli/init.d.ts
|
|
2
|
+
type InitOptions = {
|
|
3
|
+
cwd: string;
|
|
4
|
+
force: boolean;
|
|
5
|
+
dryRun: boolean;
|
|
6
|
+
};
|
|
7
|
+
type InitResult = {
|
|
8
|
+
created: string[];
|
|
9
|
+
skipped: string[];
|
|
10
|
+
};
|
|
11
|
+
declare const runInit: (options: InitOptions) => InitResult;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { type InitOptions, type InitResult, runInit };
|
|
14
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","names":[],"sources":["../../src/cli/init.ts"],"sourcesContent":[],"mappings":";KAGK,WAAA;EAAA,GAAA,EAAA,MAAA;EAMA,KAAA,EAAA,OAAU;EAqBT,MAAA,EAAA,OAmBL;;KAxCI,UAAA;;;;cAqBC,mBAAoB,gBAAc"}
|
package/dist/cli/init.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { existsSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
|
|
4
|
+
//#region src/cli/init.ts
|
|
5
|
+
const INIT_FILES = {
|
|
6
|
+
".env.example": [
|
|
7
|
+
"AMPLITUDE_AI_API_KEY=your_project_api_key",
|
|
8
|
+
"AMPLITUDE_AI_AUTO_PATCH=true",
|
|
9
|
+
""
|
|
10
|
+
].join("\n"),
|
|
11
|
+
"amplitude-ai.setup.ts": [
|
|
12
|
+
"import { AmplitudeAI } from \"@amplitude/ai\";",
|
|
13
|
+
"",
|
|
14
|
+
"export const amplitudeAI = new AmplitudeAI({",
|
|
15
|
+
" apiKey: process.env.AMPLITUDE_AI_API_KEY ?? \"\",",
|
|
16
|
+
"});",
|
|
17
|
+
""
|
|
18
|
+
].join("\n")
|
|
19
|
+
};
|
|
20
|
+
const runInit = (options) => {
|
|
21
|
+
const created = [];
|
|
22
|
+
const skipped = [];
|
|
23
|
+
for (const [relativePath, contents] of Object.entries(INIT_FILES)) {
|
|
24
|
+
const absolutePath = join(options.cwd, relativePath);
|
|
25
|
+
if (existsSync(absolutePath) && !options.force) {
|
|
26
|
+
skipped.push(relativePath);
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (!options.dryRun) writeFileSync(absolutePath, contents, "utf8");
|
|
30
|
+
created.push(relativePath);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
created,
|
|
34
|
+
skipped
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
export { runInit };
|
|
40
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","names":["INIT_FILES: Record<string, string>","created: string[]","skipped: string[]"],"sources":["../../src/cli/init.ts"],"sourcesContent":["import { existsSync, writeFileSync } from 'node:fs';\nimport { join } from 'node:path';\n\ntype InitOptions = {\n cwd: string;\n force: boolean;\n dryRun: boolean;\n};\n\ntype InitResult = {\n created: string[];\n skipped: string[];\n};\n\nconst INIT_FILES: Record<string, string> = {\n '.env.example': [\n 'AMPLITUDE_AI_API_KEY=your_project_api_key',\n 'AMPLITUDE_AI_AUTO_PATCH=true',\n '',\n ].join('\\n'),\n 'amplitude-ai.setup.ts': [\n 'import { AmplitudeAI } from \"@amplitude/ai\";',\n '',\n 'export const amplitudeAI = new AmplitudeAI({',\n ' apiKey: process.env.AMPLITUDE_AI_API_KEY ?? \"\",',\n '});',\n '',\n ].join('\\n'),\n};\n\nconst runInit = (options: InitOptions): InitResult => {\n const created: string[] = [];\n const skipped: string[] = [];\n\n for (const [relativePath, contents] of Object.entries(INIT_FILES)) {\n const absolutePath = join(options.cwd, relativePath);\n const alreadyExists = existsSync(absolutePath);\n if (alreadyExists && !options.force) {\n skipped.push(relativePath);\n continue;\n }\n\n if (!options.dryRun) {\n writeFileSync(absolutePath, contents, 'utf8');\n }\n created.push(relativePath);\n }\n\n return { created, skipped };\n};\n\nexport { runInit, type InitOptions, type InitResult };\n"],"mappings":";;;;AAcA,MAAMA,aAAqC;CACzC,gBAAgB;EACd;EACA;EACA;EACD,CAAC,KAAK,KAAK;CACZ,yBAAyB;EACvB;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,KAAK,KAAK;CACb;AAED,MAAM,WAAW,YAAqC;CACpD,MAAMC,UAAoB,EAAE;CAC5B,MAAMC,UAAoB,EAAE;AAE5B,MAAK,MAAM,CAAC,cAAc,aAAa,OAAO,QAAQ,WAAW,EAAE;EACjE,MAAM,eAAe,KAAK,QAAQ,KAAK,aAAa;AAEpD,MADsB,WAAW,aAAa,IACzB,CAAC,QAAQ,OAAO;AACnC,WAAQ,KAAK,aAAa;AAC1B;;AAGF,MAAI,CAAC,QAAQ,OACX,eAAc,cAAc,UAAU,OAAO;AAE/C,UAAQ,KAAK,aAAa;;AAG5B,QAAO;EAAE;EAAS;EAAS"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/cli/providers.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Single source of truth for provider npm package names.
|
|
4
|
+
* Used by both doctor.ts and status.ts to avoid drift.
|
|
5
|
+
*/
|
|
6
|
+
declare const PROVIDER_NPM_PACKAGES: readonly ["openai", "@anthropic-ai/sdk", "@google/generative-ai", "@mistralai/mistralai", "@aws-sdk/client-bedrock-runtime"];
|
|
7
|
+
/**
|
|
8
|
+
* Provider entries with friendly names for status display.
|
|
9
|
+
* azure-openai shares the openai npm package.
|
|
10
|
+
*/
|
|
11
|
+
declare const PROVIDER_ENTRIES: readonly [{
|
|
12
|
+
readonly name: "openai";
|
|
13
|
+
readonly npm: "openai";
|
|
14
|
+
}, {
|
|
15
|
+
readonly name: "anthropic";
|
|
16
|
+
readonly npm: "@anthropic-ai/sdk";
|
|
17
|
+
}, {
|
|
18
|
+
readonly name: "gemini";
|
|
19
|
+
readonly npm: "@google/generative-ai";
|
|
20
|
+
}, {
|
|
21
|
+
readonly name: "azure-openai";
|
|
22
|
+
readonly npm: "openai";
|
|
23
|
+
}, {
|
|
24
|
+
readonly name: "bedrock";
|
|
25
|
+
readonly npm: "@aws-sdk/client-bedrock-runtime";
|
|
26
|
+
}, {
|
|
27
|
+
readonly name: "mistral";
|
|
28
|
+
readonly npm: "@mistralai/mistralai";
|
|
29
|
+
}];
|
|
30
|
+
//#endregion
|
|
31
|
+
export { PROVIDER_ENTRIES, PROVIDER_NPM_PACKAGES };
|
|
32
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","names":[],"sources":["../../src/cli/providers.ts"],"sourcesContent":[],"mappings":";;AAIA;AAYA;;cAZa;;;;;cAYA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/cli/providers.ts
|
|
2
|
+
/**
|
|
3
|
+
* Single source of truth for provider npm package names.
|
|
4
|
+
* Used by both doctor.ts and status.ts to avoid drift.
|
|
5
|
+
*/
|
|
6
|
+
const PROVIDER_NPM_PACKAGES = [
|
|
7
|
+
"openai",
|
|
8
|
+
"@anthropic-ai/sdk",
|
|
9
|
+
"@google/generative-ai",
|
|
10
|
+
"@mistralai/mistralai",
|
|
11
|
+
"@aws-sdk/client-bedrock-runtime"
|
|
12
|
+
];
|
|
13
|
+
/**
|
|
14
|
+
* Provider entries with friendly names for status display.
|
|
15
|
+
* azure-openai shares the openai npm package.
|
|
16
|
+
*/
|
|
17
|
+
const PROVIDER_ENTRIES = [
|
|
18
|
+
{
|
|
19
|
+
name: "openai",
|
|
20
|
+
npm: "openai"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "anthropic",
|
|
24
|
+
npm: "@anthropic-ai/sdk"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: "gemini",
|
|
28
|
+
npm: "@google/generative-ai"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: "azure-openai",
|
|
32
|
+
npm: "openai"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: "bedrock",
|
|
36
|
+
npm: "@aws-sdk/client-bedrock-runtime"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "mistral",
|
|
40
|
+
npm: "@mistralai/mistralai"
|
|
41
|
+
}
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
//#endregion
|
|
45
|
+
export { PROVIDER_ENTRIES, PROVIDER_NPM_PACKAGES };
|
|
46
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","names":[],"sources":["../../src/cli/providers.ts"],"sourcesContent":["/**\n * Single source of truth for provider npm package names.\n * Used by both doctor.ts and status.ts to avoid drift.\n */\nexport const PROVIDER_NPM_PACKAGES = [\n 'openai',\n '@anthropic-ai/sdk',\n '@google/generative-ai',\n '@mistralai/mistralai',\n '@aws-sdk/client-bedrock-runtime',\n] as const;\n\n/**\n * Provider entries with friendly names for status display.\n * azure-openai shares the openai npm package.\n */\nexport const PROVIDER_ENTRIES = [\n { name: 'openai', npm: 'openai' },\n { name: 'anthropic', npm: '@anthropic-ai/sdk' },\n { name: 'gemini', npm: '@google/generative-ai' },\n { name: 'azure-openai', npm: 'openai' },\n { name: 'bedrock', npm: '@aws-sdk/client-bedrock-runtime' },\n { name: 'mistral', npm: '@mistralai/mistralai' },\n] as const;\n"],"mappings":";;;;;AAIA,MAAa,wBAAwB;CACnC;CACA;CACA;CACA;CACA;CACD;;;;;AAMD,MAAa,mBAAmB;CAC9B;EAAE,MAAM;EAAU,KAAK;EAAU;CACjC;EAAE,MAAM;EAAa,KAAK;EAAqB;CAC/C;EAAE,MAAM;EAAU,KAAK;EAAyB;CAChD;EAAE,MAAM;EAAgB,KAAK;EAAU;CACvC;EAAE,MAAM;EAAW,KAAK;EAAmC;CAC3D;EAAE,MAAM;EAAW,KAAK;EAAwB;CACjD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/cli/status.d.ts
|
|
2
|
+
type StatusResult = {
|
|
3
|
+
version: string;
|
|
4
|
+
providers: Array<{
|
|
5
|
+
name: string;
|
|
6
|
+
installed: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
env: Record<string, boolean>;
|
|
9
|
+
patchActive: boolean;
|
|
10
|
+
};
|
|
11
|
+
declare const runStatus: (cwd: string) => StatusResult;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { type StatusResult, runStatus };
|
|
14
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","names":[],"sources":["../../src/cli/status.ts"],"sourcesContent":[],"mappings":";KAIK,YAAA;EAAA,OAAA,EAAA,MAAY;EAYX,SAAA,EAVO,KAkDZ,CAAA;;;;OAjDM;;;cASD,4BAA2B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { PROVIDER_ENTRIES } from "./providers.js";
|
|
2
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
|
|
5
|
+
//#region src/cli/status.ts
|
|
6
|
+
const isPackageInstalled = (cwd, pkg) => {
|
|
7
|
+
return existsSync(join(cwd, "node_modules", ...pkg.split("/")));
|
|
8
|
+
};
|
|
9
|
+
const runStatus = (cwd) => {
|
|
10
|
+
let version = "unknown";
|
|
11
|
+
try {
|
|
12
|
+
const pkgPath = join(cwd, "node_modules", "@amplitude", "ai", "package.json");
|
|
13
|
+
if (existsSync(pkgPath)) version = JSON.parse(readFileSync(pkgPath, "utf8")).version ?? "unknown";
|
|
14
|
+
} catch {}
|
|
15
|
+
const installedCache = /* @__PURE__ */ new Map();
|
|
16
|
+
const providers = PROVIDER_ENTRIES.map(({ name, npm }) => {
|
|
17
|
+
if (!installedCache.has(npm)) installedCache.set(npm, isPackageInstalled(cwd, npm));
|
|
18
|
+
return {
|
|
19
|
+
name,
|
|
20
|
+
installed: installedCache.get(npm) ?? false
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
const env = {
|
|
24
|
+
AMPLITUDE_AI_API_KEY: Boolean(process.env.AMPLITUDE_AI_API_KEY),
|
|
25
|
+
AMPLITUDE_AI_CONTENT_MODE: Boolean(process.env.AMPLITUDE_AI_CONTENT_MODE),
|
|
26
|
+
AMPLITUDE_AI_DEBUG: Boolean(process.env.AMPLITUDE_AI_DEBUG)
|
|
27
|
+
};
|
|
28
|
+
return {
|
|
29
|
+
version,
|
|
30
|
+
providers,
|
|
31
|
+
env,
|
|
32
|
+
patchActive: false
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { runStatus };
|
|
38
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","names":["env: Record<string, boolean>"],"sources":["../../src/cli/status.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { PROVIDER_ENTRIES } from './providers.js';\n\ntype StatusResult = {\n version: string;\n providers: Array<{ name: string; installed: boolean }>;\n env: Record<string, boolean>;\n patchActive: boolean;\n};\n\nconst isPackageInstalled = (cwd: string, pkg: string): boolean => {\n const nmPath = join(cwd, 'node_modules', ...pkg.split('/'));\n return existsSync(nmPath);\n};\n\nconst runStatus = (cwd: string): StatusResult => {\n let version = 'unknown';\n try {\n const pkgPath = join(\n cwd,\n 'node_modules',\n '@amplitude',\n 'ai',\n 'package.json',\n );\n if (existsSync(pkgPath)) {\n const pkg = JSON.parse(readFileSync(pkgPath, 'utf8')) as {\n version?: string;\n };\n version = pkg.version ?? 'unknown';\n }\n } catch {\n // fall through\n }\n\n const installedCache = new Map<string, boolean>();\n const providers = PROVIDER_ENTRIES.map(({ name, npm }) => {\n if (!installedCache.has(npm)) {\n installedCache.set(npm, isPackageInstalled(cwd, npm));\n }\n return { name, installed: installedCache.get(npm) ?? false };\n });\n\n const env: Record<string, boolean> = {\n AMPLITUDE_AI_API_KEY: Boolean(process.env.AMPLITUDE_AI_API_KEY),\n AMPLITUDE_AI_CONTENT_MODE: Boolean(process.env.AMPLITUDE_AI_CONTENT_MODE),\n AMPLITUDE_AI_DEBUG: Boolean(process.env.AMPLITUDE_AI_DEBUG),\n };\n\n return {\n version,\n providers,\n env,\n patchActive: false,\n };\n};\n\nexport { runStatus, type StatusResult };\n"],"mappings":";;;;;AAWA,MAAM,sBAAsB,KAAa,QAAyB;AAEhE,QAAO,WADQ,KAAK,KAAK,gBAAgB,GAAG,IAAI,MAAM,IAAI,CAAC,CAClC;;AAG3B,MAAM,aAAa,QAA8B;CAC/C,IAAI,UAAU;AACd,KAAI;EACF,MAAM,UAAU,KACd,KACA,gBACA,cACA,MACA,eACD;AACD,MAAI,WAAW,QAAQ,CAIrB,WAHY,KAAK,MAAM,aAAa,SAAS,OAAO,CAAC,CAGvC,WAAW;SAErB;CAIR,MAAM,iCAAiB,IAAI,KAAsB;CACjD,MAAM,YAAY,iBAAiB,KAAK,EAAE,MAAM,UAAU;AACxD,MAAI,CAAC,eAAe,IAAI,IAAI,CAC1B,gBAAe,IAAI,KAAK,mBAAmB,KAAK,IAAI,CAAC;AAEvD,SAAO;GAAE;GAAM,WAAW,eAAe,IAAI,IAAI,IAAI;GAAO;GAC5D;CAEF,MAAMA,MAA+B;EACnC,sBAAsB,QAAQ,QAAQ,IAAI,qBAAqB;EAC/D,2BAA2B,QAAQ,QAAQ,IAAI,0BAA0B;EACzE,oBAAoB,QAAQ,QAAQ,IAAI,mBAAmB;EAC5D;AAED,QAAO;EACL;EACA;EACA;EACA,aAAa;EACd"}
|