@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.
Files changed (510) hide show
  1. package/.cursor/skills/instrument-with-amplitude-ai/SKILL.md +50 -0
  2. package/AGENTS.md +79 -0
  3. package/LICENSE +21 -0
  4. package/README.md +2111 -0
  5. package/bin/amplitude-ai-completions.mjs +19 -0
  6. package/bin/amplitude-ai-doctor.mjs +26 -0
  7. package/bin/amplitude-ai-init.mjs +27 -0
  8. package/bin/amplitude-ai-instrument.mjs +52 -0
  9. package/bin/amplitude-ai-mcp.mjs +8 -0
  10. package/bin/amplitude-ai-register-catalog.mjs +156 -0
  11. package/bin/amplitude-ai-status.mjs +28 -0
  12. package/bin/amplitude-ai.mjs +43 -0
  13. package/bin/validate-catalog-constants.mjs +134 -0
  14. package/data/agent_event_catalog.json +1277 -0
  15. package/dist/_virtual/rolldown_runtime.js +31 -0
  16. package/dist/bound-agent.d.ts +56 -0
  17. package/dist/bound-agent.d.ts.map +1 -0
  18. package/dist/bound-agent.js +155 -0
  19. package/dist/bound-agent.js.map +1 -0
  20. package/dist/cli/doctor.d.ts +17 -0
  21. package/dist/cli/doctor.d.ts.map +1 -0
  22. package/dist/cli/doctor.js +89 -0
  23. package/dist/cli/doctor.js.map +1 -0
  24. package/dist/cli/init.d.ts +14 -0
  25. package/dist/cli/init.d.ts.map +1 -0
  26. package/dist/cli/init.js +40 -0
  27. package/dist/cli/init.js.map +1 -0
  28. package/dist/cli/providers.d.ts +32 -0
  29. package/dist/cli/providers.d.ts.map +1 -0
  30. package/dist/cli/providers.js +46 -0
  31. package/dist/cli/providers.js.map +1 -0
  32. package/dist/cli/status.d.ts +14 -0
  33. package/dist/cli/status.d.ts.map +1 -0
  34. package/dist/cli/status.js +38 -0
  35. package/dist/cli/status.js.map +1 -0
  36. package/dist/client.d.ts +246 -0
  37. package/dist/client.d.ts.map +1 -0
  38. package/dist/client.js +369 -0
  39. package/dist/client.js.map +1 -0
  40. package/dist/config.d.ts +60 -0
  41. package/dist/config.d.ts.map +1 -0
  42. package/dist/config.js +57 -0
  43. package/dist/config.js.map +1 -0
  44. package/dist/context.d.ts +44 -0
  45. package/dist/context.d.ts.map +1 -0
  46. package/dist/context.js +53 -0
  47. package/dist/context.js.map +1 -0
  48. package/dist/core/constants.d.ts +96 -0
  49. package/dist/core/constants.d.ts.map +1 -0
  50. package/dist/core/constants.js +105 -0
  51. package/dist/core/constants.js.map +1 -0
  52. package/dist/core/enrichments.d.ts +139 -0
  53. package/dist/core/enrichments.d.ts.map +1 -0
  54. package/dist/core/enrichments.js +177 -0
  55. package/dist/core/enrichments.js.map +1 -0
  56. package/dist/core/privacy.d.ts +53 -0
  57. package/dist/core/privacy.d.ts.map +1 -0
  58. package/dist/core/privacy.js +235 -0
  59. package/dist/core/privacy.js.map +1 -0
  60. package/dist/core/tracking.d.ts +242 -0
  61. package/dist/core/tracking.d.ts.map +1 -0
  62. package/dist/core/tracking.js +469 -0
  63. package/dist/core/tracking.js.map +1 -0
  64. package/dist/decorators.d.ts +109 -0
  65. package/dist/decorators.d.ts.map +1 -0
  66. package/dist/decorators.js +281 -0
  67. package/dist/decorators.js.map +1 -0
  68. package/dist/exceptions.d.ts +19 -0
  69. package/dist/exceptions.d.ts.map +1 -0
  70. package/dist/exceptions.js +35 -0
  71. package/dist/exceptions.js.map +1 -0
  72. package/dist/index.d.ts +37 -0
  73. package/dist/index.js +38 -0
  74. package/dist/integrations/anthropic-tools.d.ts +38 -0
  75. package/dist/integrations/anthropic-tools.d.ts.map +1 -0
  76. package/dist/integrations/anthropic-tools.js +175 -0
  77. package/dist/integrations/anthropic-tools.js.map +1 -0
  78. package/dist/integrations/crewai.d.ts +14 -0
  79. package/dist/integrations/crewai.d.ts.map +1 -0
  80. package/dist/integrations/crewai.js +19 -0
  81. package/dist/integrations/crewai.js.map +1 -0
  82. package/dist/integrations/langchain.d.ts +37 -0
  83. package/dist/integrations/langchain.d.ts.map +1 -0
  84. package/dist/integrations/langchain.js +189 -0
  85. package/dist/integrations/langchain.js.map +1 -0
  86. package/dist/integrations/llamaindex.d.ts +44 -0
  87. package/dist/integrations/llamaindex.d.ts.map +1 -0
  88. package/dist/integrations/llamaindex.js +144 -0
  89. package/dist/integrations/llamaindex.js.map +1 -0
  90. package/dist/integrations/openai-agents.d.ts +35 -0
  91. package/dist/integrations/openai-agents.d.ts.map +1 -0
  92. package/dist/integrations/openai-agents.js +248 -0
  93. package/dist/integrations/openai-agents.js.map +1 -0
  94. package/dist/integrations/opentelemetry.d.ts +40 -0
  95. package/dist/integrations/opentelemetry.d.ts.map +1 -0
  96. package/dist/integrations/opentelemetry.js +146 -0
  97. package/dist/integrations/opentelemetry.js.map +1 -0
  98. package/dist/internals.d.ts +5 -0
  99. package/dist/internals.js +5 -0
  100. package/dist/mcp/contract.d.ts +27 -0
  101. package/dist/mcp/contract.d.ts.map +1 -0
  102. package/dist/mcp/contract.js +25 -0
  103. package/dist/mcp/contract.js.map +1 -0
  104. package/dist/mcp/index.d.ts +4 -0
  105. package/dist/mcp/index.js +5 -0
  106. package/dist/mcp/patterns.d.ts +11 -0
  107. package/dist/mcp/patterns.d.ts.map +1 -0
  108. package/dist/mcp/patterns.js +38 -0
  109. package/dist/mcp/patterns.js.map +1 -0
  110. package/dist/mcp/server.d.ts +10 -0
  111. package/dist/mcp/server.d.ts.map +1 -0
  112. package/dist/mcp/server.js +241 -0
  113. package/dist/mcp/server.js.map +1 -0
  114. package/dist/mcp/validate-file.d.ts +20 -0
  115. package/dist/mcp/validate-file.d.ts.map +1 -0
  116. package/dist/mcp/validate-file.js +122 -0
  117. package/dist/mcp/validate-file.js.map +1 -0
  118. package/dist/middleware.d.ts +32 -0
  119. package/dist/middleware.d.ts.map +1 -0
  120. package/dist/middleware.js +67 -0
  121. package/dist/middleware.js.map +1 -0
  122. 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
  123. 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
  124. 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
  125. 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
  126. 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
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. 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
  140. 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
  141. 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
  142. 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
  143. 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
  144. 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
  145. 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
  146. 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
  147. 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
  148. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1262 -0
  149. 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
  150. 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
  151. 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
  152. package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/formats.js +195 -0
  153. package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/formats.js.map +1 -0
  154. package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/index.js +44 -0
  155. package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/index.js.map +1 -0
  156. package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/limit.js +88 -0
  157. package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/limit.js.map +1 -0
  158. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js +107 -0
  159. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js.map +1 -0
  160. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js +142 -0
  161. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  162. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js +678 -0
  163. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  164. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js +145 -0
  165. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  166. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js +106 -0
  167. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js.map +1 -0
  168. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js +227 -0
  169. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js.map +1 -0
  170. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/names.js +33 -0
  171. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/names.js.map +1 -0
  172. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js +22 -0
  173. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  174. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js +137 -0
  175. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  176. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js +65 -0
  177. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js.map +1 -0
  178. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/util.js +150 -0
  179. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/util.js.map +1 -0
  180. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js +27 -0
  181. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  182. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js +52 -0
  183. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  184. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js +176 -0
  185. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  186. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  187. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  188. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js +437 -0
  189. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  190. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js +117 -0
  191. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  192. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js +76 -0
  193. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  194. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js +587 -0
  195. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js.map +1 -0
  196. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/data.js +22 -0
  197. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/data.js.map +1 -0
  198. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.js +145 -0
  199. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.js.map +1 -0
  200. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js +16 -0
  201. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  202. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js +29 -0
  203. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  204. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js +16 -0
  205. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  206. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js +20 -0
  207. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  208. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +61 -0
  209. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  210. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +101 -0
  211. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  212. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +34 -0
  213. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  214. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +21 -0
  215. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  216. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +94 -0
  217. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  218. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +91 -0
  219. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  220. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  221. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  222. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js +64 -0
  223. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  224. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js +63 -0
  225. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  226. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +39 -0
  227. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  228. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js +36 -0
  229. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  230. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +56 -0
  231. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  232. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +66 -0
  233. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  234. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +22 -0
  235. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  236. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +57 -0
  237. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  238. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +46 -0
  239. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  240. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +22 -0
  241. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  242. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js +134 -0
  243. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  244. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js +19 -0
  245. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  246. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js +27 -0
  247. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  248. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js +116 -0
  249. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  250. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +106 -0
  251. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  252. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +18 -0
  253. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  254. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js +31 -0
  255. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  256. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js +97 -0
  257. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  258. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js +15 -0
  259. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  260. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js +27 -0
  261. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  262. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js +32 -0
  263. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  264. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js +54 -0
  265. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  266. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js +53 -0
  267. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  268. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +33 -0
  269. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  270. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +38 -0
  271. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  272. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +52 -0
  273. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  274. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +33 -0
  275. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  276. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +32 -0
  277. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  278. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +43 -0
  279. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  280. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js +77 -0
  281. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  282. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +75 -0
  283. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  284. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +37 -0
  285. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map +1 -0
  286. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js +240 -0
  287. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js.map +1 -0
  288. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js +194 -0
  289. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js.map +1 -0
  290. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js +286 -0
  291. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js.map +1 -0
  292. package/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +82 -0
  293. package/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js.map +1 -0
  294. 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
  295. 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
  296. 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
  297. 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
  298. 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
  299. 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
  300. 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
  301. 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
  302. 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
  303. 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
  304. 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
  305. 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
  306. 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
  307. 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
  308. 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
  309. 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
  310. 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
  311. 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
  312. 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
  313. 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
  314. 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
  315. 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
  316. 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
  317. 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
  318. 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
  319. 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
  320. 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
  321. 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
  322. 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
  323. 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
  324. 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
  325. 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
  326. 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
  327. 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
  328. 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
  329. 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
  330. 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
  331. 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
  332. 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
  333. 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
  334. 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
  335. 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
  336. 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
  337. 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
  338. 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
  339. 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
  340. 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
  341. 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
  342. 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
  343. 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
  344. 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
  345. 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
  346. 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
  347. 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
  348. 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
  349. 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
  350. 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
  351. 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
  352. 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
  353. 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
  354. 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
  355. 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
  356. 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
  357. 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
  358. 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
  359. 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
  360. 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
  361. 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
  362. 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
  363. 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
  364. 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
  365. 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
  366. 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
  367. 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
  368. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +104 -0
  369. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js.map +1 -0
  370. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +11 -0
  371. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js.map +1 -0
  372. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +10 -0
  373. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js.map +1 -0
  374. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +110 -0
  375. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js.map +1 -0
  376. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +99 -0
  377. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js.map +1 -0
  378. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +84 -0
  379. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js.map +1 -0
  380. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +3160 -0
  381. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js.map +1 -0
  382. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/errors.js +23 -0
  383. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/errors.js.map +1 -0
  384. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/iso.js +38 -0
  385. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/iso.js.map +1 -0
  386. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/parse.js +12 -0
  387. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/parse.js.map +1 -0
  388. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/schemas.js +611 -0
  389. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/schemas.js.map +1 -0
  390. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/api.js +437 -0
  391. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/api.js.map +1 -0
  392. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/checks.js +360 -0
  393. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/checks.js.map +1 -0
  394. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/core.js +50 -0
  395. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/core.js.map +1 -0
  396. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/doc.js +34 -0
  397. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/doc.js.map +1 -0
  398. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/errors.js +71 -0
  399. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/errors.js.map +1 -0
  400. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/parse.js +74 -0
  401. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/parse.js.map +1 -0
  402. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/regexes.js +63 -0
  403. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/regexes.js.map +1 -0
  404. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/registries.js +50 -0
  405. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/registries.js.map +1 -0
  406. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/schemas.js +1098 -0
  407. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/schemas.js.map +1 -0
  408. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/to-json-schema.js +599 -0
  409. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
  410. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/util.js +267 -0
  411. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/util.js.map +1 -0
  412. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/versions.js +10 -0
  413. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/versions.js.map +1 -0
  414. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/mini/schemas.js +50 -0
  415. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/mini/schemas.js.map +1 -0
  416. package/dist/patching.d.ts +59 -0
  417. package/dist/patching.d.ts.map +1 -0
  418. package/dist/patching.js +891 -0
  419. package/dist/patching.js.map +1 -0
  420. package/dist/propagation.d.ts +8 -0
  421. package/dist/propagation.d.ts.map +1 -0
  422. package/dist/propagation.js +46 -0
  423. package/dist/propagation.js.map +1 -0
  424. package/dist/providers/anthropic.d.ts +44 -0
  425. package/dist/providers/anthropic.d.ts.map +1 -0
  426. package/dist/providers/anthropic.js +287 -0
  427. package/dist/providers/anthropic.js.map +1 -0
  428. package/dist/providers/azure-openai.d.ts +32 -0
  429. package/dist/providers/azure-openai.d.ts.map +1 -0
  430. package/dist/providers/azure-openai.js +39 -0
  431. package/dist/providers/azure-openai.js.map +1 -0
  432. package/dist/providers/base.d.ts +70 -0
  433. package/dist/providers/base.d.ts.map +1 -0
  434. package/dist/providers/base.js +141 -0
  435. package/dist/providers/base.js.map +1 -0
  436. package/dist/providers/bedrock.d.ts +41 -0
  437. package/dist/providers/bedrock.d.ts.map +1 -0
  438. package/dist/providers/bedrock.js +229 -0
  439. package/dist/providers/bedrock.js.map +1 -0
  440. package/dist/providers/gemini.d.ts +34 -0
  441. package/dist/providers/gemini.d.ts.map +1 -0
  442. package/dist/providers/gemini.js +225 -0
  443. package/dist/providers/gemini.js.map +1 -0
  444. package/dist/providers/mistral.d.ts +32 -0
  445. package/dist/providers/mistral.d.ts.map +1 -0
  446. package/dist/providers/mistral.js +218 -0
  447. package/dist/providers/mistral.js.map +1 -0
  448. package/dist/providers/openai.d.ts +61 -0
  449. package/dist/providers/openai.d.ts.map +1 -0
  450. package/dist/providers/openai.js +530 -0
  451. package/dist/providers/openai.js.map +1 -0
  452. package/dist/register.d.ts +1 -0
  453. package/dist/register.js +46 -0
  454. package/dist/register.js.map +1 -0
  455. package/dist/session.d.ts +46 -0
  456. package/dist/session.d.ts.map +1 -0
  457. package/dist/session.js +144 -0
  458. package/dist/session.js.map +1 -0
  459. package/dist/tenant.d.ts +30 -0
  460. package/dist/tenant.d.ts.map +1 -0
  461. package/dist/tenant.js +23 -0
  462. package/dist/tenant.js.map +1 -0
  463. package/dist/testing.d.ts +46 -0
  464. package/dist/testing.d.ts.map +1 -0
  465. package/dist/testing.js +120 -0
  466. package/dist/testing.js.map +1 -0
  467. package/dist/types.d.ts +384 -0
  468. package/dist/types.d.ts.map +1 -0
  469. package/dist/types.js +13 -0
  470. package/dist/types.js.map +1 -0
  471. package/dist/utils/costs.d.ts +27 -0
  472. package/dist/utils/costs.d.ts.map +1 -0
  473. package/dist/utils/costs.js +63 -0
  474. package/dist/utils/costs.js.map +1 -0
  475. package/dist/utils/debug.d.ts +6 -0
  476. package/dist/utils/debug.d.ts.map +1 -0
  477. package/dist/utils/debug.js +73 -0
  478. package/dist/utils/debug.js.map +1 -0
  479. package/dist/utils/logger.d.ts +11 -0
  480. package/dist/utils/logger.d.ts.map +1 -0
  481. package/dist/utils/logger.js +18 -0
  482. package/dist/utils/logger.js.map +1 -0
  483. package/dist/utils/model-tiers.d.ts +8 -0
  484. package/dist/utils/model-tiers.d.ts.map +1 -0
  485. package/dist/utils/model-tiers.js +76 -0
  486. package/dist/utils/model-tiers.js.map +1 -0
  487. package/dist/utils/providers.d.ts +5 -0
  488. package/dist/utils/providers.d.ts.map +1 -0
  489. package/dist/utils/providers.js +20 -0
  490. package/dist/utils/providers.js.map +1 -0
  491. package/dist/utils/resolve-module.d.ts +5 -0
  492. package/dist/utils/resolve-module.d.ts.map +1 -0
  493. package/dist/utils/resolve-module.js +29 -0
  494. package/dist/utils/resolve-module.js.map +1 -0
  495. package/dist/utils/streaming.d.ts +55 -0
  496. package/dist/utils/streaming.d.ts.map +1 -0
  497. package/dist/utils/streaming.js +72 -0
  498. package/dist/utils/streaming.js.map +1 -0
  499. package/dist/utils/tokens.d.ts +16 -0
  500. package/dist/utils/tokens.d.ts.map +1 -0
  501. package/dist/utils/tokens.js +80 -0
  502. package/dist/utils/tokens.js.map +1 -0
  503. package/dist/wrappers.d.ts +37 -0
  504. package/dist/wrappers.d.ts.map +1 -0
  505. package/dist/wrappers.js +61 -0
  506. package/dist/wrappers.js.map +1 -0
  507. package/llms-full.txt +127 -0
  508. package/llms.txt +28 -0
  509. package/mcp.schema.json +18 -0
  510. package/package.json +189 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","names":["defaultLogger: Logger"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["export interface Logger {\n debug(message: string): void;\n error(message: string): void;\n warn(message: string): void;\n info(message: string): void;\n}\n\nconst defaultLogger: Logger = {\n debug: () => {},\n error: (msg) => console.error(`[amplitude-ai] ${msg}`),\n warn: (msg) => console.warn(`[amplitude-ai] ${msg}`),\n info: () => {},\n};\n\nexport function getLogger(amplitude?: unknown): Logger {\n if (amplitude && typeof amplitude === 'object') {\n const config = (amplitude as Record<string, unknown>).configuration as\n | Record<string, unknown>\n | undefined;\n if (config?.loggerProvider && typeof config.loggerProvider === 'object') {\n return config.loggerProvider as Logger;\n }\n }\n return defaultLogger;\n}\n"],"mappings":";AAOA,MAAMA,gBAAwB;CAC5B,aAAa;CACb,QAAQ,QAAQ,QAAQ,MAAM,kBAAkB,MAAM;CACtD,OAAO,QAAQ,QAAQ,KAAK,kBAAkB,MAAM;CACpD,YAAY;CACb;AAED,SAAgB,UAAU,WAA6B;AACrD,KAAI,aAAa,OAAO,cAAc,UAAU;EAC9C,MAAM,SAAU,UAAsC;AAGtD,MAAI,QAAQ,kBAAkB,OAAO,OAAO,mBAAmB,SAC7D,QAAO,OAAO;;AAGlB,QAAO"}
@@ -0,0 +1,8 @@
1
+ //#region src/utils/model-tiers.d.ts
2
+ declare const TIER_FAST = "fast";
3
+ declare const TIER_STANDARD = "standard";
4
+ declare const TIER_REASONING = "reasoning";
5
+ declare function inferModelTier(modelName: string): string;
6
+ //#endregion
7
+ export { TIER_FAST, TIER_REASONING, TIER_STANDARD, inferModelTier };
8
+ //# sourceMappingURL=model-tiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-tiers.d.ts","names":[],"sources":["../../src/utils/model-tiers.ts"],"sourcesContent":[],"mappings":";cAAa,SAAA;AAAA,cACA,aAAA,GADS,UAAA;AACT,cACA,cAAA,GADa,WAAA;AACb,iBAwEG,cAAA,CAxEW,SAAA,EAAA,MAAA,CAAA,EAAA,MAAA"}
@@ -0,0 +1,76 @@
1
+ //#region src/utils/model-tiers.ts
2
+ const TIER_FAST = "fast";
3
+ const TIER_STANDARD = "standard";
4
+ const TIER_REASONING = "reasoning";
5
+ const MODEL_TIER_RULES = [
6
+ ["gpt-4o-mini", TIER_FAST],
7
+ ["gpt-4.1-mini", TIER_FAST],
8
+ ["gpt-4.1-nano", TIER_FAST],
9
+ ["gpt-3.5", TIER_FAST],
10
+ ["o1-mini", TIER_FAST],
11
+ ["o3-mini", TIER_FAST],
12
+ ["o4-mini", TIER_FAST],
13
+ ["o1-pro", TIER_REASONING],
14
+ ["o1-preview", TIER_REASONING],
15
+ ["o1", TIER_REASONING],
16
+ ["o3", TIER_REASONING],
17
+ ["o4", TIER_REASONING],
18
+ ["gpt-4o", TIER_STANDARD],
19
+ ["gpt-4.1", TIER_STANDARD],
20
+ ["gpt-4-turbo", TIER_STANDARD],
21
+ ["gpt-4", TIER_STANDARD],
22
+ ["claude-3-haiku", TIER_FAST],
23
+ ["claude-3.5-haiku", TIER_FAST],
24
+ ["claude-haiku", TIER_FAST],
25
+ ["claude-3-opus", TIER_STANDARD],
26
+ ["claude-opus", TIER_STANDARD],
27
+ ["claude-sonnet", TIER_STANDARD],
28
+ ["claude-3.5-sonnet", TIER_STANDARD],
29
+ ["claude-3-sonnet", TIER_STANDARD],
30
+ ["claude-4", TIER_STANDARD],
31
+ ["gemini-2.0-flash", TIER_FAST],
32
+ ["gemini-1.5-flash", TIER_FAST],
33
+ ["gemini-flash", TIER_FAST],
34
+ ["gemini-2.0-pro", TIER_STANDARD],
35
+ ["gemini-1.5-pro", TIER_STANDARD],
36
+ ["gemini-pro", TIER_STANDARD],
37
+ ["gemini-ultra", TIER_REASONING],
38
+ ["mistral-small", TIER_FAST],
39
+ ["mistral-tiny", TIER_FAST],
40
+ ["pixtral", TIER_FAST],
41
+ ["mistral-large", TIER_STANDARD],
42
+ ["mistral-medium", TIER_STANDARD],
43
+ ["mixtral", TIER_STANDARD],
44
+ ["mistral-nemo", TIER_STANDARD],
45
+ ["llama-3.3", TIER_STANDARD],
46
+ ["llama-3.2", TIER_FAST],
47
+ ["llama-3.1-405b", TIER_STANDARD],
48
+ ["llama-3.1-70b", TIER_STANDARD],
49
+ ["llama-3.1-8b", TIER_FAST],
50
+ ["llama-3-70b", TIER_STANDARD],
51
+ ["llama-3-8b", TIER_FAST],
52
+ ["llama", TIER_STANDARD],
53
+ ["command-r-plus", TIER_STANDARD],
54
+ ["command-r", TIER_FAST],
55
+ ["command-light", TIER_FAST],
56
+ ["command", TIER_STANDARD],
57
+ ["deepseek-r1", TIER_REASONING],
58
+ ["deepseek-v3", TIER_STANDARD],
59
+ ["deepseek-chat", TIER_STANDARD],
60
+ ["deepseek-coder", TIER_STANDARD],
61
+ ["deepseek", TIER_STANDARD]
62
+ ];
63
+ function inferModelTier(modelName) {
64
+ const lower = modelName.toLowerCase();
65
+ const normalized = lower.includes(":") ? lower.split(":", 2)[1] ?? lower : lower;
66
+ for (const [pattern, tier] of MODEL_TIER_RULES) {
67
+ if (pattern === "o1" || pattern === "o3" || pattern === "o4") continue;
68
+ if (normalized.includes(pattern)) return tier;
69
+ }
70
+ if (normalized.match(/(?:^|[^a-z0-9])(o[134])(?:$|[^a-z0-9])/) != null) return TIER_REASONING;
71
+ return TIER_STANDARD;
72
+ }
73
+
74
+ //#endregion
75
+ export { TIER_FAST, TIER_REASONING, TIER_STANDARD, inferModelTier };
76
+ //# sourceMappingURL=model-tiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-tiers.js","names":["MODEL_TIER_RULES: Array<[string, string]>"],"sources":["../../src/utils/model-tiers.ts"],"sourcesContent":["export const TIER_FAST = 'fast';\nexport const TIER_STANDARD = 'standard';\nexport const TIER_REASONING = 'reasoning';\n\nconst MODEL_TIER_RULES: Array<[string, string]> = [\n // OpenAI fast\n ['gpt-4o-mini', TIER_FAST],\n ['gpt-4.1-mini', TIER_FAST],\n ['gpt-4.1-nano', TIER_FAST],\n ['gpt-3.5', TIER_FAST],\n // OpenAI reasoning + o-series\n ['o1-mini', TIER_FAST],\n ['o3-mini', TIER_FAST],\n ['o4-mini', TIER_FAST],\n ['o1-pro', TIER_REASONING],\n ['o1-preview', TIER_REASONING],\n ['o1', TIER_REASONING],\n ['o3', TIER_REASONING],\n ['o4', TIER_REASONING],\n // OpenAI standard\n ['gpt-4o', TIER_STANDARD],\n ['gpt-4.1', TIER_STANDARD],\n ['gpt-4-turbo', TIER_STANDARD],\n ['gpt-4', TIER_STANDARD],\n\n // Anthropic\n ['claude-3-haiku', TIER_FAST],\n ['claude-3.5-haiku', TIER_FAST],\n ['claude-haiku', TIER_FAST],\n ['claude-3-opus', TIER_STANDARD],\n ['claude-opus', TIER_STANDARD],\n ['claude-sonnet', TIER_STANDARD],\n ['claude-3.5-sonnet', TIER_STANDARD],\n ['claude-3-sonnet', TIER_STANDARD],\n ['claude-4', TIER_STANDARD],\n\n // Gemini\n ['gemini-2.0-flash', TIER_FAST],\n ['gemini-1.5-flash', TIER_FAST],\n ['gemini-flash', TIER_FAST],\n ['gemini-2.0-pro', TIER_STANDARD],\n ['gemini-1.5-pro', TIER_STANDARD],\n ['gemini-pro', TIER_STANDARD],\n ['gemini-ultra', TIER_REASONING],\n\n // Mistral\n ['mistral-small', TIER_FAST],\n ['mistral-tiny', TIER_FAST],\n ['pixtral', TIER_FAST],\n ['mistral-large', TIER_STANDARD],\n ['mistral-medium', TIER_STANDARD],\n ['mixtral', TIER_STANDARD],\n ['mistral-nemo', TIER_STANDARD],\n\n // Bedrock/meta + others\n ['llama-3.3', TIER_STANDARD],\n ['llama-3.2', TIER_FAST],\n ['llama-3.1-405b', TIER_STANDARD],\n ['llama-3.1-70b', TIER_STANDARD],\n ['llama-3.1-8b', TIER_FAST],\n ['llama-3-70b', TIER_STANDARD],\n ['llama-3-8b', TIER_FAST],\n ['llama', TIER_STANDARD],\n ['command-r-plus', TIER_STANDARD],\n ['command-r', TIER_FAST],\n ['command-light', TIER_FAST],\n ['command', TIER_STANDARD],\n ['deepseek-r1', TIER_REASONING],\n ['deepseek-v3', TIER_STANDARD],\n ['deepseek-chat', TIER_STANDARD],\n ['deepseek-coder', TIER_STANDARD],\n ['deepseek', TIER_STANDARD],\n];\n\nexport function inferModelTier(modelName: string): string {\n const lower = modelName.toLowerCase();\n const normalized = lower.includes(':')\n ? (lower.split(':', 2)[1] ?? lower)\n : lower;\n\n for (const [pattern, tier] of MODEL_TIER_RULES) {\n if (pattern === 'o1' || pattern === 'o3' || pattern === 'o4') {\n continue;\n }\n if (normalized.includes(pattern)) return tier;\n }\n\n // Avoid false positives for short o-series identifiers.\n // Examples that should NOT match:\n // - \"o100\"\n // - \"co3-something\"\n // Examples that SHOULD match:\n // - \"o1\"\n // - \"o1-2024-12-17\"\n // - \"o3-high\"\n const shortOseriesMatch = normalized.match(\n /(?:^|[^a-z0-9])(o[134])(?:$|[^a-z0-9])/,\n );\n if (shortOseriesMatch != null) {\n return TIER_REASONING;\n }\n\n return TIER_STANDARD;\n}\n"],"mappings":";AAAA,MAAa,YAAY;AACzB,MAAa,gBAAgB;AAC7B,MAAa,iBAAiB;AAE9B,MAAMA,mBAA4C;CAEhD,CAAC,eAAe,UAAU;CAC1B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,WAAW,UAAU;CAEtB,CAAC,WAAW,UAAU;CACtB,CAAC,WAAW,UAAU;CACtB,CAAC,WAAW,UAAU;CACtB,CAAC,UAAU,eAAe;CAC1B,CAAC,cAAc,eAAe;CAC9B,CAAC,MAAM,eAAe;CACtB,CAAC,MAAM,eAAe;CACtB,CAAC,MAAM,eAAe;CAEtB,CAAC,UAAU,cAAc;CACzB,CAAC,WAAW,cAAc;CAC1B,CAAC,eAAe,cAAc;CAC9B,CAAC,SAAS,cAAc;CAGxB,CAAC,kBAAkB,UAAU;CAC7B,CAAC,oBAAoB,UAAU;CAC/B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,iBAAiB,cAAc;CAChC,CAAC,eAAe,cAAc;CAC9B,CAAC,iBAAiB,cAAc;CAChC,CAAC,qBAAqB,cAAc;CACpC,CAAC,mBAAmB,cAAc;CAClC,CAAC,YAAY,cAAc;CAG3B,CAAC,oBAAoB,UAAU;CAC/B,CAAC,oBAAoB,UAAU;CAC/B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,kBAAkB,cAAc;CACjC,CAAC,kBAAkB,cAAc;CACjC,CAAC,cAAc,cAAc;CAC7B,CAAC,gBAAgB,eAAe;CAGhC,CAAC,iBAAiB,UAAU;CAC5B,CAAC,gBAAgB,UAAU;CAC3B,CAAC,WAAW,UAAU;CACtB,CAAC,iBAAiB,cAAc;CAChC,CAAC,kBAAkB,cAAc;CACjC,CAAC,WAAW,cAAc;CAC1B,CAAC,gBAAgB,cAAc;CAG/B,CAAC,aAAa,cAAc;CAC5B,CAAC,aAAa,UAAU;CACxB,CAAC,kBAAkB,cAAc;CACjC,CAAC,iBAAiB,cAAc;CAChC,CAAC,gBAAgB,UAAU;CAC3B,CAAC,eAAe,cAAc;CAC9B,CAAC,cAAc,UAAU;CACzB,CAAC,SAAS,cAAc;CACxB,CAAC,kBAAkB,cAAc;CACjC,CAAC,aAAa,UAAU;CACxB,CAAC,iBAAiB,UAAU;CAC5B,CAAC,WAAW,cAAc;CAC1B,CAAC,eAAe,eAAe;CAC/B,CAAC,eAAe,cAAc;CAC9B,CAAC,iBAAiB,cAAc;CAChC,CAAC,kBAAkB,cAAc;CACjC,CAAC,YAAY,cAAc;CAC5B;AAED,SAAgB,eAAe,WAA2B;CACxD,MAAM,QAAQ,UAAU,aAAa;CACrC,MAAM,aAAa,MAAM,SAAS,IAAI,GACjC,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,QAC3B;AAEJ,MAAK,MAAM,CAAC,SAAS,SAAS,kBAAkB;AAC9C,MAAI,YAAY,QAAQ,YAAY,QAAQ,YAAY,KACtD;AAEF,MAAI,WAAW,SAAS,QAAQ,CAAE,QAAO;;AAc3C,KAH0B,WAAW,MACnC,yCACD,IACwB,KACvB,QAAO;AAGT,QAAO"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/providers.d.ts
2
+ declare function inferProviderFromModel(modelName: string): string;
3
+ //#endregion
4
+ export { inferProviderFromModel };
5
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","names":[],"sources":["../../src/utils/providers.ts"],"sourcesContent":[],"mappings":";iBAYgB,sBAAA"}
@@ -0,0 +1,20 @@
1
+ //#region src/utils/providers.ts
2
+ const PROVIDER_PATTERNS = [
3
+ [/^gpt-|^o[1-9]|^dall-e|^text-embedding|^whisper|^tts/i, "openai"],
4
+ [/^claude/i, "anthropic"],
5
+ [/^gemini|^palm/i, "gemini"],
6
+ [/^mistral|^codestral|^open-mistral|^pixtral/i, "mistral"],
7
+ [/^command|^embed-/i, "cohere"],
8
+ [/^amazon\.|^titan/i, "amazon"],
9
+ [/^llama|^meta\./i, "meta"],
10
+ [/^jamba|^ai21\./i, "ai21"],
11
+ [/^deepseek/i, "deepseek"]
12
+ ];
13
+ function inferProviderFromModel(modelName) {
14
+ for (const [pattern, provider] of PROVIDER_PATTERNS) if (pattern.test(modelName)) return provider;
15
+ return "openai";
16
+ }
17
+
18
+ //#endregion
19
+ export { inferProviderFromModel };
20
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","names":["PROVIDER_PATTERNS: Array<[RegExp, string]>"],"sources":["../../src/utils/providers.ts"],"sourcesContent":["const PROVIDER_PATTERNS: Array<[RegExp, string]> = [\n [/^gpt-|^o[1-9]|^dall-e|^text-embedding|^whisper|^tts/i, 'openai'],\n [/^claude/i, 'anthropic'],\n [/^gemini|^palm/i, 'gemini'],\n [/^mistral|^codestral|^open-mistral|^pixtral/i, 'mistral'],\n [/^command|^embed-/i, 'cohere'],\n [/^amazon\\.|^titan/i, 'amazon'],\n [/^llama|^meta\\./i, 'meta'],\n [/^jamba|^ai21\\./i, 'ai21'],\n [/^deepseek/i, 'deepseek'],\n];\n\nexport function inferProviderFromModel(modelName: string): string {\n for (const [pattern, provider] of PROVIDER_PATTERNS) {\n if (pattern.test(modelName)) return provider;\n }\n return 'openai';\n}\n"],"mappings":";AAAA,MAAMA,oBAA6C;CACjD,CAAC,wDAAwD,SAAS;CAClE,CAAC,YAAY,YAAY;CACzB,CAAC,kBAAkB,SAAS;CAC5B,CAAC,+CAA+C,UAAU;CAC1D,CAAC,qBAAqB,SAAS;CAC/B,CAAC,qBAAqB,SAAS;CAC/B,CAAC,mBAAmB,OAAO;CAC3B,CAAC,mBAAmB,OAAO;CAC3B,CAAC,cAAc,WAAW;CAC3B;AAED,SAAgB,uBAAuB,WAA2B;AAChE,MAAK,MAAM,CAAC,SAAS,aAAa,kBAChC,KAAI,QAAQ,KAAK,UAAU,CAAE,QAAO;AAEtC,QAAO"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/resolve-module.d.ts
2
+ declare function tryRequire(name: string): Record<string, unknown> | null;
3
+ //#endregion
4
+ export { tryRequire };
5
+ //# sourceMappingURL=resolve-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-module.d.ts","names":[],"sources":["../../src/utils/resolve-module.ts"],"sourcesContent":[],"mappings":";iBAmBgB,UAAA,gBAA0B"}
@@ -0,0 +1,29 @@
1
+ import { createRequire } from "node:module";
2
+
3
+ //#region src/utils/resolve-module.ts
4
+ /**
5
+ * Wrapper around `createRequire()` for optional dependency loading.
6
+ *
7
+ * This package ships as ESM, so bare `require()` is not available at runtime.
8
+ * Keeping this in a single module lets tests vi.mock() optional resolution.
9
+ *
10
+ * In bundler environments (Turbopack, Webpack, etc.) `createRequire` or
11
+ * `import.meta.url` may be rewritten to nonsensical values, so we wrap
12
+ * the initialisation in a try-catch and degrade gracefully to `null`.
13
+ */
14
+ let localRequire = null;
15
+ try {
16
+ localRequire = createRequire(import.meta.url);
17
+ } catch {}
18
+ function tryRequire(name) {
19
+ if (localRequire == null) return null;
20
+ try {
21
+ return localRequire(name);
22
+ } catch {
23
+ return null;
24
+ }
25
+ }
26
+
27
+ //#endregion
28
+ export { tryRequire };
29
+ //# sourceMappingURL=resolve-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-module.js","names":["localRequire: NodeRequire | null"],"sources":["../../src/utils/resolve-module.ts"],"sourcesContent":["/**\n * Wrapper around `createRequire()` for optional dependency loading.\n *\n * This package ships as ESM, so bare `require()` is not available at runtime.\n * Keeping this in a single module lets tests vi.mock() optional resolution.\n *\n * In bundler environments (Turbopack, Webpack, etc.) `createRequire` or\n * `import.meta.url` may be rewritten to nonsensical values, so we wrap\n * the initialisation in a try-catch and degrade gracefully to `null`.\n */\nimport { createRequire } from 'node:module';\n\nlet localRequire: NodeRequire | null = null;\ntry {\n localRequire = createRequire(import.meta.url);\n} catch {\n // Bundler environment — import.meta.url is invalid or createRequire unavailable.\n}\n\nexport function tryRequire(name: string): Record<string, unknown> | null {\n if (localRequire == null) return null;\n try {\n return localRequire(name) as Record<string, unknown>;\n } catch {\n return null;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAIA,eAAmC;AACvC,IAAI;AACF,gBAAe,cAAc,OAAO,KAAK,IAAI;QACvC;AAIR,SAAgB,WAAW,MAA8C;AACvE,KAAI,gBAAgB,KAAM,QAAO;AACjC,KAAI;AACF,SAAO,aAAa,KAAK;SACnB;AACN,SAAO"}
@@ -0,0 +1,55 @@
1
+ //#region src/utils/streaming.d.ts
2
+ interface StreamingAccumulatorState {
3
+ content: string;
4
+ inputTokens: number | null;
5
+ outputTokens: number | null;
6
+ totalTokens: number | null;
7
+ reasoningTokens: number | null;
8
+ cacheReadTokens: number | null;
9
+ cacheCreationTokens: number | null;
10
+ finishReason: string | null;
11
+ toolCalls: Array<Record<string, unknown>>;
12
+ model: string | null;
13
+ ttfbMs: number | null;
14
+ isError: boolean;
15
+ errorMessage: string | null;
16
+ }
17
+ declare class StreamingAccumulator {
18
+ content: string;
19
+ inputTokens: number | null;
20
+ outputTokens: number | null;
21
+ totalTokens: number | null;
22
+ reasoningTokens: number | null;
23
+ cacheReadTokens: number | null;
24
+ cacheCreationTokens: number | null;
25
+ finishReason: string | null;
26
+ toolCalls: Array<Record<string, unknown>>;
27
+ model: string | null;
28
+ ttfbMs: number | null;
29
+ isError: boolean;
30
+ errorMessage: string | null;
31
+ private _startTime;
32
+ private _firstChunkReceived;
33
+ constructor();
34
+ addContent(chunk: string): void;
35
+ /**
36
+ * Set (overwrite) token usage fields. Only non-null values are written,
37
+ * allowing incremental updates where different streaming events provide
38
+ * different fields (e.g. Anthropic message_start vs message_delta).
39
+ */
40
+ setUsage(usage: {
41
+ inputTokens?: number;
42
+ outputTokens?: number;
43
+ totalTokens?: number;
44
+ reasoningTokens?: number;
45
+ cacheReadTokens?: number;
46
+ cacheCreationTokens?: number;
47
+ }): void;
48
+ addToolCall(toolCall: Record<string, unknown>): void;
49
+ setError(message: string): void;
50
+ getState(): StreamingAccumulatorState;
51
+ get elapsedMs(): number;
52
+ }
53
+ //#endregion
54
+ export { StreamingAccumulator, StreamingAccumulatorState };
55
+ //# sourceMappingURL=streaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.d.ts","names":[],"sources":["../../src/utils/streaming.ts"],"sourcesContent":[],"mappings":";UAAiB,yBAAA;EAAA,OAAA,EAAA,MAAA;EAgBJ,WAAA,EAAA,MAAA,GAAA,IAAoB;EASd,YAAA,EAAA,MAAA,GAAA,IAAA;EAAN,WAAA,EAAA,MAAA,GAAA,IAAA;EA4CW,eAAA,EAAA,MAAA,GAAA,IAAA;EASV,eAAA,EAAA,MAAA,GAAA,IAAA;EAAyB,mBAAA,EAAA,MAAA,GAAA,IAAA;;aArE1B,MAAM;;;;;;cAON,oBAAA;;;;;;;;;aASA,MAAM;;;;;;;;;;;;;;;;;;;;;;wBA4CK;;cASV"}
@@ -0,0 +1,72 @@
1
+ //#region src/utils/streaming.ts
2
+ var StreamingAccumulator = class {
3
+ content = "";
4
+ inputTokens = null;
5
+ outputTokens = null;
6
+ totalTokens = null;
7
+ reasoningTokens = null;
8
+ cacheReadTokens = null;
9
+ cacheCreationTokens = null;
10
+ finishReason = null;
11
+ toolCalls = [];
12
+ model = null;
13
+ ttfbMs = null;
14
+ isError = false;
15
+ errorMessage = null;
16
+ _startTime;
17
+ _firstChunkReceived = false;
18
+ constructor() {
19
+ this._startTime = performance.now();
20
+ }
21
+ addContent(chunk) {
22
+ if (!this._firstChunkReceived) {
23
+ this.ttfbMs = performance.now() - this._startTime;
24
+ this._firstChunkReceived = true;
25
+ }
26
+ this.content += chunk;
27
+ }
28
+ /**
29
+ * Set (overwrite) token usage fields. Only non-null values are written,
30
+ * allowing incremental updates where different streaming events provide
31
+ * different fields (e.g. Anthropic message_start vs message_delta).
32
+ */
33
+ setUsage(usage) {
34
+ if (usage.inputTokens != null) this.inputTokens = usage.inputTokens;
35
+ if (usage.outputTokens != null) this.outputTokens = usage.outputTokens;
36
+ if (usage.totalTokens != null) this.totalTokens = usage.totalTokens;
37
+ if (usage.reasoningTokens != null) this.reasoningTokens = usage.reasoningTokens;
38
+ if (usage.cacheReadTokens != null) this.cacheReadTokens = usage.cacheReadTokens;
39
+ if (usage.cacheCreationTokens != null) this.cacheCreationTokens = usage.cacheCreationTokens;
40
+ }
41
+ addToolCall(toolCall) {
42
+ this.toolCalls.push(toolCall);
43
+ }
44
+ setError(message) {
45
+ this.isError = true;
46
+ this.errorMessage = message;
47
+ }
48
+ getState() {
49
+ return {
50
+ content: this.content,
51
+ inputTokens: this.inputTokens,
52
+ outputTokens: this.outputTokens,
53
+ totalTokens: this.totalTokens,
54
+ reasoningTokens: this.reasoningTokens,
55
+ cacheReadTokens: this.cacheReadTokens,
56
+ cacheCreationTokens: this.cacheCreationTokens,
57
+ finishReason: this.finishReason,
58
+ toolCalls: this.toolCalls,
59
+ model: this.model,
60
+ ttfbMs: this.ttfbMs,
61
+ isError: this.isError,
62
+ errorMessage: this.errorMessage
63
+ };
64
+ }
65
+ get elapsedMs() {
66
+ return performance.now() - this._startTime;
67
+ }
68
+ };
69
+
70
+ //#endregion
71
+ export { StreamingAccumulator };
72
+ //# sourceMappingURL=streaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.js","names":[],"sources":["../../src/utils/streaming.ts"],"sourcesContent":["export interface StreamingAccumulatorState {\n content: string;\n inputTokens: number | null;\n outputTokens: number | null;\n totalTokens: number | null;\n reasoningTokens: number | null;\n cacheReadTokens: number | null;\n cacheCreationTokens: number | null;\n finishReason: string | null;\n toolCalls: Array<Record<string, unknown>>;\n model: string | null;\n ttfbMs: number | null;\n isError: boolean;\n errorMessage: string | null;\n}\n\nexport class StreamingAccumulator {\n content = '';\n inputTokens: number | null = null;\n outputTokens: number | null = null;\n totalTokens: number | null = null;\n reasoningTokens: number | null = null;\n cacheReadTokens: number | null = null;\n cacheCreationTokens: number | null = null;\n finishReason: string | null = null;\n toolCalls: Array<Record<string, unknown>> = [];\n model: string | null = null;\n ttfbMs: number | null = null;\n isError = false;\n errorMessage: string | null = null;\n private _startTime: number;\n private _firstChunkReceived = false;\n\n constructor() {\n this._startTime = performance.now();\n }\n\n addContent(chunk: string): void {\n if (!this._firstChunkReceived) {\n this.ttfbMs = performance.now() - this._startTime;\n this._firstChunkReceived = true;\n }\n this.content += chunk;\n }\n\n /**\n * Set (overwrite) token usage fields. Only non-null values are written,\n * allowing incremental updates where different streaming events provide\n * different fields (e.g. Anthropic message_start vs message_delta).\n */\n setUsage(usage: {\n inputTokens?: number;\n outputTokens?: number;\n totalTokens?: number;\n reasoningTokens?: number;\n cacheReadTokens?: number;\n cacheCreationTokens?: number;\n }): void {\n if (usage.inputTokens != null) this.inputTokens = usage.inputTokens;\n if (usage.outputTokens != null) this.outputTokens = usage.outputTokens;\n if (usage.totalTokens != null) this.totalTokens = usage.totalTokens;\n if (usage.reasoningTokens != null)\n this.reasoningTokens = usage.reasoningTokens;\n if (usage.cacheReadTokens != null)\n this.cacheReadTokens = usage.cacheReadTokens;\n if (usage.cacheCreationTokens != null)\n this.cacheCreationTokens = usage.cacheCreationTokens;\n }\n\n addToolCall(toolCall: Record<string, unknown>): void {\n this.toolCalls.push(toolCall);\n }\n\n setError(message: string): void {\n this.isError = true;\n this.errorMessage = message;\n }\n\n getState(): StreamingAccumulatorState {\n return {\n content: this.content,\n inputTokens: this.inputTokens,\n outputTokens: this.outputTokens,\n totalTokens: this.totalTokens,\n reasoningTokens: this.reasoningTokens,\n cacheReadTokens: this.cacheReadTokens,\n cacheCreationTokens: this.cacheCreationTokens,\n finishReason: this.finishReason,\n toolCalls: this.toolCalls,\n model: this.model,\n ttfbMs: this.ttfbMs,\n isError: this.isError,\n errorMessage: this.errorMessage,\n };\n }\n\n get elapsedMs(): number {\n return performance.now() - this._startTime;\n }\n}\n"],"mappings":";AAgBA,IAAa,uBAAb,MAAkC;CAChC,UAAU;CACV,cAA6B;CAC7B,eAA8B;CAC9B,cAA6B;CAC7B,kBAAiC;CACjC,kBAAiC;CACjC,sBAAqC;CACrC,eAA8B;CAC9B,YAA4C,EAAE;CAC9C,QAAuB;CACvB,SAAwB;CACxB,UAAU;CACV,eAA8B;CAC9B,AAAQ;CACR,AAAQ,sBAAsB;CAE9B,cAAc;AACZ,OAAK,aAAa,YAAY,KAAK;;CAGrC,WAAW,OAAqB;AAC9B,MAAI,CAAC,KAAK,qBAAqB;AAC7B,QAAK,SAAS,YAAY,KAAK,GAAG,KAAK;AACvC,QAAK,sBAAsB;;AAE7B,OAAK,WAAW;;;;;;;CAQlB,SAAS,OAOA;AACP,MAAI,MAAM,eAAe,KAAM,MAAK,cAAc,MAAM;AACxD,MAAI,MAAM,gBAAgB,KAAM,MAAK,eAAe,MAAM;AAC1D,MAAI,MAAM,eAAe,KAAM,MAAK,cAAc,MAAM;AACxD,MAAI,MAAM,mBAAmB,KAC3B,MAAK,kBAAkB,MAAM;AAC/B,MAAI,MAAM,mBAAmB,KAC3B,MAAK,kBAAkB,MAAM;AAC/B,MAAI,MAAM,uBAAuB,KAC/B,MAAK,sBAAsB,MAAM;;CAGrC,YAAY,UAAyC;AACnD,OAAK,UAAU,KAAK,SAAS;;CAG/B,SAAS,SAAuB;AAC9B,OAAK,UAAU;AACf,OAAK,eAAe;;CAGtB,WAAsC;AACpC,SAAO;GACL,SAAS,KAAK;GACd,aAAa,KAAK;GAClB,cAAc,KAAK;GACnB,aAAa,KAAK;GAClB,iBAAiB,KAAK;GACtB,iBAAiB,KAAK;GACtB,qBAAqB,KAAK;GAC1B,cAAc,KAAK;GACnB,WAAW,KAAK;GAChB,OAAO,KAAK;GACZ,QAAQ,KAAK;GACb,SAAS,KAAK;GACd,cAAc,KAAK;GACpB;;CAGH,IAAI,YAAoB;AACtB,SAAO,YAAY,KAAK,GAAG,KAAK"}
@@ -0,0 +1,16 @@
1
+ //#region src/utils/tokens.d.ts
2
+ /**
3
+ * Token counting utilities.
4
+ *
5
+ * Uses tiktoken when available for accurate counts.
6
+ * Falls back to a heuristic (~3.5 chars per token + word count adjustment).
7
+ */
8
+ declare function countTokens(text: string, model?: string): number;
9
+ declare function estimateTokens(text: string): number;
10
+ declare function countMessageTokens(messages: Array<{
11
+ role?: string;
12
+ content?: unknown;
13
+ }>, model?: string): number;
14
+ //#endregion
15
+ export { countMessageTokens, countTokens, estimateTokens };
16
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","names":[],"sources":["../../src/utils/tokens.ts"],"sourcesContent":[],"mappings":";;AA6CA;AAkBA;AA6BA;;;iBA/CgB,WAAA;iBAkBA,cAAA;iBA6BA,kBAAA,WACJ"}
@@ -0,0 +1,80 @@
1
+ import { tryRequire } from "./resolve-module.js";
2
+
3
+ //#region src/utils/tokens.ts
4
+ /**
5
+ * Token counting utilities.
6
+ *
7
+ * Uses tiktoken when available for accurate counts.
8
+ * Falls back to a heuristic (~3.5 chars per token + word count adjustment).
9
+ */
10
+ const tiktokenModule = tryRequire("tiktoken") ?? tryRequire("js-tiktoken");
11
+ const encodingCache = /* @__PURE__ */ new Map();
12
+ function getEncoding(modelName) {
13
+ const key = modelName ?? "cl100k_base";
14
+ if (encodingCache.has(key)) return encodingCache.get(key);
15
+ if (tiktokenModule == null) return null;
16
+ try {
17
+ const mod = tiktokenModule;
18
+ let encoding;
19
+ if (typeof mod.encoding_for_model === "function" && modelName) try {
20
+ encoding = mod.encoding_for_model(modelName);
21
+ } catch {
22
+ if (typeof mod.get_encoding === "function") try {
23
+ encoding = mod.get_encoding("o200k_base");
24
+ } catch {
25
+ encoding = mod.get_encoding("cl100k_base");
26
+ }
27
+ }
28
+ else if (typeof mod.get_encoding === "function") encoding = mod.get_encoding("cl100k_base");
29
+ if (encoding) encodingCache.set(key, encoding);
30
+ return encoding ?? null;
31
+ } catch {
32
+ return null;
33
+ }
34
+ }
35
+ function countTokens(text, model) {
36
+ const encoding = getEncoding(model);
37
+ if (encoding != null && typeof encoding.encode === "function") try {
38
+ return encoding.encode(text).length;
39
+ } catch {}
40
+ return estimateTokens(text);
41
+ }
42
+ function estimateTokens(text) {
43
+ const charEstimate = text.length / 3.5;
44
+ const wordEstimate = text.split(/\s+/).filter(Boolean).length * .1;
45
+ return Math.max(1, Math.ceil(charEstimate + wordEstimate));
46
+ }
47
+ /**
48
+ * Extracts text from a message content field that may be either a string
49
+ * or a list of content blocks (multimodal format).
50
+ */
51
+ function extractMessageText(content) {
52
+ if (typeof content === "string") return content;
53
+ if (Array.isArray(content)) {
54
+ const parts = [];
55
+ for (const item of content) if (typeof item === "object" && item != null && item.type === "text") {
56
+ const text = item.text;
57
+ if (typeof text === "string") parts.push(text);
58
+ }
59
+ return parts.join("");
60
+ }
61
+ return "";
62
+ }
63
+ function countMessageTokens(messages, model) {
64
+ if (messages.length === 0) return 0;
65
+ const TOKENS_PER_MESSAGE = 3;
66
+ const PRIMING_TOKENS = 3;
67
+ let total = 0;
68
+ for (const msg of messages) {
69
+ total += TOKENS_PER_MESSAGE;
70
+ const text = extractMessageText(msg.content);
71
+ const exact = countTokens(text, model);
72
+ total += exact ?? estimateTokens(text);
73
+ }
74
+ total += PRIMING_TOKENS;
75
+ return total;
76
+ }
77
+
78
+ //#endregion
79
+ export { countMessageTokens, countTokens, estimateTokens };
80
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","names":["tiktokenModule: Record<string, unknown> | null","encoding: unknown","parts: string[]"],"sources":["../../src/utils/tokens.ts"],"sourcesContent":["/**\n * Token counting utilities.\n *\n * Uses tiktoken when available for accurate counts.\n * Falls back to a heuristic (~3.5 chars per token + word count adjustment).\n */\n\nimport { tryRequire } from './resolve-module.js';\n\nconst tiktokenModule: Record<string, unknown> | null =\n tryRequire('tiktoken') ?? tryRequire('js-tiktoken');\n\nconst encodingCache = new Map<string, unknown>();\n\nfunction getEncoding(modelName?: string): unknown {\n const key = modelName ?? 'cl100k_base';\n if (encodingCache.has(key)) return encodingCache.get(key);\n\n if (tiktokenModule == null) return null;\n\n try {\n const mod = tiktokenModule as Record<string, unknown>;\n let encoding: unknown;\n if (typeof mod.encoding_for_model === 'function' && modelName) {\n try {\n encoding = mod.encoding_for_model(modelName);\n } catch {\n if (typeof mod.get_encoding === 'function') {\n try {\n encoding = mod.get_encoding('o200k_base');\n } catch {\n encoding = mod.get_encoding('cl100k_base');\n }\n }\n }\n } else if (typeof mod.get_encoding === 'function') {\n encoding = mod.get_encoding('cl100k_base');\n }\n if (encoding) encodingCache.set(key, encoding);\n return encoding ?? null;\n } catch {\n return null;\n }\n}\n\nexport function countTokens(text: string, model?: string): number {\n const encoding = getEncoding(model);\n if (\n encoding != null &&\n typeof (encoding as Record<string, unknown>).encode === 'function'\n ) {\n try {\n const tokens = (\n encoding as { encode: (text: string) => unknown[] }\n ).encode(text);\n return tokens.length;\n } catch {\n // Fall through to heuristic\n }\n }\n return estimateTokens(text);\n}\n\nexport function estimateTokens(text: string): number {\n const charEstimate = text.length / 3.5;\n const wordEstimate = text.split(/\\s+/).filter(Boolean).length * 0.1;\n return Math.max(1, Math.ceil(charEstimate + wordEstimate));\n}\n\n/**\n * Extracts text from a message content field that may be either a string\n * or a list of content blocks (multimodal format).\n */\nfunction extractMessageText(content: unknown): string {\n if (typeof content === 'string') return content;\n if (Array.isArray(content)) {\n const parts: string[] = [];\n for (const item of content) {\n if (\n typeof item === 'object' &&\n item != null &&\n (item as Record<string, unknown>).type === 'text'\n ) {\n const text = (item as Record<string, unknown>).text;\n if (typeof text === 'string') parts.push(text);\n }\n }\n return parts.join('');\n }\n return '';\n}\n\nexport function countMessageTokens(\n messages: Array<{ role?: string; content?: unknown }>,\n model?: string,\n): number {\n if (messages.length === 0) return 0;\n\n const TOKENS_PER_MESSAGE = 3;\n const PRIMING_TOKENS = 3;\n let total = 0;\n for (const msg of messages) {\n total += TOKENS_PER_MESSAGE;\n const text = extractMessageText(msg.content);\n const exact = countTokens(text, model);\n total += exact ?? estimateTokens(text);\n }\n total += PRIMING_TOKENS;\n return total;\n}\n"],"mappings":";;;;;;;;;AASA,MAAMA,iBACJ,WAAW,WAAW,IAAI,WAAW,cAAc;AAErD,MAAM,gCAAgB,IAAI,KAAsB;AAEhD,SAAS,YAAY,WAA6B;CAChD,MAAM,MAAM,aAAa;AACzB,KAAI,cAAc,IAAI,IAAI,CAAE,QAAO,cAAc,IAAI,IAAI;AAEzD,KAAI,kBAAkB,KAAM,QAAO;AAEnC,KAAI;EACF,MAAM,MAAM;EACZ,IAAIC;AACJ,MAAI,OAAO,IAAI,uBAAuB,cAAc,UAClD,KAAI;AACF,cAAW,IAAI,mBAAmB,UAAU;UACtC;AACN,OAAI,OAAO,IAAI,iBAAiB,WAC9B,KAAI;AACF,eAAW,IAAI,aAAa,aAAa;WACnC;AACN,eAAW,IAAI,aAAa,cAAc;;;WAIvC,OAAO,IAAI,iBAAiB,WACrC,YAAW,IAAI,aAAa,cAAc;AAE5C,MAAI,SAAU,eAAc,IAAI,KAAK,SAAS;AAC9C,SAAO,YAAY;SACb;AACN,SAAO;;;AAIX,SAAgB,YAAY,MAAc,OAAwB;CAChE,MAAM,WAAW,YAAY,MAAM;AACnC,KACE,YAAY,QACZ,OAAQ,SAAqC,WAAW,WAExD,KAAI;AAIF,SAFE,SACA,OAAO,KAAK,CACA;SACR;AAIV,QAAO,eAAe,KAAK;;AAG7B,SAAgB,eAAe,MAAsB;CACnD,MAAM,eAAe,KAAK,SAAS;CACnC,MAAM,eAAe,KAAK,MAAM,MAAM,CAAC,OAAO,QAAQ,CAAC,SAAS;AAChE,QAAO,KAAK,IAAI,GAAG,KAAK,KAAK,eAAe,aAAa,CAAC;;;;;;AAO5D,SAAS,mBAAmB,SAA0B;AACpD,KAAI,OAAO,YAAY,SAAU,QAAO;AACxC,KAAI,MAAM,QAAQ,QAAQ,EAAE;EAC1B,MAAMC,QAAkB,EAAE;AAC1B,OAAK,MAAM,QAAQ,QACjB,KACE,OAAO,SAAS,YAChB,QAAQ,QACP,KAAiC,SAAS,QAC3C;GACA,MAAM,OAAQ,KAAiC;AAC/C,OAAI,OAAO,SAAS,SAAU,OAAM,KAAK,KAAK;;AAGlD,SAAO,MAAM,KAAK,GAAG;;AAEvB,QAAO;;AAGT,SAAgB,mBACd,UACA,OACQ;AACR,KAAI,SAAS,WAAW,EAAG,QAAO;CAElC,MAAM,qBAAqB;CAC3B,MAAM,iBAAiB;CACvB,IAAI,QAAQ;AACZ,MAAK,MAAM,OAAO,UAAU;AAC1B,WAAS;EACT,MAAM,OAAO,mBAAmB,IAAI,QAAQ;EAC5C,MAAM,QAAQ,YAAY,MAAM,MAAM;AACtC,WAAS,SAAS,eAAe,KAAK;;AAExC,UAAS;AACT,QAAO"}
@@ -0,0 +1,37 @@
1
+ import { AmplitudeOrAI } from "./types.js";
2
+ import { AmplitudeAIError } from "./exceptions.js";
3
+ import { Anthropic } from "./providers/anthropic.js";
4
+ import { OpenAI } from "./providers/openai.js";
5
+ import { AzureOpenAI } from "./providers/azure-openai.js";
6
+ import * as openai0 from "openai";
7
+ import * as _anthropic_ai_sdk0 from "@anthropic-ai/sdk";
8
+
9
+ //#region src/wrappers.d.ts
10
+
11
+ declare class AmplitudeAIWrapError extends AmplitudeAIError {
12
+ constructor(message: string);
13
+ }
14
+ interface WrapOpts {
15
+ propagateContext?: boolean;
16
+ /**
17
+ * Pass the provider SDK module directly to bypass `tryRequire`.
18
+ * Required in bundler environments (Turbopack, Webpack, etc.) where
19
+ * `createRequire` is unavailable.
20
+ *
21
+ * For OpenAI/Azure clients, pass the `openai` module default export.
22
+ * For Anthropic clients, pass the `@anthropic-ai/sdk` module default export.
23
+ */
24
+ providerModule?: unknown;
25
+ [key: string]: unknown;
26
+ }
27
+ /**
28
+ * Type-preserving overloads: when TypeScript can narrow the client type,
29
+ * the return type is the corresponding instrumented wrapper.
30
+ */
31
+ declare function wrap(client: InstanceType<typeof openai0.AzureOpenAI>, amplitude: AmplitudeOrAI, opts?: WrapOpts): AzureOpenAI;
32
+ declare function wrap(client: InstanceType<typeof openai0.OpenAI>, amplitude: AmplitudeOrAI, opts?: WrapOpts): OpenAI;
33
+ declare function wrap(client: InstanceType<typeof _anthropic_ai_sdk0.Anthropic>, amplitude: AmplitudeOrAI, opts?: WrapOpts): Anthropic;
34
+ declare function wrap(client: unknown, amplitude: AmplitudeOrAI, opts?: WrapOpts): OpenAI | AzureOpenAI | Anthropic;
35
+ //#endregion
36
+ export { AmplitudeAIWrapError, wrap };
37
+ //# sourceMappingURL=wrappers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrappers.d.ts","names":[],"sources":["../src/wrappers.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AA4Ca,cA3BA,oBAAA,SAA6B,gBAAA,CA2B7B;EACJ,WAAA,CAAA,OAAA,EAAA,MAAA;;UArBC,QAAA,CAsBO;EACD,gBAAI,CAAA,EAAA,OAAA;EAAA;;;;;;AAKpB;;EACU,cAAA,CAAA,EAAA,OAAA;EACG,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;;;;AAGb;;AAGS,iBAlBO,IAAA,CAkBP,MAAA,EAjBC,YAiBD,CAAA,OAlBW,OAAA,CAC2B,WAiBtC,CAAA,EAAA,SAAA,EAhBI,aAgBJ,EAAA,IAAA,CAAA,EAfA,QAeA,CAAA,EAdN,WAcM;AACN,iBAda,IAAA,CAcb,MAAA,EAbO,YAaP,CAAA,OAdiB,OAAA,CAC2B,MAa5C,CAAA,EAAA,SAAA,EAZU,aAYV,EAAA,IAAA,CAAA,EAXM,QAWN,CAAA,EAVA,MAUA;AAAY,iBATC,IAAA,CASD,MAAA,EARL,YAQK,CAAA,OATK,kBAAA,CACsC,SAQ3C,CAAA,EAAA,SAAA,EAPF,aAOE,EAAA,IAAA,CAAA,EANN,QAMM,CAAA,EALZ,SAKY;AAAiB,iBAJhB,IAAA,CAIgB,MAAA,EAAA,OAAA,EAAA,SAAA,EAFnB,aAEmB,EAAA,IAAA,CAAA,EADvB,QACuB,CAAA,EAA7B,MAA6B,GAAjB,WAAiB,GAAA,SAAA"}
@@ -0,0 +1,61 @@
1
+ import { AmplitudeAIError } from "./exceptions.js";
2
+ import { tryRequire } from "./utils/resolve-module.js";
3
+ import { Anthropic } from "./providers/anthropic.js";
4
+ import { OpenAI } from "./providers/openai.js";
5
+ import { AzureOpenAI } from "./providers/azure-openai.js";
6
+
7
+ //#region src/wrappers.ts
8
+ /**
9
+ * Convenience wrap() function for dependency injection.
10
+ *
11
+ * When the customer has already created a provider client, wrap()
12
+ * extracts credentials and returns an instrumented SDK wrapper.
13
+ *
14
+ * Supported providers: OpenAI, Anthropic, AzureOpenAI.
15
+ * Unsupported types raise AmplitudeAIWrapError.
16
+ */
17
+ var AmplitudeAIWrapError = class extends AmplitudeAIError {
18
+ constructor(message) {
19
+ super(message);
20
+ this.name = "AmplitudeAIWrapError";
21
+ }
22
+ };
23
+ function wrap(client, amplitude, opts) {
24
+ const clientObj = client;
25
+ const clientName = (client?.constructor)?.name ?? "unknown";
26
+ const explicitModule = opts?.providerModule;
27
+ const openaiModule = explicitModule && "OpenAI" in explicitModule ? explicitModule : tryRequire("openai");
28
+ if (openaiModule != null) {
29
+ const OpenAIClass = openaiModule.OpenAI;
30
+ const AzureOpenAIClass = openaiModule.AzureOpenAI;
31
+ if (AzureOpenAIClass && client instanceof AzureOpenAIClass) return new AzureOpenAI({
32
+ amplitude,
33
+ apiKey: clientObj.apiKey,
34
+ azureEndpoint: String(clientObj.baseURL ?? ""),
35
+ propagateContext: opts?.propagateContext,
36
+ openaiModule
37
+ });
38
+ if (OpenAIClass && client instanceof OpenAIClass) return new OpenAI({
39
+ amplitude,
40
+ apiKey: clientObj.apiKey,
41
+ baseUrl: clientObj.baseURL != null ? String(clientObj.baseURL) : void 0,
42
+ propagateContext: opts?.propagateContext,
43
+ openaiModule
44
+ });
45
+ }
46
+ const anthropicModule = explicitModule && "Anthropic" in explicitModule ? explicitModule : tryRequire("@anthropic-ai/sdk");
47
+ if (anthropicModule != null) {
48
+ const AnthropicClass = anthropicModule.Anthropic;
49
+ if (AnthropicClass && client instanceof AnthropicClass) return new Anthropic({
50
+ amplitude,
51
+ apiKey: clientObj.apiKey,
52
+ propagateContext: opts?.propagateContext,
53
+ anthropicModule
54
+ });
55
+ }
56
+ throw new AmplitudeAIWrapError(`wrap() does not support ${clientName}. Supported types: openai.OpenAI, openai.AzureOpenAI, @anthropic-ai/sdk.Anthropic. For Gemini, Bedrock, and Mistral, use the SDK's provider classes directly.`);
57
+ }
58
+
59
+ //#endregion
60
+ export { AmplitudeAIWrapError, wrap };
61
+ //# sourceMappingURL=wrappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrappers.js","names":["AmpAzureOpenAI","AmpOpenAI","AmpAnthropic"],"sources":["../src/wrappers.ts"],"sourcesContent":["/**\n * Convenience wrap() function for dependency injection.\n *\n * When the customer has already created a provider client, wrap()\n * extracts credentials and returns an instrumented SDK wrapper.\n *\n * Supported providers: OpenAI, Anthropic, AzureOpenAI.\n * Unsupported types raise AmplitudeAIWrapError.\n */\n\nimport { AmplitudeAIError } from './exceptions.js';\nimport { Anthropic as AmpAnthropic } from './providers/anthropic.js';\nimport { AzureOpenAI as AmpAzureOpenAI } from './providers/azure-openai.js';\nimport { OpenAI as AmpOpenAI } from './providers/openai.js';\nimport type { AmplitudeOrAI } from './types.js';\nimport { tryRequire } from './utils/resolve-module.js';\n\nexport class AmplitudeAIWrapError extends AmplitudeAIError {\n constructor(message: string) {\n super(message);\n this.name = 'AmplitudeAIWrapError';\n }\n}\n\ninterface WrapOpts {\n propagateContext?: boolean;\n /**\n * Pass the provider SDK module directly to bypass `tryRequire`.\n * Required in bundler environments (Turbopack, Webpack, etc.) where\n * `createRequire` is unavailable.\n *\n * For OpenAI/Azure clients, pass the `openai` module default export.\n * For Anthropic clients, pass the `@anthropic-ai/sdk` module default export.\n */\n providerModule?: unknown;\n [key: string]: unknown;\n}\n\n/**\n * Type-preserving overloads: when TypeScript can narrow the client type,\n * the return type is the corresponding instrumented wrapper.\n */\nexport function wrap(\n client: InstanceType<typeof import('openai').AzureOpenAI>,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpAzureOpenAI;\nexport function wrap(\n client: InstanceType<typeof import('openai').OpenAI>,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpOpenAI;\nexport function wrap(\n client: InstanceType<typeof import('@anthropic-ai/sdk').Anthropic>,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpAnthropic;\nexport function wrap(\n client: unknown,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpOpenAI | AmpAzureOpenAI | AmpAnthropic;\nexport function wrap(\n client: unknown,\n amplitude: AmplitudeOrAI,\n opts?: WrapOpts,\n): AmpOpenAI | AmpAzureOpenAI | AmpAnthropic {\n const clientObj = client as Record<string, unknown>;\n const clientConstructor = (client as { constructor?: { name?: string } })\n ?.constructor;\n const clientName = clientConstructor?.name ?? 'unknown';\n const explicitModule = opts?.providerModule as\n | Record<string, unknown>\n | undefined;\n\n // OpenAI check — use explicit module only if it exports OpenAI\n const openaiModule =\n explicitModule && 'OpenAI' in explicitModule\n ? explicitModule\n : tryRequire('openai');\n if (openaiModule != null) {\n const OpenAIClass = openaiModule.OpenAI as\n | (new (...args: unknown[]) => unknown)\n | undefined;\n const AzureOpenAIClass = openaiModule.AzureOpenAI as\n | (new (...args: unknown[]) => unknown)\n | undefined;\n\n if (AzureOpenAIClass && client instanceof AzureOpenAIClass) {\n return new AmpAzureOpenAI({\n amplitude,\n apiKey: clientObj.apiKey as string | undefined,\n azureEndpoint: String(clientObj.baseURL ?? ''),\n propagateContext: opts?.propagateContext as boolean | undefined,\n openaiModule,\n });\n }\n\n if (OpenAIClass && client instanceof OpenAIClass) {\n return new AmpOpenAI({\n amplitude,\n apiKey: clientObj.apiKey as string | undefined,\n baseUrl:\n clientObj.baseURL != null ? String(clientObj.baseURL) : undefined,\n propagateContext: opts?.propagateContext as boolean | undefined,\n openaiModule,\n });\n }\n }\n\n // Anthropic check — use explicit module only if it exports Anthropic\n const anthropicModule =\n explicitModule && 'Anthropic' in explicitModule\n ? explicitModule\n : tryRequire('@anthropic-ai/sdk');\n if (anthropicModule != null) {\n const AnthropicClass = anthropicModule.Anthropic as\n | (new (...args: unknown[]) => unknown)\n | undefined;\n\n if (AnthropicClass && client instanceof AnthropicClass) {\n return new AmpAnthropic({\n amplitude,\n apiKey: clientObj.apiKey as string | undefined,\n propagateContext: opts?.propagateContext as boolean | undefined,\n anthropicModule,\n });\n }\n }\n\n const supported =\n 'openai.OpenAI, openai.AzureOpenAI, @anthropic-ai/sdk.Anthropic';\n throw new AmplitudeAIWrapError(\n `wrap() does not support ${clientName}. Supported types: ${supported}. For Gemini, Bedrock, and Mistral, use the SDK's provider classes directly.`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAa,uBAAb,cAA0C,iBAAiB;CACzD,YAAY,SAAiB;AAC3B,QAAM,QAAQ;AACd,OAAK,OAAO;;;AA0ChB,SAAgB,KACd,QACA,WACA,MAC2C;CAC3C,MAAM,YAAY;CAGlB,MAAM,cAFqB,QACvB,cACkC,QAAQ;CAC9C,MAAM,iBAAiB,MAAM;CAK7B,MAAM,eACJ,kBAAkB,YAAY,iBAC1B,iBACA,WAAW,SAAS;AAC1B,KAAI,gBAAgB,MAAM;EACxB,MAAM,cAAc,aAAa;EAGjC,MAAM,mBAAmB,aAAa;AAItC,MAAI,oBAAoB,kBAAkB,iBACxC,QAAO,IAAIA,YAAe;GACxB;GACA,QAAQ,UAAU;GAClB,eAAe,OAAO,UAAU,WAAW,GAAG;GAC9C,kBAAkB,MAAM;GACxB;GACD,CAAC;AAGJ,MAAI,eAAe,kBAAkB,YACnC,QAAO,IAAIC,OAAU;GACnB;GACA,QAAQ,UAAU;GAClB,SACE,UAAU,WAAW,OAAO,OAAO,UAAU,QAAQ,GAAG;GAC1D,kBAAkB,MAAM;GACxB;GACD,CAAC;;CAKN,MAAM,kBACJ,kBAAkB,eAAe,iBAC7B,iBACA,WAAW,oBAAoB;AACrC,KAAI,mBAAmB,MAAM;EAC3B,MAAM,iBAAiB,gBAAgB;AAIvC,MAAI,kBAAkB,kBAAkB,eACtC,QAAO,IAAIC,UAAa;GACtB;GACA,QAAQ,UAAU;GAClB,kBAAkB,MAAM;GACxB;GACD,CAAC;;AAMN,OAAM,IAAI,qBACR,2BAA2B,WAAW,+JACvC"}