@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,181 +0,0 @@
1
- import { splitSystemMessages, toAnthropicMessages, toAnthropicTools, toAnthropicToolChoice, fromAnthropicResponse, applyCacheToSystem, applyCacheToTools, applyCacheToMessages, } from './anthropic.js';
2
- export class BedrockProvider {
3
- name = 'bedrock';
4
- config;
5
- constructor(config) {
6
- this.config = config;
7
- }
8
- create(model) {
9
- return new BedrockAdapter(this.config, model);
10
- }
11
- }
12
- // ─── Adapter ──────────────────────────────────────────────
13
- class BedrockAdapter {
14
- config;
15
- model;
16
- client = null;
17
- constructor(config, model) {
18
- this.config = config;
19
- this.model = model;
20
- if (!isAnthropicOnBedrock(model)) {
21
- throw new Error(`[Rudder AI] Bedrock model "${model}" is not yet supported. v1 only supports Anthropic Claude models on Bedrock ` +
22
- `(model id starts with "anthropic."). File an issue at https://github.com/rudderjs/rudder/issues if you need another family.`);
23
- }
24
- }
25
- async getClient() {
26
- if (this.client)
27
- return this.client;
28
- const sdk = await import(/* @vite-ignore */ '@aws-sdk/client-bedrock-runtime');
29
- const BedrockRuntimeClient = sdk.BedrockRuntimeClient;
30
- const clientConfig = { region: this.config.region };
31
- if (this.config.credentials) {
32
- const c = this.config.credentials;
33
- clientConfig['credentials'] = {
34
- accessKeyId: c.accessKeyId,
35
- secretAccessKey: c.secretAccessKey,
36
- ...(c.sessionToken ? { sessionToken: c.sessionToken } : {}),
37
- };
38
- }
39
- this.client = new BedrockRuntimeClient(clientConfig);
40
- return this.client;
41
- }
42
- async generate(options) {
43
- const client = await this.getClient();
44
- const sdk = await import(/* @vite-ignore */ '@aws-sdk/client-bedrock-runtime');
45
- const InvokeModelCommand = sdk.InvokeModelCommand;
46
- const body = this.buildAnthropicBody(options);
47
- const command = new InvokeModelCommand({
48
- modelId: this.model,
49
- contentType: 'application/json',
50
- accept: 'application/json',
51
- body: JSON.stringify(body),
52
- });
53
- const abortOpts = options.signal ? { abortSignal: options.signal } : undefined;
54
- const response = await client.send(command, abortOpts);
55
- const decoded = JSON.parse(new TextDecoder().decode(response.body));
56
- return fromAnthropicResponse(decoded);
57
- }
58
- async *stream(options) {
59
- const client = await this.getClient();
60
- const sdk = await import(/* @vite-ignore */ '@aws-sdk/client-bedrock-runtime');
61
- const InvokeModelWithResponseStreamCommand = sdk.InvokeModelWithResponseStreamCommand;
62
- const body = this.buildAnthropicBody(options);
63
- const command = new InvokeModelWithResponseStreamCommand({
64
- modelId: this.model,
65
- contentType: 'application/json',
66
- accept: 'application/json',
67
- body: JSON.stringify(body),
68
- });
69
- const abortOpts = options.signal ? { abortSignal: options.signal } : undefined;
70
- const response = await client.send(command, abortOpts);
71
- if (!response.body)
72
- return;
73
- const decoder = new TextDecoder();
74
- // See anthropic.ts for the same shape — Bedrock-Anthropic uses the
75
- // identical event protocol, so the prompt-token tracking is identical too.
76
- const state = { lastPromptTokens: 0 };
77
- for await (const event of response.body) {
78
- if (!event.chunk?.bytes)
79
- continue;
80
- const decoded = JSON.parse(decoder.decode(event.chunk.bytes));
81
- yield* mapBedrockAnthropicEvent(decoded, state);
82
- }
83
- }
84
- /**
85
- * Build the Bedrock-Anthropic request body. The shape mirrors the native
86
- * Anthropic Messages API minus `model` (Bedrock takes the modelId in the
87
- * URL) and plus `anthropic_version` (required by Bedrock).
88
- *
89
- * Spec: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages.html
90
- */
91
- buildAnthropicBody(options) {
92
- const { system, messages } = splitSystemMessages(options.messages);
93
- const cache = options.cache;
94
- const body = {
95
- anthropic_version: 'bedrock-2023-05-31',
96
- max_tokens: options.maxTokens ?? 4096,
97
- messages: applyCacheToMessages(toAnthropicMessages(messages), cache?.messages),
98
- };
99
- const sys = applyCacheToSystem(system, cache?.instructions === true);
100
- if (sys !== undefined)
101
- body['system'] = sys;
102
- if (options.temperature !== undefined)
103
- body['temperature'] = options.temperature;
104
- if (options.topP !== undefined)
105
- body['top_p'] = options.topP;
106
- if (options.stop)
107
- body['stop_sequences'] = options.stop;
108
- if (options.tools?.length) {
109
- body['tools'] = applyCacheToTools(toAnthropicTools(options.tools), cache?.tools === true);
110
- }
111
- const choice = options.toolChoice ? toAnthropicToolChoice(options.toolChoice) : undefined;
112
- if (choice !== undefined)
113
- body['tool_choice'] = choice;
114
- return body;
115
- }
116
- }
117
- // ─── Helpers ──────────────────────────────────────────────
118
- /**
119
- * Bedrock model ids for Anthropic look like `anthropic.claude-3-5-sonnet-20241022-v2:0`.
120
- * Any other prefix (`meta.`, `amazon.`, `cohere.`, `mistral.`, `ai21.`) is a
121
- * different model family that needs its own conversion path.
122
- */
123
- export function isAnthropicOnBedrock(model) {
124
- return model.startsWith('anthropic.') || model.startsWith('us.anthropic.') || model.startsWith('eu.anthropic.') || model.startsWith('apac.anthropic.');
125
- }
126
- /**
127
- * Map a single decoded Bedrock-Anthropic stream event to zero-or-more
128
- * `StreamChunk`s. Bedrock wraps Anthropic's native streaming events 1:1 in
129
- * `chunk.bytes`, so the body shape matches `anthropic.ts`'s loop — but we
130
- * keep the mapping here so a future model family can be added cleanly.
131
- *
132
- * `state` is mutated across calls: `message_start` captures `lastPromptTokens`,
133
- * the subsequent `message_delta` reads it back. Without this, the `finish`
134
- * chunk reports `promptTokens: 0`, the agent loop's last-wins aggregation
135
- * overwrites the correct earlier value, and consumers (billing, withBudget)
136
- * silently undercharge for streamed calls.
137
- */
138
- export function* mapBedrockAnthropicEvent(event, state) {
139
- if (event['type'] === 'content_block_delta') {
140
- const delta = event['delta'];
141
- if (delta?.type === 'text_delta') {
142
- yield { type: 'text-delta', text: delta.text };
143
- }
144
- else if (delta?.type === 'input_json_delta') {
145
- yield { type: 'tool-call-delta', text: delta.partial_json };
146
- }
147
- }
148
- else if (event['type'] === 'content_block_start' && event['content_block']?.type === 'tool_use') {
149
- yield {
150
- type: 'tool-call-delta',
151
- toolCall: { id: event['content_block'].id, name: event['content_block'].name },
152
- };
153
- }
154
- else if (event['type'] === 'message_delta') {
155
- const completionTokens = event['usage']?.output_tokens ?? 0;
156
- yield {
157
- type: 'finish',
158
- finishReason: event['delta']?.stop_reason === 'tool_use' ? 'tool_calls' : 'stop',
159
- usage: {
160
- promptTokens: state.lastPromptTokens,
161
- completionTokens,
162
- totalTokens: state.lastPromptTokens + completionTokens,
163
- },
164
- };
165
- }
166
- else if (event['type'] === 'message_start' && event['message']?.usage) {
167
- state.lastPromptTokens = event['message'].usage.input_tokens ?? 0;
168
- // output_tokens at message_start is the SDK's initial counter (~0/1), not
169
- // the final completion total — don't claim a totalTokens here. The
170
- // `finish` chunk above carries the authoritative final usage.
171
- yield {
172
- type: 'usage',
173
- usage: {
174
- promptTokens: state.lastPromptTokens,
175
- completionTokens: 0,
176
- totalTokens: state.lastPromptTokens,
177
- },
178
- };
179
- }
180
- }
181
- //# sourceMappingURL=bedrock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../src/providers/bedrock.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { ProviderFactory, ProviderAdapter, EmbeddingAdapter, RerankingAdapter } from '../types.js';
2
- export interface CohereConfig {
3
- apiKey: string;
4
- }
5
- export declare class CohereProvider implements ProviderFactory {
6
- readonly name = "cohere";
7
- private readonly config;
8
- constructor(config: CohereConfig);
9
- create(_model: string): ProviderAdapter;
10
- createEmbedding(model: string): EmbeddingAdapter;
11
- createReranking(model: string): RerankingAdapter;
12
- }
13
- //# sourceMappingURL=cohere.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cohere.d.ts","sourceRoot":"","sources":["../../src/providers/cohere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAIf,gBAAgB,EAEhB,gBAAgB,EAGjB,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,IAAI,YAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,YAAY;IAIhC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAIvC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAIhD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;CAGjD"}
@@ -1,87 +0,0 @@
1
- export class CohereProvider {
2
- name = 'cohere';
3
- config;
4
- constructor(config) {
5
- this.config = config;
6
- }
7
- create(_model) {
8
- throw new Error('[Rudder AI] Cohere does not support text generation. Use it for reranking and embeddings.');
9
- }
10
- createEmbedding(model) {
11
- return new CohereEmbeddingAdapter(this.config, model);
12
- }
13
- createReranking(model) {
14
- return new CohereRerankingAdapter(this.config, model);
15
- }
16
- }
17
- // ─── Reranking ───────────────────────────────────────────
18
- class CohereRerankingAdapter {
19
- config;
20
- model;
21
- client = null;
22
- constructor(config, model) {
23
- this.config = config;
24
- this.model = model;
25
- }
26
- async getClient() {
27
- if (this.client)
28
- return this.client;
29
- const sdk = await import(/* @vite-ignore */ 'cohere-ai');
30
- const CohereClientV2 = sdk.CohereClientV2 ?? sdk.default?.CohereClientV2;
31
- this.client = new CohereClientV2({ token: this.config.apiKey });
32
- return this.client;
33
- }
34
- async rerank(options) {
35
- const client = await this.getClient();
36
- const response = await client.rerank({
37
- model: this.model,
38
- query: options.query,
39
- documents: options.documents.map(d => ({ text: d })),
40
- ...(options.topK !== undefined ? { topN: options.topK } : {}),
41
- });
42
- return {
43
- results: (response.results ?? []).map((r) => ({
44
- index: r.index,
45
- relevanceScore: r.relevanceScore,
46
- document: options.documents[r.index],
47
- })),
48
- };
49
- }
50
- }
51
- // ─── Embeddings ──────────────────────────────────────────
52
- class CohereEmbeddingAdapter {
53
- config;
54
- model;
55
- client = null;
56
- constructor(config, model) {
57
- this.config = config;
58
- this.model = model;
59
- }
60
- async getClient() {
61
- if (this.client)
62
- return this.client;
63
- const sdk = await import(/* @vite-ignore */ 'cohere-ai');
64
- const CohereClientV2 = sdk.CohereClientV2 ?? sdk.default?.CohereClientV2;
65
- this.client = new CohereClientV2({ token: this.config.apiKey });
66
- return this.client;
67
- }
68
- async embed(input, _model) {
69
- const client = await this.getClient();
70
- const texts = Array.isArray(input) ? input : [input];
71
- const response = await client.embed({
72
- model: this.model,
73
- texts,
74
- inputType: 'search_document',
75
- embeddingTypes: ['float'],
76
- });
77
- const embeddings = response.embeddings?.float ?? [];
78
- return {
79
- embeddings,
80
- usage: {
81
- promptTokens: response.meta?.billedUnits?.inputTokens ?? 0,
82
- totalTokens: response.meta?.billedUnits?.inputTokens ?? 0,
83
- },
84
- };
85
- }
86
- }
87
- //# sourceMappingURL=cohere.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cohere.js","sourceRoot":"","sources":["../../src/providers/cohere.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { ProviderFactory, ProviderAdapter } from '../types.js';
2
- export interface DeepSeekConfig {
3
- apiKey: string;
4
- baseUrl?: string | undefined;
5
- }
6
- export declare class DeepSeekProvider implements ProviderFactory {
7
- readonly name = "deepseek";
8
- private readonly config;
9
- constructor(config: DeepSeekConfig);
10
- create(model: string): ProviderAdapter;
11
- }
12
- //# sourceMappingURL=deepseek.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deepseek.d.ts","sourceRoot":"","sources":["../../src/providers/deepseek.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEnE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,IAAI,cAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,EAAE,cAAc;IAIlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;CASvC"}
@@ -1,15 +0,0 @@
1
- import { OpenAIAdapter } from './openai.js';
2
- export class DeepSeekProvider {
3
- name = 'deepseek';
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 ?? 'https://api.deepseek.com/v1',
12
- }, model);
13
- }
14
- }
15
- //# sourceMappingURL=deepseek.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../src/providers/deepseek.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQ3C,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,UAAU,CAAA;IACT,MAAM,CAAgB;IAEvC,YAAY,MAAsB;QAChC,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,IAAI,6BAA6B;SAC9D,EACD,KAAK,CACN,CAAA;IACH,CAAC;CACF"}
@@ -1,98 +0,0 @@
1
- /**
2
- * ElevenLabs provider — premium TTS + STT (#B9).
3
- *
4
- * Implements `TextToSpeechAdapter` + `SpeechToTextAdapter` only — ElevenLabs
5
- * has no chat-completions surface, so `create()` throws. Apps reach this
6
- * provider through `AudioGenerator.of(...).model('elevenlabs/<voice_id>').generate()`
7
- * and `Transcription.of(...).model('elevenlabs/scribe_v1').transcribe()`.
8
- *
9
- * Wire-protocol via raw `fetch` (no SDK peer dep), matching the Jina /
10
- * Cohere shape. ElevenLabs's REST API is small enough that pulling in
11
- * `@elevenlabs/elevenlabs-js` (or any SDK) would add weight without much
12
- * leverage.
13
- *
14
- * @example Config-driven (recommended)
15
- * ```ts
16
- * // config/ai.ts
17
- * export default {
18
- * default: 'openai/gpt-4o',
19
- * providers: {
20
- * openai: { driver: 'openai', apiKey: env('OPENAI_API_KEY')! },
21
- * elevenlabs: { driver: 'elevenlabs', apiKey: env('ELEVENLABS_API_KEY')! },
22
- * },
23
- * }
24
- *
25
- * // somewhere in app code
26
- * await AudioGenerator
27
- * .of('Hello world')
28
- * .model('elevenlabs/21m00Tcm4TlvDq8ikWAM') // voice_id (Rachel)
29
- * .generate()
30
- * ```
31
- *
32
- * @example Failover from OpenAI TTS to ElevenLabs
33
- * ```ts
34
- * await AudioGenerator
35
- * .of('Hello')
36
- * .model('openai/tts-1-hd')
37
- * .failover('elevenlabs/21m00Tcm4TlvDq8ikWAM')
38
- * .generate()
39
- * ```
40
- *
41
- * # Model strings
42
- *
43
- * **TTS:** the model string after `elevenlabs/` is the **voice id**
44
- * (e.g. `21m00Tcm4TlvDq8ikWAM` for Rachel). The actual TTS model
45
- * (`eleven_multilingual_v2`, `eleven_turbo_v2_5`, ...) defaults to
46
- * {@link DEFAULT_TTS_MODEL_ID}; override via `ElevenLabsConfig.defaultTtsModelId`.
47
- * Voice ids are the discriminator most apps want to vary per-call — the
48
- * underlying TTS model is usually stable per deployment.
49
- *
50
- * **STT:** the model string is the actual model id (`scribe_v1` is the
51
- * only model today).
52
- *
53
- * # Format mapping (TTS)
54
- *
55
- * `TextToSpeechOptions.format` maps to ElevenLabs's `output_format`:
56
- *
57
- * | Our format | ElevenLabs |
58
- * |---|---|
59
- * | `mp3` (default) | `mp3_44100_128` |
60
- * | `opus` | `opus_48000_128` |
61
- * | `wav` / `aac` / `flac` | not supported by ElevenLabs — throws clearly |
62
- *
63
- * # Speed knob (TTS)
64
- *
65
- * `TextToSpeechOptions.speed` is **ignored** by this adapter — ElevenLabs
66
- * doesn't expose a top-level speed multiplier on the TTS endpoint
67
- * (timing is steered via `voice_settings.stability` etc., out of scope
68
- * for v1). OpenAI's TTS supports speed natively; failover from OpenAI
69
- * to ElevenLabs will produce audio at default speed.
70
- */
71
- import type { ProviderFactory, ProviderAdapter, TextToSpeechAdapter, SpeechToTextAdapter } from '../types.js';
72
- /** Default TTS model when `ElevenLabsConfig.defaultTtsModelId` is unset. */
73
- export declare const DEFAULT_TTS_MODEL_ID = "eleven_multilingual_v2";
74
- /** Default voice when no voice id is encoded into the model string and no `opts.voice` override. */
75
- export declare const DEFAULT_VOICE_ID = "21m00Tcm4TlvDq8ikWAM";
76
- export interface ElevenLabsConfig {
77
- apiKey: string;
78
- /**
79
- * Override `https://api.elevenlabs.io`. Useful for proxying through a
80
- * gateway or for self-hosted ElevenLabs-compatible APIs.
81
- */
82
- baseUrl?: string;
83
- /**
84
- * The TTS model id to send in the request body. Defaults to
85
- * `eleven_multilingual_v2`. Override per-deployment when piloting a
86
- * newer model (e.g. `eleven_turbo_v2_5` for lower-latency runs).
87
- */
88
- defaultTtsModelId?: string;
89
- }
90
- export declare class ElevenLabsProvider implements ProviderFactory {
91
- readonly name = "elevenlabs";
92
- private readonly config;
93
- constructor(config: ElevenLabsConfig);
94
- create(_model: string): ProviderAdapter;
95
- createTts(model: string): TextToSpeechAdapter;
96
- createStt(model: string): SpeechToTextAdapter;
97
- }
98
- //# sourceMappingURL=elevenlabs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"elevenlabs.d.ts","sourceRoot":"","sources":["../../src/providers/elevenlabs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,mBAAmB,EAGnB,mBAAmB,EAGpB,MAAM,aAAa,CAAA;AAIpB,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,2BAA2B,CAAA;AAE5D,oGAAoG;AACpG,eAAO,MAAM,gBAAgB,yBAAyB,CAAA;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,IAAI,gBAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAE7B,MAAM,EAAE,gBAAgB;IAIpC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAIvC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB;IAI7C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB;CAG9C"}