@rudderjs/ai 1.17.2 → 1.18.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 (377) hide show
  1. package/README.md +19 -1274
  2. package/dist/budget-orm/index.d.ts +1 -95
  3. package/dist/budget-orm/index.d.ts.map +1 -1
  4. package/dist/budget-orm/index.js +4 -176
  5. package/dist/budget-orm/index.js.map +1 -1
  6. package/dist/chat-mentions.d.ts +1 -58
  7. package/dist/chat-mentions.d.ts.map +1 -1
  8. package/dist/chat-mentions.js +4 -80
  9. package/dist/chat-mentions.js.map +1 -1
  10. package/dist/commands/ai-eval.d.ts +1 -92
  11. package/dist/commands/ai-eval.d.ts.map +1 -1
  12. package/dist/commands/ai-eval.js +4 -377
  13. package/dist/commands/ai-eval.js.map +1 -1
  14. package/dist/commands/make-agent.d.ts +1 -2
  15. package/dist/commands/make-agent.d.ts.map +1 -1
  16. package/dist/commands/make-agent.js +4 -22
  17. package/dist/commands/make-agent.js.map +1 -1
  18. package/dist/computer-use/index.d.ts +1 -52
  19. package/dist/computer-use/index.d.ts.map +1 -1
  20. package/dist/computer-use/index.js +4 -50
  21. package/dist/computer-use/index.js.map +1 -1
  22. package/dist/conversation-orm/index.d.ts +1 -108
  23. package/dist/conversation-orm/index.d.ts.map +1 -1
  24. package/dist/conversation-orm/index.js +4 -214
  25. package/dist/conversation-orm/index.js.map +1 -1
  26. package/dist/doctor.d.ts +1 -1
  27. package/dist/doctor.d.ts.map +1 -1
  28. package/dist/doctor.js +4 -65
  29. package/dist/doctor.js.map +1 -1
  30. package/dist/eval/index.d.ts +1 -270
  31. package/dist/eval/index.d.ts.map +1 -1
  32. package/dist/eval/index.js +4 -509
  33. package/dist/eval/index.js.map +1 -1
  34. package/dist/gateway/index.d.ts +1 -10
  35. package/dist/gateway/index.d.ts.map +1 -1
  36. package/dist/gateway/index.js +4 -10
  37. package/dist/gateway/index.js.map +1 -1
  38. package/dist/index.d.ts +1 -66
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -78
  41. package/dist/index.js.map +1 -1
  42. package/dist/mcp/index.d.ts +1 -15
  43. package/dist/mcp/index.d.ts.map +1 -1
  44. package/dist/mcp/index.js +4 -14
  45. package/dist/mcp/index.js.map +1 -1
  46. package/dist/memory-embedding/index.d.ts +1 -120
  47. package/dist/memory-embedding/index.d.ts.map +1 -1
  48. package/dist/memory-embedding/index.js +4 -228
  49. package/dist/memory-embedding/index.js.map +1 -1
  50. package/dist/memory-orm/index.d.ts +1 -117
  51. package/dist/memory-orm/index.d.ts.map +1 -1
  52. package/dist/memory-orm/index.js +4 -186
  53. package/dist/memory-orm/index.js.map +1 -1
  54. package/dist/node/index.d.ts +1 -2
  55. package/dist/node/index.d.ts.map +1 -1
  56. package/dist/node/index.js +4 -2
  57. package/dist/node/index.js.map +1 -1
  58. package/dist/observers.d.ts +1 -129
  59. package/dist/observers.d.ts.map +1 -1
  60. package/dist/observers.js +4 -39
  61. package/dist/observers.js.map +1 -1
  62. package/dist/react/index.d.ts +1 -15
  63. package/dist/react/index.d.ts.map +1 -1
  64. package/dist/react/index.js +4 -15
  65. package/dist/react/index.js.map +1 -1
  66. package/dist/server/index.d.ts +1 -1
  67. package/dist/server/index.d.ts.map +1 -1
  68. package/dist/server/index.js +4 -1
  69. package/dist/server/index.js.map +1 -1
  70. package/package.json +9 -13
  71. package/boost/guidelines.md +0 -260
  72. package/boost/skills/ai-agents/SKILL.md +0 -240
  73. package/boost/skills/ai-tools/SKILL.md +0 -260
  74. package/dist/agent-run-store.d.ts +0 -161
  75. package/dist/agent-run-store.d.ts.map +0 -1
  76. package/dist/agent-run-store.js +0 -98
  77. package/dist/agent-run-store.js.map +0 -1
  78. package/dist/agent-sse.d.ts +0 -153
  79. package/dist/agent-sse.d.ts.map +0 -1
  80. package/dist/agent-sse.js +0 -282
  81. package/dist/agent-sse.js.map +0 -1
  82. package/dist/agent.d.ts +0 -508
  83. package/dist/agent.d.ts.map +0 -1
  84. package/dist/agent.js +0 -1538
  85. package/dist/agent.js.map +0 -1
  86. package/dist/attachment.d.ts +0 -31
  87. package/dist/attachment.d.ts.map +0 -1
  88. package/dist/attachment.js +0 -89
  89. package/dist/attachment.js.map +0 -1
  90. package/dist/audio.d.ts +0 -45
  91. package/dist/audio.d.ts.map +0 -1
  92. package/dist/audio.js +0 -93
  93. package/dist/audio.js.map +0 -1
  94. package/dist/base64.d.ts +0 -7
  95. package/dist/base64.d.ts.map +0 -1
  96. package/dist/base64.js +0 -39
  97. package/dist/base64.js.map +0 -1
  98. package/dist/budget/pricing.d.ts +0 -124
  99. package/dist/budget/pricing.d.ts.map +0 -1
  100. package/dist/budget/pricing.js +0 -175
  101. package/dist/budget/pricing.js.map +0 -1
  102. package/dist/budget/storage.d.ts +0 -104
  103. package/dist/budget/storage.d.ts.map +0 -1
  104. package/dist/budget/storage.js +0 -0
  105. package/dist/budget/storage.js.map +0 -1
  106. package/dist/budget/with-budget.d.ts +0 -119
  107. package/dist/budget/with-budget.d.ts.map +0 -1
  108. package/dist/budget/with-budget.js +0 -175
  109. package/dist/budget/with-budget.js.map +0 -1
  110. package/dist/cached-embedding.d.ts +0 -14
  111. package/dist/cached-embedding.d.ts.map +0 -1
  112. package/dist/cached-embedding.js +0 -44
  113. package/dist/cached-embedding.js.map +0 -1
  114. package/dist/computer-use/actions.d.ts +0 -214
  115. package/dist/computer-use/actions.d.ts.map +0 -1
  116. package/dist/computer-use/actions.js +0 -48
  117. package/dist/computer-use/actions.js.map +0 -1
  118. package/dist/computer-use/errors.d.ts +0 -57
  119. package/dist/computer-use/errors.d.ts.map +0 -1
  120. package/dist/computer-use/errors.js +0 -76
  121. package/dist/computer-use/errors.js.map +0 -1
  122. package/dist/computer-use/playwright.d.ts +0 -76
  123. package/dist/computer-use/playwright.d.ts.map +0 -1
  124. package/dist/computer-use/playwright.js +0 -270
  125. package/dist/computer-use/playwright.js.map +0 -1
  126. package/dist/computer-use/tool.d.ts +0 -154
  127. package/dist/computer-use/tool.d.ts.map +0 -1
  128. package/dist/computer-use/tool.js +0 -210
  129. package/dist/computer-use/tool.js.map +0 -1
  130. package/dist/continuation-validation.d.ts +0 -85
  131. package/dist/continuation-validation.d.ts.map +0 -1
  132. package/dist/continuation-validation.js +0 -166
  133. package/dist/continuation-validation.js.map +0 -1
  134. package/dist/conversation-persistence.d.ts +0 -46
  135. package/dist/conversation-persistence.d.ts.map +0 -1
  136. package/dist/conversation-persistence.js +0 -176
  137. package/dist/conversation-persistence.js.map +0 -1
  138. package/dist/conversation.d.ts +0 -11
  139. package/dist/conversation.d.ts.map +0 -1
  140. package/dist/conversation.js +0 -55
  141. package/dist/conversation.js.map +0 -1
  142. package/dist/eval/fixtures.d.ts +0 -65
  143. package/dist/eval/fixtures.d.ts.map +0 -1
  144. package/dist/eval/fixtures.js +0 -110
  145. package/dist/eval/fixtures.js.map +0 -1
  146. package/dist/eval/html-reporter.d.ts +0 -25
  147. package/dist/eval/html-reporter.d.ts.map +0 -1
  148. package/dist/eval/html-reporter.js +0 -209
  149. package/dist/eval/html-reporter.js.map +0 -1
  150. package/dist/eval/json-reporter.d.ts +0 -43
  151. package/dist/eval/json-reporter.d.ts.map +0 -1
  152. package/dist/eval/json-reporter.js +0 -40
  153. package/dist/eval/json-reporter.js.map +0 -1
  154. package/dist/facade.d.ts +0 -96
  155. package/dist/facade.d.ts.map +0 -1
  156. package/dist/facade.js +0 -146
  157. package/dist/facade.js.map +0 -1
  158. package/dist/fake.d.ts +0 -201
  159. package/dist/fake.d.ts.map +0 -1
  160. package/dist/fake.js +0 -428
  161. package/dist/fake.js.map +0 -1
  162. package/dist/file-search.d.ts +0 -168
  163. package/dist/file-search.d.ts.map +0 -1
  164. package/dist/file-search.js +0 -158
  165. package/dist/file-search.js.map +0 -1
  166. package/dist/files.d.ts +0 -27
  167. package/dist/files.d.ts.map +0 -1
  168. package/dist/files.js +0 -44
  169. package/dist/files.js.map +0 -1
  170. package/dist/gateway/http-gateway-adapter.d.ts +0 -94
  171. package/dist/gateway/http-gateway-adapter.d.ts.map +0 -1
  172. package/dist/gateway/http-gateway-adapter.js +0 -106
  173. package/dist/gateway/http-gateway-adapter.js.map +0 -1
  174. package/dist/gateway/sse.d.ts +0 -28
  175. package/dist/gateway/sse.d.ts.map +0 -1
  176. package/dist/gateway/sse.js +0 -78
  177. package/dist/gateway/sse.js.map +0 -1
  178. package/dist/handoff.d.ts +0 -95
  179. package/dist/handoff.d.ts.map +0 -1
  180. package/dist/handoff.js +0 -78
  181. package/dist/handoff.js.map +0 -1
  182. package/dist/handoffs-driver.d.ts +0 -58
  183. package/dist/handoffs-driver.d.ts.map +0 -1
  184. package/dist/handoffs-driver.js +0 -103
  185. package/dist/handoffs-driver.js.map +0 -1
  186. package/dist/image.d.ts +0 -40
  187. package/dist/image.d.ts.map +0 -1
  188. package/dist/image.js +0 -109
  189. package/dist/image.js.map +0 -1
  190. package/dist/mcp/client-tools.d.ts +0 -39
  191. package/dist/mcp/client-tools.d.ts.map +0 -1
  192. package/dist/mcp/client-tools.js +0 -147
  193. package/dist/mcp/client-tools.js.map +0 -1
  194. package/dist/mcp/server-from-agent.d.ts +0 -24
  195. package/dist/mcp/server-from-agent.d.ts.map +0 -1
  196. package/dist/mcp/server-from-agent.js +0 -113
  197. package/dist/mcp/server-from-agent.js.map +0 -1
  198. package/dist/mcp/types.d.ts +0 -64
  199. package/dist/mcp/types.d.ts.map +0 -1
  200. package/dist/mcp/types.js +0 -6
  201. package/dist/mcp/types.js.map +0 -1
  202. package/dist/memory-extract.d.ts +0 -60
  203. package/dist/memory-extract.d.ts.map +0 -1
  204. package/dist/memory-extract.js +0 -163
  205. package/dist/memory-extract.js.map +0 -1
  206. package/dist/memory-inject.d.ts +0 -39
  207. package/dist/memory-inject.d.ts.map +0 -1
  208. package/dist/memory-inject.js +0 -135
  209. package/dist/memory-inject.js.map +0 -1
  210. package/dist/memory.d.ts +0 -55
  211. package/dist/memory.d.ts.map +0 -1
  212. package/dist/memory.js +0 -132
  213. package/dist/memory.js.map +0 -1
  214. package/dist/middleware.d.ts +0 -18
  215. package/dist/middleware.d.ts.map +0 -1
  216. package/dist/middleware.js +0 -72
  217. package/dist/middleware.js.map +0 -1
  218. package/dist/node/attachment.d.ts +0 -6
  219. package/dist/node/attachment.d.ts.map +0 -1
  220. package/dist/node/attachment.js +0 -35
  221. package/dist/node/attachment.js.map +0 -1
  222. package/dist/node/transcription.d.ts +0 -4
  223. package/dist/node/transcription.d.ts.map +0 -1
  224. package/dist/node/transcription.js +0 -8
  225. package/dist/node/transcription.js.map +0 -1
  226. package/dist/output.d.ts +0 -22
  227. package/dist/output.d.ts.map +0 -1
  228. package/dist/output.js +0 -60
  229. package/dist/output.js.map +0 -1
  230. package/dist/provider-tools.d.ts +0 -87
  231. package/dist/provider-tools.d.ts.map +0 -1
  232. package/dist/provider-tools.js +0 -189
  233. package/dist/provider-tools.js.map +0 -1
  234. package/dist/providers/anthropic.d.ts +0 -24
  235. package/dist/providers/anthropic.d.ts.map +0 -1
  236. package/dist/providers/anthropic.js +0 -405
  237. package/dist/providers/anthropic.js.map +0 -1
  238. package/dist/providers/azure.d.ts +0 -13
  239. package/dist/providers/azure.d.ts.map +0 -1
  240. package/dist/providers/azure.js +0 -15
  241. package/dist/providers/azure.js.map +0 -1
  242. package/dist/providers/bedrock.d.ts +0 -75
  243. package/dist/providers/bedrock.d.ts.map +0 -1
  244. package/dist/providers/bedrock.js +0 -181
  245. package/dist/providers/bedrock.js.map +0 -1
  246. package/dist/providers/cohere.d.ts +0 -13
  247. package/dist/providers/cohere.d.ts.map +0 -1
  248. package/dist/providers/cohere.js +0 -87
  249. package/dist/providers/cohere.js.map +0 -1
  250. package/dist/providers/deepseek.d.ts +0 -12
  251. package/dist/providers/deepseek.d.ts.map +0 -1
  252. package/dist/providers/deepseek.js +0 -15
  253. package/dist/providers/deepseek.js.map +0 -1
  254. package/dist/providers/elevenlabs.d.ts +0 -98
  255. package/dist/providers/elevenlabs.d.ts.map +0 -1
  256. package/dist/providers/elevenlabs.js +0 -229
  257. package/dist/providers/elevenlabs.js.map +0 -1
  258. package/dist/providers/google-cache-registry.d.ts +0 -132
  259. package/dist/providers/google-cache-registry.d.ts.map +0 -1
  260. package/dist/providers/google-cache-registry.js +0 -209
  261. package/dist/providers/google-cache-registry.js.map +0 -1
  262. package/dist/providers/google.d.ts +0 -38
  263. package/dist/providers/google.d.ts.map +0 -1
  264. package/dist/providers/google.js +0 -903
  265. package/dist/providers/google.js.map +0 -1
  266. package/dist/providers/groq.d.ts +0 -12
  267. package/dist/providers/groq.d.ts.map +0 -1
  268. package/dist/providers/groq.js +0 -15
  269. package/dist/providers/groq.js.map +0 -1
  270. package/dist/providers/jina.d.ts +0 -13
  271. package/dist/providers/jina.d.ts.map +0 -1
  272. package/dist/providers/jina.js +0 -90
  273. package/dist/providers/jina.js.map +0 -1
  274. package/dist/providers/mistral.d.ts +0 -13
  275. package/dist/providers/mistral.d.ts.map +0 -1
  276. package/dist/providers/mistral.js +0 -46
  277. package/dist/providers/mistral.js.map +0 -1
  278. package/dist/providers/ollama.d.ts +0 -11
  279. package/dist/providers/ollama.d.ts.map +0 -1
  280. package/dist/providers/ollama.js +0 -15
  281. package/dist/providers/ollama.js.map +0 -1
  282. package/dist/providers/openai.d.ts +0 -79
  283. package/dist/providers/openai.d.ts.map +0 -1
  284. package/dist/providers/openai.js +0 -792
  285. package/dist/providers/openai.js.map +0 -1
  286. package/dist/providers/openrouter.d.ts +0 -43
  287. package/dist/providers/openrouter.d.ts.map +0 -1
  288. package/dist/providers/openrouter.js +0 -21
  289. package/dist/providers/openrouter.js.map +0 -1
  290. package/dist/providers/voyage.d.ts +0 -91
  291. package/dist/providers/voyage.d.ts.map +0 -1
  292. package/dist/providers/voyage.js +0 -166
  293. package/dist/providers/voyage.js.map +0 -1
  294. package/dist/providers/xai.d.ts +0 -12
  295. package/dist/providers/xai.d.ts.map +0 -1
  296. package/dist/providers/xai.js +0 -15
  297. package/dist/providers/xai.js.map +0 -1
  298. package/dist/queue-job.d.ts +0 -100
  299. package/dist/queue-job.d.ts.map +0 -1
  300. package/dist/queue-job.js +0 -185
  301. package/dist/queue-job.js.map +0 -1
  302. package/dist/react/agent-run.d.ts +0 -111
  303. package/dist/react/agent-run.d.ts.map +0 -1
  304. package/dist/react/agent-run.js +0 -107
  305. package/dist/react/agent-run.js.map +0 -1
  306. package/dist/react/useAgentRun.d.ts +0 -68
  307. package/dist/react/useAgentRun.d.ts.map +0 -1
  308. package/dist/react/useAgentRun.js +0 -125
  309. package/dist/react/useAgentRun.js.map +0 -1
  310. package/dist/registry.d.ts +0 -45
  311. package/dist/registry.d.ts.map +0 -1
  312. package/dist/registry.js +0 -131
  313. package/dist/registry.js.map +0 -1
  314. package/dist/rerank.d.ts +0 -20
  315. package/dist/rerank.d.ts.map +0 -1
  316. package/dist/rerank.js +0 -40
  317. package/dist/rerank.js.map +0 -1
  318. package/dist/resume-approval.d.ts +0 -30
  319. package/dist/resume-approval.d.ts.map +0 -1
  320. package/dist/resume-approval.js +0 -147
  321. package/dist/resume-approval.js.map +0 -1
  322. package/dist/sanitize-conversation.d.ts +0 -43
  323. package/dist/sanitize-conversation.d.ts.map +0 -1
  324. package/dist/sanitize-conversation.js +0 -85
  325. package/dist/sanitize-conversation.js.map +0 -1
  326. package/dist/scoped-tool.d.ts +0 -98
  327. package/dist/scoped-tool.d.ts.map +0 -1
  328. package/dist/scoped-tool.js +0 -174
  329. package/dist/scoped-tool.js.map +0 -1
  330. package/dist/server/provider.d.ts +0 -22
  331. package/dist/server/provider.d.ts.map +0 -1
  332. package/dist/server/provider.js +0 -194
  333. package/dist/server/provider.js.map +0 -1
  334. package/dist/similarity-search.d.ts +0 -163
  335. package/dist/similarity-search.d.ts.map +0 -1
  336. package/dist/similarity-search.js +0 -147
  337. package/dist/similarity-search.js.map +0 -1
  338. package/dist/sub-agent-run-store.d.ts +0 -157
  339. package/dist/sub-agent-run-store.d.ts.map +0 -1
  340. package/dist/sub-agent-run-store.js +0 -87
  341. package/dist/sub-agent-run-store.js.map +0 -1
  342. package/dist/tool-execution.d.ts +0 -16
  343. package/dist/tool-execution.d.ts.map +0 -1
  344. package/dist/tool-execution.js +0 -498
  345. package/dist/tool-execution.js.map +0 -1
  346. package/dist/tool-helpers.d.ts +0 -77
  347. package/dist/tool-helpers.d.ts.map +0 -1
  348. package/dist/tool-helpers.js +0 -117
  349. package/dist/tool-helpers.js.map +0 -1
  350. package/dist/tool.d.ts +0 -216
  351. package/dist/tool.d.ts.map +0 -1
  352. package/dist/tool.js +0 -175
  353. package/dist/tool.js.map +0 -1
  354. package/dist/transcription.d.ts +0 -42
  355. package/dist/transcription.d.ts.map +0 -1
  356. package/dist/transcription.js +0 -77
  357. package/dist/transcription.js.map +0 -1
  358. package/dist/types.d.ts +0 -1020
  359. package/dist/types.d.ts.map +0 -1
  360. package/dist/types.js +0 -2
  361. package/dist/types.js.map +0 -1
  362. package/dist/util/hash.d.ts +0 -11
  363. package/dist/util/hash.d.ts.map +0 -1
  364. package/dist/util/hash.js +0 -23
  365. package/dist/util/hash.js.map +0 -1
  366. package/dist/vector-stores/index.d.ts +0 -96
  367. package/dist/vector-stores/index.d.ts.map +0 -1
  368. package/dist/vector-stores/index.js +0 -153
  369. package/dist/vector-stores/index.js.map +0 -1
  370. package/dist/vercel-protocol.d.ts +0 -18
  371. package/dist/vercel-protocol.d.ts.map +0 -1
  372. package/dist/vercel-protocol.js +0 -75
  373. package/dist/vercel-protocol.js.map +0 -1
  374. package/dist/zod-to-json-schema.d.ts +0 -16
  375. package/dist/zod-to-json-schema.d.ts.map +0 -1
  376. package/dist/zod-to-json-schema.js +0 -17
  377. package/dist/zod-to-json-schema.js.map +0 -1
@@ -1,405 +0,0 @@
1
- import { base64ToUtf8 } from '../base64.js';
2
- export class AnthropicProvider {
3
- name = 'anthropic';
4
- config;
5
- constructor(config) {
6
- this.config = config;
7
- }
8
- create(model) {
9
- return new AnthropicAdapter(this.config, model);
10
- }
11
- createFiles() {
12
- return new AnthropicFileAdapter(this.config);
13
- }
14
- }
15
- // ─── Adapter ──────────────────────────────────────────────
16
- class AnthropicAdapter {
17
- config;
18
- model;
19
- client = null;
20
- constructor(config, model) {
21
- this.config = config;
22
- this.model = model;
23
- }
24
- async getClient() {
25
- if (this.client)
26
- return this.client;
27
- const sdk = await import(/* @vite-ignore */ '@anthropic-ai/sdk');
28
- const Anthropic = sdk.default ?? sdk.Anthropic;
29
- this.client = new Anthropic({
30
- apiKey: this.config.apiKey,
31
- ...(this.config.baseUrl ? { baseURL: this.config.baseUrl } : {}),
32
- });
33
- return this.client;
34
- }
35
- async generate(options) {
36
- const client = await this.getClient();
37
- const { system, messages } = splitSystemMessages(options.messages);
38
- const cache = options.cache;
39
- const params = {
40
- model: this.model,
41
- messages: applyCacheToMessages(toAnthropicMessages(messages), cache?.messages),
42
- max_tokens: options.maxTokens ?? 4096,
43
- };
44
- const sys = applyCacheToSystem(system, cache?.instructions === true);
45
- if (sys !== undefined)
46
- params['system'] = sys;
47
- if (options.temperature !== undefined)
48
- params['temperature'] = options.temperature;
49
- if (options.topP !== undefined)
50
- params['top_p'] = options.topP;
51
- if (options.stop)
52
- params['stop_sequences'] = options.stop;
53
- if (options.tools?.length) {
54
- params['tools'] = applyCacheToTools(toAnthropicTools(options.tools), cache?.tools === true);
55
- }
56
- if (options.toolChoice)
57
- params['tool_choice'] = toAnthropicToolChoice(options.toolChoice);
58
- const response = await client.messages.create(params, options.signal ? { signal: options.signal } : undefined);
59
- return fromAnthropicResponse(response);
60
- }
61
- async *stream(options) {
62
- const client = await this.getClient();
63
- const { system, messages } = splitSystemMessages(options.messages);
64
- const cache = options.cache;
65
- const params = {
66
- model: this.model,
67
- messages: applyCacheToMessages(toAnthropicMessages(messages), cache?.messages),
68
- max_tokens: options.maxTokens ?? 4096,
69
- stream: true,
70
- };
71
- const sys = applyCacheToSystem(system, cache?.instructions === true);
72
- if (sys !== undefined)
73
- params['system'] = sys;
74
- if (options.temperature !== undefined)
75
- params['temperature'] = options.temperature;
76
- if (options.topP !== undefined)
77
- params['top_p'] = options.topP;
78
- if (options.stop)
79
- params['stop_sequences'] = options.stop;
80
- if (options.tools?.length) {
81
- params['tools'] = applyCacheToTools(toAnthropicTools(options.tools), cache?.tools === true);
82
- }
83
- if (options.toolChoice)
84
- params['tool_choice'] = toAnthropicToolChoice(options.toolChoice);
85
- const stream = await client.messages.stream(params, options.signal ? { signal: options.signal } : undefined);
86
- // Anthropic's stream protocol splits usage across two events:
87
- // - `message_start.message.usage.input_tokens` carries the prompt count
88
- // - `message_delta.usage.output_tokens` carries the completion count
89
- // Track the prompt count from message_start so we can emit a complete
90
- // `finish` usage object — without this the finish chunk reports
91
- // `promptTokens: 0`, the agent loop's last-wins aggregation overwrites
92
- // the correct earlier value, and consumers (billing, withBudget) silently
93
- // undercharge for streamed calls.
94
- let lastPromptTokens = 0;
95
- for await (const event of stream) {
96
- if (event.type === 'content_block_delta') {
97
- if (event.delta.type === 'text_delta') {
98
- yield { type: 'text-delta', text: event.delta.text };
99
- }
100
- else if (event.delta.type === 'input_json_delta') {
101
- yield { type: 'tool-call-delta', text: event.delta.partial_json };
102
- }
103
- }
104
- else if (event.type === 'content_block_start' && event.content_block.type === 'tool_use') {
105
- yield {
106
- type: 'tool-call-delta',
107
- toolCall: { id: event.content_block.id, name: event.content_block.name },
108
- };
109
- }
110
- else if (event.type === 'message_delta') {
111
- const completionTokens = event.usage?.output_tokens ?? 0;
112
- yield {
113
- type: 'finish',
114
- finishReason: event.delta.stop_reason === 'tool_use' ? 'tool_calls' : 'stop',
115
- usage: {
116
- promptTokens: lastPromptTokens,
117
- completionTokens,
118
- totalTokens: lastPromptTokens + completionTokens,
119
- },
120
- };
121
- }
122
- else if (event.type === 'message_start' && event.message?.usage) {
123
- lastPromptTokens = event.message.usage.input_tokens ?? 0;
124
- // output_tokens at message_start is the SDK's initial counter (~0/1),
125
- // not the final completion total — don't claim a totalTokens here.
126
- // The `finish` chunk above carries the authoritative final usage.
127
- yield {
128
- type: 'usage',
129
- usage: {
130
- promptTokens: lastPromptTokens,
131
- completionTokens: 0,
132
- totalTokens: lastPromptTokens,
133
- },
134
- };
135
- }
136
- }
137
- }
138
- }
139
- // ─── Conversion Helpers ──────────────────────────────────
140
- export function splitSystemMessages(messages) {
141
- const systemMsgs = messages.filter(m => m.role === 'system');
142
- const rest = messages.filter(m => m.role !== 'system');
143
- const system = systemMsgs.length > 0
144
- ? systemMsgs.map(m => m.content).join('\n\n')
145
- : undefined;
146
- return { system, messages: rest };
147
- }
148
- function contentToString(content) {
149
- if (typeof content === 'string')
150
- return content;
151
- return content.filter(p => p.type === 'text').map(p => p.text).join('');
152
- }
153
- function contentToAnthropicParts(content) {
154
- if (typeof content === 'string')
155
- return content;
156
- return content.map(p => {
157
- if (p.type === 'text')
158
- return { type: 'text', text: p.text };
159
- if (p.type === 'image')
160
- return { type: 'image', source: { type: 'base64', media_type: p.mimeType, data: p.data } };
161
- // document — use Anthropic's document block for PDFs, else base64
162
- if (p.mimeType === 'application/pdf') {
163
- return { type: 'document', source: { type: 'base64', media_type: p.mimeType, data: p.data } };
164
- }
165
- // For text-based documents, decode and send as text
166
- return { type: 'text', text: base64ToUtf8(p.data) };
167
- });
168
- }
169
- export function toAnthropicMessages(messages) {
170
- return messages.map(m => {
171
- if (m.role === 'assistant' && m.toolCalls?.length) {
172
- const text = contentToString(m.content);
173
- return {
174
- role: 'assistant',
175
- content: [
176
- ...(text ? [{ type: 'text', text }] : []),
177
- ...m.toolCalls.map(tc => ({
178
- type: 'tool_use',
179
- id: tc.id,
180
- name: tc.name,
181
- input: tc.arguments,
182
- })),
183
- ],
184
- };
185
- }
186
- if (m.role === 'tool') {
187
- // Tool results come in three shapes today:
188
- // - string — standard scalar return (most tools)
189
- // - ContentPart[] — rich content (e.g. computer-use's screenshot
190
- // returns an image block; the adapter emits it
191
- // as Anthropic's `content: [{ type: 'image', source: {...} }]`)
192
- // - any other value — JSON-stringify fallback (legacy)
193
- let content;
194
- if (typeof m.content === 'string') {
195
- content = m.content;
196
- }
197
- else if (Array.isArray(m.content)) {
198
- content = contentToAnthropicParts(m.content);
199
- }
200
- else {
201
- content = JSON.stringify(m.content);
202
- }
203
- return {
204
- role: 'user',
205
- content: [{
206
- type: 'tool_result',
207
- tool_use_id: m.toolCallId,
208
- content,
209
- }],
210
- };
211
- }
212
- // User messages with attachments → content array
213
- if (Array.isArray(m.content)) {
214
- return { role: m.role, content: contentToAnthropicParts(m.content) };
215
- }
216
- return { role: m.role, content: m.content };
217
- });
218
- }
219
- export function toAnthropicTools(tools) {
220
- return tools.map(t => {
221
- // Provider-native tool blocks: when a tool carries a recognized
222
- // `providerHint`, emit Anthropic's native shape instead of the
223
- // standard function-call schema. Currently:
224
- // - 'computer-use' → computer_20250124 (or whatever `tool` field
225
- // declares; defaults to computer_20250124).
226
- // The model is fine-tuned on the native block;
227
- // quality is dramatically better than wrapping
228
- // it as a function-call.
229
- if (t.providerHint?.type === 'computer-use') {
230
- const variant = t.providerHint['tool'] ?? 'computer_20250124';
231
- const width = t.providerHint['display_width_px'] ?? 1280;
232
- const height = t.providerHint['display_height_px'] ?? 800;
233
- return {
234
- type: variant,
235
- name: t.name,
236
- display_width_px: width,
237
- display_height_px: height,
238
- };
239
- }
240
- // - 'web-search' → web_search_20250305 (or whatever `tool` field
241
- // declares; defaults to web_search_20250305).
242
- // Server-side; the model emits a `tool_use` block,
243
- // Anthropic runs the search, results stream back as
244
- // a `tool_result` block — no agent-loop round-trip.
245
- if (t.providerHint?.type === 'web-search') {
246
- const variant = t.providerHint['tool'] ?? 'web_search_20250305';
247
- const block = { type: variant, name: t.name };
248
- if (t.providerHint['max_uses'] !== undefined)
249
- block['max_uses'] = t.providerHint['max_uses'];
250
- if (t.providerHint['allowed_domains'] !== undefined)
251
- block['allowed_domains'] = t.providerHint['allowed_domains'];
252
- if (t.providerHint['blocked_domains'] !== undefined)
253
- block['blocked_domains'] = t.providerHint['blocked_domains'];
254
- if (t.providerHint['user_location'] !== undefined)
255
- block['user_location'] = t.providerHint['user_location'];
256
- return block;
257
- }
258
- return {
259
- name: t.name,
260
- description: t.description,
261
- input_schema: t.parameters,
262
- };
263
- });
264
- }
265
- // ─── Prompt-cache markers ────────────────────────────────
266
- //
267
- // Anthropic exposes ephemeral prompt caching via `cache_control` on
268
- // individual content blocks. The marker goes on the *last* block of each
269
- // region you want to cache; everything up to (and including) that block is
270
- // cached. Up to 4 cache breakpoints per request — we currently emit at
271
- // most 3 (system, tools, messages[N]) so we stay well under the limit.
272
- //
273
- // Spec: https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching
274
- const CACHE_CONTROL = { cache_control: { type: 'ephemeral' } };
275
- export function applyCacheToSystem(system, enabled) {
276
- if (!system)
277
- return undefined;
278
- if (!enabled)
279
- return system;
280
- // String-form system can't carry cache_control; convert to a single text block.
281
- return [{ type: 'text', text: system, ...CACHE_CONTROL }];
282
- }
283
- export function applyCacheToTools(tools, enabled) {
284
- if (!enabled || tools.length === 0)
285
- return tools;
286
- return tools.map((t, i) => i === tools.length - 1 ? { ...t, ...CACHE_CONTROL } : t);
287
- }
288
- export function applyCacheToMessages(messages, cacheCount) {
289
- if (!cacheCount || cacheCount <= 0 || messages.length === 0)
290
- return messages;
291
- // Cache the first N messages — mark cache_control on the last content block
292
- // of message at index N-1 (or the last actual message if N exceeds length).
293
- const idx = Math.min(cacheCount - 1, messages.length - 1);
294
- return messages.map((m, i) => {
295
- if (i !== idx)
296
- return m;
297
- const msg = m;
298
- if (typeof msg.content === 'string') {
299
- // Convert string content to a single text block so we can attach cache_control.
300
- return { ...msg, content: [{ type: 'text', text: msg.content, ...CACHE_CONTROL }] };
301
- }
302
- if (Array.isArray(msg.content) && msg.content.length > 0) {
303
- const blocks = msg.content;
304
- const newBlocks = blocks.map((b, j) => j === blocks.length - 1 ? { ...b, ...CACHE_CONTROL } : b);
305
- return { ...msg, content: newBlocks };
306
- }
307
- return m;
308
- });
309
- }
310
- export function toAnthropicToolChoice(choice) {
311
- if (choice === 'auto')
312
- return { type: 'auto' };
313
- if (choice === 'required')
314
- return { type: 'any' };
315
- if (choice === 'none')
316
- return undefined;
317
- if (typeof choice === 'object' && 'name' in choice)
318
- return { type: 'tool', name: choice.name };
319
- return { type: 'auto' };
320
- }
321
- export function fromAnthropicResponse(response) {
322
- const toolCalls = [];
323
- let text = '';
324
- for (const block of response.content ?? []) {
325
- if (block.type === 'text')
326
- text += block.text;
327
- if (block.type === 'tool_use') {
328
- toolCalls.push({ id: block.id, name: block.name, arguments: block.input });
329
- }
330
- }
331
- return {
332
- message: {
333
- role: 'assistant',
334
- content: text,
335
- ...(toolCalls.length > 0 ? { toolCalls } : {}),
336
- },
337
- usage: {
338
- promptTokens: response.usage?.input_tokens ?? 0,
339
- completionTokens: response.usage?.output_tokens ?? 0,
340
- totalTokens: (response.usage?.input_tokens ?? 0) + (response.usage?.output_tokens ?? 0),
341
- },
342
- finishReason: response.stop_reason === 'tool_use' ? 'tool_calls' : 'stop',
343
- };
344
- }
345
- // ─── Files ──────────────────────────────────────────────
346
- class AnthropicFileAdapter {
347
- config;
348
- client = null;
349
- constructor(config) {
350
- this.config = config;
351
- }
352
- async getClient() {
353
- if (this.client)
354
- return this.client;
355
- const sdk = await import(/* @vite-ignore */ '@anthropic-ai/sdk');
356
- const Anthropic = sdk.default ?? sdk.Anthropic;
357
- this.client = new Anthropic({
358
- apiKey: this.config.apiKey,
359
- ...(this.config.baseUrl ? { baseURL: this.config.baseUrl } : {}),
360
- });
361
- return this.client;
362
- }
363
- async upload(options) {
364
- const client = await this.getClient();
365
- const { readFile } = await import(/* @vite-ignore */ 'node:fs/promises');
366
- const { basename } = await import(/* @vite-ignore */ 'node:path');
367
- const data = await readFile(options.filePath);
368
- const filename = basename(options.filePath);
369
- const response = await client.files.upload({
370
- file: new Blob([data]),
371
- purpose: options.purpose ?? 'assistants',
372
- });
373
- return {
374
- id: response.id,
375
- filename,
376
- bytes: data.byteLength,
377
- purpose: options.purpose,
378
- };
379
- }
380
- async list() {
381
- const client = await this.getClient();
382
- const response = await client.files.list();
383
- const files = [];
384
- for await (const f of response) {
385
- files.push({
386
- id: f.id,
387
- filename: f.filename ?? f.id,
388
- bytes: f.size ?? 0,
389
- purpose: f.purpose,
390
- });
391
- }
392
- return { files };
393
- }
394
- async delete(fileId) {
395
- const client = await this.getClient();
396
- await client.files.delete(fileId);
397
- }
398
- async retrieve(fileId) {
399
- const client = await this.getClient();
400
- const response = await client.files.content(fileId);
401
- const buffer = Buffer.from(await response.arrayBuffer());
402
- return { data: buffer, mimeType: 'application/octet-stream' };
403
- }
404
- }
405
- //# sourceMappingURL=anthropic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { ProviderFactory, ProviderAdapter } from '../types.js';
2
- export interface AzureOpenAIConfig {
3
- apiKey: string;
4
- /** Azure endpoint, e.g. https://my-resource.openai.azure.com/openai/deployments/my-deployment */
5
- baseUrl: string;
6
- }
7
- export declare class AzureOpenAIProvider implements ProviderFactory {
8
- readonly name = "azure";
9
- private readonly config;
10
- constructor(config: AzureOpenAIConfig);
11
- create(model: string): ProviderAdapter;
12
- }
13
- //# sourceMappingURL=azure.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"azure.d.ts","sourceRoot":"","sources":["../../src/providers/azure.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEnE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,iGAAiG;IACjG,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,mBAAoB,YAAW,eAAe;IACzD,QAAQ,CAAC,IAAI,WAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,MAAM,EAAE,iBAAiB;IAIrC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;CASvC"}
@@ -1,15 +0,0 @@
1
- import { OpenAIAdapter } from './openai.js';
2
- export class AzureOpenAIProvider {
3
- name = 'azure';
4
- config;
5
- constructor(config) {
6
- this.config = config;
7
- }
8
- create(model) {
9
- return new OpenAIAdapter({
10
- apiKey: this.config.apiKey,
11
- baseUrl: this.config.baseUrl,
12
- }, model);
13
- }
14
- }
15
- //# sourceMappingURL=azure.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"azure.js","sourceRoot":"","sources":["../../src/providers/azure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAS3C,MAAM,OAAO,mBAAmB;IACrB,IAAI,GAAG,OAAO,CAAA;IACN,MAAM,CAAmB;IAE1C,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,aAAa,CACtB;YACE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,EACD,KAAK,CACN,CAAA;IACH,CAAC;CACF"}
@@ -1,75 +0,0 @@
1
- import type { ProviderFactory, ProviderAdapter, StreamChunk } from '../types.js';
2
- /**
3
- * AWS Bedrock — managed access to foundation models on AWS infrastructure.
4
- *
5
- * v1 supports **Anthropic Claude models on Bedrock** (the dominant case for
6
- * RudderJS users on AWS). Other model families on Bedrock (Llama, Nova, etc.)
7
- * surface a clear error pointing at the supported set — they can be added in
8
- * follow-up PRs as demand justifies.
9
- *
10
- * Auth uses the standard AWS credential chain: env vars (`AWS_ACCESS_KEY_ID`,
11
- * `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`), IAM roles on EC2/ECS/Lambda,
12
- * `~/.aws/credentials`, etc. We don't accept credentials in `BedrockConfig` —
13
- * use environment-aware credentials so the same code works in dev and prod.
14
- *
15
- * Model strings:
16
- * `bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0`
17
- * `bedrock/anthropic.claude-3-5-haiku-20241022-v1:0`
18
- *
19
- * @example
20
- * ```ts
21
- * // config/ai.ts
22
- * providers: {
23
- * bedrock: {
24
- * region: env('AWS_REGION', 'us-east-1'),
25
- * },
26
- * }
27
- * ```
28
- */
29
- export interface BedrockConfig {
30
- region: string;
31
- /**
32
- * Optional explicit credentials. Prefer the AWS credential chain (env vars,
33
- * IAM roles); only set this for niche cases (multi-account explicit creds).
34
- */
35
- credentials?: {
36
- accessKeyId: string;
37
- secretAccessKey: string;
38
- sessionToken?: string;
39
- };
40
- }
41
- export declare class BedrockProvider implements ProviderFactory {
42
- readonly name = "bedrock";
43
- private readonly config;
44
- constructor(config: BedrockConfig);
45
- create(model: string): ProviderAdapter;
46
- }
47
- /**
48
- * Bedrock model ids for Anthropic look like `anthropic.claude-3-5-sonnet-20241022-v2:0`.
49
- * Any other prefix (`meta.`, `amazon.`, `cohere.`, `mistral.`, `ai21.`) is a
50
- * different model family that needs its own conversion path.
51
- */
52
- export declare function isAnthropicOnBedrock(model: string): boolean;
53
- /**
54
- * Cross-event state for Bedrock-Anthropic streaming. The Anthropic stream
55
- * protocol splits prompt + completion token counts across two distinct
56
- * events; we track the prompt count from `message_start` so the later
57
- * `message_delta` → `finish` chunk can emit a complete usage object.
58
- */
59
- export interface BedrockStreamState {
60
- lastPromptTokens: number;
61
- }
62
- /**
63
- * Map a single decoded Bedrock-Anthropic stream event to zero-or-more
64
- * `StreamChunk`s. Bedrock wraps Anthropic's native streaming events 1:1 in
65
- * `chunk.bytes`, so the body shape matches `anthropic.ts`'s loop — but we
66
- * keep the mapping here so a future model family can be added cleanly.
67
- *
68
- * `state` is mutated across calls: `message_start` captures `lastPromptTokens`,
69
- * the subsequent `message_delta` reads it back. Without this, the `finish`
70
- * chunk reports `promptTokens: 0`, the agent loop's last-wins aggregation
71
- * overwrites the correct earlier value, and consumers (billing, withBudget)
72
- * silently undercharge for streamed calls.
73
- */
74
- export declare function mapBedrockAnthropicEvent(event: Record<string, any>, state: BedrockStreamState): Generator<StreamChunk>;
75
- //# sourceMappingURL=bedrock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/providers/bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAGf,WAAW,EACZ,MAAM,aAAa,CAAA;AAYpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;QACvB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,aAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE,aAAa;IAIjC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;CAGvC;AAmHD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAiB,wBAAwB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,kBAAkB,GACxB,SAAS,CAAC,WAAW,CAAC,CAsCxB"}