@rudderjs/ai 1.5.0 → 1.6.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 (161) hide show
  1. package/README.md +399 -0
  2. package/boost/guidelines.md +60 -0
  3. package/dist/agent.d.ts +35 -1
  4. package/dist/agent.d.ts.map +1 -1
  5. package/dist/agent.js +118 -16
  6. package/dist/agent.js.map +1 -1
  7. package/dist/budget/pricing.d.ts +124 -0
  8. package/dist/budget/pricing.d.ts.map +1 -0
  9. package/dist/budget/pricing.js +175 -0
  10. package/dist/budget/pricing.js.map +1 -0
  11. package/dist/budget/storage.d.ts +104 -0
  12. package/dist/budget/storage.d.ts.map +1 -0
  13. package/dist/budget/storage.js +0 -0
  14. package/dist/budget/storage.js.map +1 -0
  15. package/dist/budget/with-budget.d.ts +119 -0
  16. package/dist/budget/with-budget.d.ts.map +1 -0
  17. package/dist/budget/with-budget.js +175 -0
  18. package/dist/budget/with-budget.js.map +1 -0
  19. package/dist/budget-orm/index.d.ts +96 -0
  20. package/dist/budget-orm/index.d.ts.map +1 -0
  21. package/dist/budget-orm/index.js +177 -0
  22. package/dist/budget-orm/index.js.map +1 -0
  23. package/dist/commands/ai-eval.d.ts +93 -0
  24. package/dist/commands/ai-eval.d.ts.map +1 -0
  25. package/dist/commands/ai-eval.js +378 -0
  26. package/dist/commands/ai-eval.js.map +1 -0
  27. package/dist/computer-use/actions.d.ts +214 -0
  28. package/dist/computer-use/actions.d.ts.map +1 -0
  29. package/dist/computer-use/actions.js +48 -0
  30. package/dist/computer-use/actions.js.map +1 -0
  31. package/dist/computer-use/errors.d.ts +57 -0
  32. package/dist/computer-use/errors.d.ts.map +1 -0
  33. package/dist/computer-use/errors.js +76 -0
  34. package/dist/computer-use/errors.js.map +1 -0
  35. package/dist/computer-use/index.d.ts +53 -0
  36. package/dist/computer-use/index.d.ts.map +1 -0
  37. package/dist/computer-use/index.js +51 -0
  38. package/dist/computer-use/index.js.map +1 -0
  39. package/dist/computer-use/playwright.d.ts +76 -0
  40. package/dist/computer-use/playwright.d.ts.map +1 -0
  41. package/dist/computer-use/playwright.js +270 -0
  42. package/dist/computer-use/playwright.js.map +1 -0
  43. package/dist/computer-use/tool.d.ts +154 -0
  44. package/dist/computer-use/tool.d.ts.map +1 -0
  45. package/dist/computer-use/tool.js +210 -0
  46. package/dist/computer-use/tool.js.map +1 -0
  47. package/dist/eval/fixtures.d.ts +65 -0
  48. package/dist/eval/fixtures.d.ts.map +1 -0
  49. package/dist/eval/fixtures.js +110 -0
  50. package/dist/eval/fixtures.js.map +1 -0
  51. package/dist/eval/html-reporter.d.ts +25 -0
  52. package/dist/eval/html-reporter.d.ts.map +1 -0
  53. package/dist/eval/html-reporter.js +209 -0
  54. package/dist/eval/html-reporter.js.map +1 -0
  55. package/dist/eval/index.d.ts +271 -0
  56. package/dist/eval/index.d.ts.map +1 -0
  57. package/dist/eval/index.js +510 -0
  58. package/dist/eval/index.js.map +1 -0
  59. package/dist/eval/json-reporter.d.ts +43 -0
  60. package/dist/eval/json-reporter.d.ts.map +1 -0
  61. package/dist/eval/json-reporter.js +40 -0
  62. package/dist/eval/json-reporter.js.map +1 -0
  63. package/dist/fake.d.ts +36 -1
  64. package/dist/fake.d.ts.map +1 -1
  65. package/dist/fake.js +49 -2
  66. package/dist/fake.js.map +1 -1
  67. package/dist/file-search.d.ts +168 -0
  68. package/dist/file-search.d.ts.map +1 -0
  69. package/dist/file-search.js +158 -0
  70. package/dist/file-search.js.map +1 -0
  71. package/dist/index.d.ts +22 -2
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +17 -1
  74. package/dist/index.js.map +1 -1
  75. package/dist/mcp/client-tools.d.ts +39 -0
  76. package/dist/mcp/client-tools.d.ts.map +1 -0
  77. package/dist/mcp/client-tools.js +147 -0
  78. package/dist/mcp/client-tools.js.map +1 -0
  79. package/dist/mcp/index.d.ts +16 -0
  80. package/dist/mcp/index.d.ts.map +1 -0
  81. package/dist/mcp/index.js +15 -0
  82. package/dist/mcp/index.js.map +1 -0
  83. package/dist/mcp/server-from-agent.d.ts +24 -0
  84. package/dist/mcp/server-from-agent.d.ts.map +1 -0
  85. package/dist/mcp/server-from-agent.js +113 -0
  86. package/dist/mcp/server-from-agent.js.map +1 -0
  87. package/dist/mcp/types.d.ts +64 -0
  88. package/dist/mcp/types.d.ts.map +1 -0
  89. package/dist/mcp/types.js +6 -0
  90. package/dist/mcp/types.js.map +1 -0
  91. package/dist/memory-embedding/index.d.ts +121 -0
  92. package/dist/memory-embedding/index.d.ts.map +1 -0
  93. package/dist/memory-embedding/index.js +229 -0
  94. package/dist/memory-embedding/index.js.map +1 -0
  95. package/dist/memory-extract.d.ts +60 -0
  96. package/dist/memory-extract.d.ts.map +1 -0
  97. package/dist/memory-extract.js +163 -0
  98. package/dist/memory-extract.js.map +1 -0
  99. package/dist/memory-inject.d.ts +39 -0
  100. package/dist/memory-inject.d.ts.map +1 -0
  101. package/dist/memory-inject.js +135 -0
  102. package/dist/memory-inject.js.map +1 -0
  103. package/dist/memory-orm/index.d.ts +118 -0
  104. package/dist/memory-orm/index.d.ts.map +1 -0
  105. package/dist/memory-orm/index.js +187 -0
  106. package/dist/memory-orm/index.js.map +1 -0
  107. package/dist/memory.d.ts +55 -0
  108. package/dist/memory.d.ts.map +1 -0
  109. package/dist/memory.js +132 -0
  110. package/dist/memory.js.map +1 -0
  111. package/dist/observers.d.ts +22 -0
  112. package/dist/observers.d.ts.map +1 -1
  113. package/dist/observers.js.map +1 -1
  114. package/dist/provider-tools.d.ts +15 -1
  115. package/dist/provider-tools.d.ts.map +1 -1
  116. package/dist/provider-tools.js +21 -1
  117. package/dist/provider-tools.js.map +1 -1
  118. package/dist/providers/anthropic.d.ts.map +1 -1
  119. package/dist/providers/anthropic.js +61 -6
  120. package/dist/providers/anthropic.js.map +1 -1
  121. package/dist/providers/elevenlabs.d.ts +98 -0
  122. package/dist/providers/elevenlabs.d.ts.map +1 -0
  123. package/dist/providers/elevenlabs.js +229 -0
  124. package/dist/providers/elevenlabs.js.map +1 -0
  125. package/dist/providers/google.d.ts +83 -1
  126. package/dist/providers/google.d.ts.map +1 -1
  127. package/dist/providers/google.js +491 -8
  128. package/dist/providers/google.js.map +1 -1
  129. package/dist/providers/openai.d.ts +3 -1
  130. package/dist/providers/openai.d.ts.map +1 -1
  131. package/dist/providers/openai.js +209 -5
  132. package/dist/providers/openai.js.map +1 -1
  133. package/dist/providers/voyage.d.ts +91 -0
  134. package/dist/providers/voyage.d.ts.map +1 -0
  135. package/dist/providers/voyage.js +166 -0
  136. package/dist/providers/voyage.js.map +1 -0
  137. package/dist/queue-job.d.ts +69 -4
  138. package/dist/queue-job.d.ts.map +1 -1
  139. package/dist/queue-job.js +114 -11
  140. package/dist/queue-job.js.map +1 -1
  141. package/dist/registry.d.ts +3 -1
  142. package/dist/registry.d.ts.map +1 -1
  143. package/dist/registry.js +10 -0
  144. package/dist/registry.js.map +1 -1
  145. package/dist/server/provider.d.ts.map +1 -1
  146. package/dist/server/provider.js +23 -1
  147. package/dist/server/provider.js.map +1 -1
  148. package/dist/similarity-search.d.ts +163 -0
  149. package/dist/similarity-search.d.ts.map +1 -0
  150. package/dist/similarity-search.js +147 -0
  151. package/dist/similarity-search.js.map +1 -0
  152. package/dist/tool.d.ts.map +1 -1
  153. package/dist/tool.js +13 -4
  154. package/dist/tool.js.map +1 -1
  155. package/dist/types.d.ts +246 -0
  156. package/dist/types.d.ts.map +1 -1
  157. package/dist/vector-stores/index.d.ts +96 -0
  158. package/dist/vector-stores/index.d.ts.map +1 -0
  159. package/dist/vector-stores/index.js +153 -0
  160. package/dist/vector-stores/index.js.map +1 -0
  161. package/package.json +41 -3
@@ -89,6 +89,28 @@ export type AiEvent = {
89
89
  duration: number;
90
90
  streaming: boolean;
91
91
  conversationId: string | null;
92
+ } | {
93
+ /**
94
+ * Emitted by the eval framework runner (`@rudderjs/ai/eval`) after
95
+ * each case completes — passing, failing, or skipped. Telescope's
96
+ * AI collector aggregates pass-rate over time per `(suite, case)`
97
+ * pair (#A5 Phase 4).
98
+ *
99
+ * Skipped cases still emit so the dashboard shows coverage gaps.
100
+ * `score` is present for graded metrics (semanticMatch, llmJudge);
101
+ * absent for binary metrics (exactMatch, regex). `reason` is the
102
+ * failure / skip explanation when present.
103
+ */
104
+ kind: 'agent.eval.completed';
105
+ suite: string;
106
+ case: string;
107
+ status: 'passed' | 'failed' | 'skipped';
108
+ pass: boolean;
109
+ score?: number;
110
+ reason?: string;
111
+ tokens: number;
112
+ cost: number;
113
+ duration: number;
92
114
  };
93
115
  export type AiObserver = (event: AiEvent) => void;
94
116
  export declare class AiObserverRegistry {
@@ -1 +1 @@
1
- {"version":3,"file":"observers.d.ts","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observers.d.ts","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAa,MAAM,CAAA;IACrB,IAAI,EAAW,MAAM,CAAA;IACrB,IAAI,EAAW,OAAO,CAAA;IACtB,MAAM,EAAS,OAAO,CAAA;IACtB,QAAQ,EAAO,MAAM,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAK,MAAM,CAAA;IACpB,KAAK,EAAS,MAAM,CAAA;IACpB,MAAM,EAAQ;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACnE,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAK,kBAAkB,EAAE,CAAA;CACnC;AAED,qEAAqE;AACrE,MAAM,MAAM,OAAO,GACf;IACE,IAAI,EAAc,iBAAiB,CAAA;IACnC,SAAS,EAAS,MAAM,CAAA;IACxB,KAAK,EAAa,MAAM,CAAA;IACxB,QAAQ,EAAU,MAAM,CAAA;IACxB,KAAK,EAAa,MAAM,CAAA;IACxB,MAAM,EAAY,MAAM,CAAA;IACxB,KAAK,EAAa,cAAc,EAAE,CAAA;IAClC,MAAM,EAAY;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE,QAAQ,EAAU,MAAM,CAAA;IACxB,YAAY,EAAM,MAAM,CAAA;IACxB,SAAS,EAAS,OAAO,CAAA;IACzB,cAAc,EAAI,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;CACzB,GACD;IACE,IAAI,EAAc,cAAc,CAAA;IAChC,SAAS,EAAS,MAAM,CAAA;IACxB,KAAK,EAAa,MAAM,CAAA;IACxB,QAAQ,EAAU,MAAM,CAAA;IACxB,KAAK,EAAa,MAAM,CAAA;IACxB,MAAM,EAAY,MAAM,CAAA;IACxB,KAAK,EAAa,cAAc,EAAE,CAAA;IAClC,MAAM,EAAY;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE,QAAQ,EAAU,MAAM,CAAA;IACxB,YAAY,EAAM,MAAM,CAAA;IACxB,SAAS,EAAS,OAAO,CAAA;IACzB,cAAc,EAAI,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAa,MAAM,CAAA;CACzB,GACD;IACE;;;;;;OAMG;IACH,IAAI,EAAY,sBAAsB,CAAA;IACtC,SAAS,EAAO,MAAM,CAAA;IACtB,KAAK,EAAW,MAAM,CAAA;IACtB,QAAQ,EAAQ,MAAM,CAAA;IACtB,SAAS,EAAO,MAAM,CAAA;IACtB,IAAI,EAAY,cAAc,CAAA;IAC9B,mDAAmD;IACnD,MAAM,EAAU;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,uDAAuD;IACvD,QAAQ,EAAQ,MAAM,CAAA;IACtB,SAAS,EAAO,OAAO,CAAA;IACvB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,GACD;IACE;;;;;;;;;;OAUG;IACH,IAAI,EAAM,sBAAsB,CAAA;IAChC,KAAK,EAAK,MAAM,CAAA;IAChB,IAAI,EAAM,MAAM,CAAA;IAChB,MAAM,EAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACzC,IAAI,EAAM,OAAO,CAAA;IACjB,KAAK,CAAC,EAAI,MAAM,CAAA;IAChB,MAAM,CAAC,EAAG,MAAM,CAAA;IAChB,MAAM,EAAI,MAAM,CAAA;IAChB,IAAI,EAAM,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAEL,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;AAEjD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAmB;IAEpC,kDAAkD;IAClD,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,IAAI;IAKrC;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAM1B,gCAAgC;IAChC,KAAK,IAAI,IAAI;CACd;AAQD,eAAO,MAAM,WAAW,EAAsC,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"observers.js","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8EH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAAiB,EAAE,CAAA;IAEpC,kDAAkD;IAClD,SAAS,CAAC,EAAc;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IACxE,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,KAAc;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC;gBAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,KAAK,KAAW,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA,CAAC,CAAC;CACtC;AAED,oEAAoE;AACpE,MAAM,EAAE,GAAG,UAAqC,CAAA;AAChD,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC;IACrC,EAAE,CAAC,2BAA2B,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,2BAA2B,CAAuB,CAAA"}
1
+ {"version":3,"file":"observers.js","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqGH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAAiB,EAAE,CAAA;IAEpC,kDAAkD;IAClD,SAAS,CAAC,EAAc;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IACxE,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,KAAc;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC;gBAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,KAAK,KAAW,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA,CAAC,CAAC;CACtC;AAED,oEAAoE;AACpE,MAAM,EAAE,GAAG,UAAqC,CAAA;AAChD,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC;IACrC,EAAE,CAAC,2BAA2B,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,2BAA2B,CAAuB,CAAA"}
@@ -1,6 +1,20 @@
1
1
  /**
2
2
  * Web search tool — uses provider-native web search when available.
3
- * Falls back to a server-side DuckDuckGo fetch for providers without native support.
3
+ *
4
+ * Native emission via `providerHint: { type: 'web-search', ... }`:
5
+ * - Anthropic adapter emits `{ type: 'web_search_20250305', name: 'web_search',
6
+ * max_uses?, allowed_domains? }`.
7
+ * - Google adapter emits a separate top-level tools entry `{ google_search: {} }`.
8
+ * - OpenAI's chat-completions surface has no equivalent (web_search is
9
+ * Responses-API-only) — falls through to the DuckDuckGo `server` execute
10
+ * below. Same fallback applies to any provider without a native hint match.
11
+ *
12
+ * Mirrors the Phase 2 file-search providerHint cascade — same plumbing,
13
+ * different tool. `domains([...])` lowers to `allowed_domains` on Anthropic;
14
+ * Gemini's `google_search` block doesn't accept domain restriction so the
15
+ * `domains` opt is ignored there (the model still respects domain hints in
16
+ * the prompt). `maxResults(n)` lowers to Anthropic's `max_uses`; ignored on
17
+ * Gemini for the same reason.
4
18
  */
5
19
  export declare class WebSearch {
6
20
  private _domains;
@@ -1 +1 @@
1
- {"version":3,"file":"provider-tools.d.ts","sourceRoot":"","sources":["../src/provider-tools.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO;IAEP,MAAM,CAAC,IAAI,IAAI,SAAS;IAIxB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAKhC,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3B,+EAA+E;IAC/E,MAAM;;;;;;;;;CA+BP;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO;IAEP,MAAM,CAAC,IAAI,IAAI,QAAQ;IAIvB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK1B,MAAM;;;;;;;;;;;;;CAkCP;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO;IAEP,MAAM,CAAC,IAAI,IAAI,aAAa;IAI5B,MAAM;;;;;;CAmBP"}
1
+ {"version":3,"file":"provider-tools.d.ts","sourceRoot":"","sources":["../src/provider-tools.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO;IAEP,MAAM,CAAC,IAAI,IAAI,SAAS;IAIxB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAKhC,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3B,+EAA+E;IAC/E,MAAM;;;;;;;;;CAoCP;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO;IAEP,MAAM,CAAC,IAAI,IAAI,QAAQ;IAIvB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK1B,MAAM;;;;;;;;;;;;;CAkCP;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO;IAEP,MAAM,CAAC,IAAI,IAAI,aAAa;IAI5B,MAAM;;;;;;CAmBP"}
@@ -2,7 +2,21 @@ import { z } from 'zod';
2
2
  import { toolDefinition } from './tool.js';
3
3
  /**
4
4
  * Web search tool — uses provider-native web search when available.
5
- * Falls back to a server-side DuckDuckGo fetch for providers without native support.
5
+ *
6
+ * Native emission via `providerHint: { type: 'web-search', ... }`:
7
+ * - Anthropic adapter emits `{ type: 'web_search_20250305', name: 'web_search',
8
+ * max_uses?, allowed_domains? }`.
9
+ * - Google adapter emits a separate top-level tools entry `{ google_search: {} }`.
10
+ * - OpenAI's chat-completions surface has no equivalent (web_search is
11
+ * Responses-API-only) — falls through to the DuckDuckGo `server` execute
12
+ * below. Same fallback applies to any provider without a native hint match.
13
+ *
14
+ * Mirrors the Phase 2 file-search providerHint cascade — same plumbing,
15
+ * different tool. `domains([...])` lowers to `allowed_domains` on Anthropic;
16
+ * Gemini's `google_search` block doesn't accept domain restriction so the
17
+ * `domains` opt is ignored there (the model still respects domain hints in
18
+ * the prompt). `maxResults(n)` lowers to Anthropic's `max_uses`; ignored on
19
+ * Gemini for the same reason.
6
20
  */
7
21
  export class WebSearch {
8
22
  _domains;
@@ -23,12 +37,18 @@ export class WebSearch {
23
37
  toTool() {
24
38
  const domains = this._domains;
25
39
  const maxResults = this._maxResults;
40
+ const providerHint = { type: 'web-search' };
41
+ if (domains)
42
+ providerHint['allowed_domains'] = domains;
43
+ if (maxResults !== undefined)
44
+ providerHint['max_uses'] = maxResults;
26
45
  return toolDefinition({
27
46
  name: 'web_search',
28
47
  description: 'Search the web for current information.',
29
48
  inputSchema: z.object({
30
49
  query: z.string().describe('The search query'),
31
50
  }),
51
+ providerHint,
32
52
  meta: {
33
53
  providerNative: true,
34
54
  type: 'web_search',
@@ -1 +1 @@
1
- {"version":3,"file":"provider-tools.js","sourceRoot":"","sources":["../src/provider-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-tools.js","sourceRoot":"","sources":["../src/provider-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,WAAW,EAMX,gBAAgB,EAEhB,oBAAoB,EACpB,SAAS,EAET,UAAU,EACX,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,eAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,EAAE,eAAe;IAInC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAItC,WAAW,IAAI,WAAW;CAG3B;AA4GD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAOhH;AAqBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAiCpE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAMzE;AAcD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAKxF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAK/E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE,CAqBnG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAMjE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,CAwBrE"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,WAAW,EAMX,gBAAgB,EAEhB,oBAAoB,EACpB,SAAS,EAET,UAAU,EACX,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,eAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,EAAE,eAAe;IAInC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAItC,WAAW,IAAI,WAAW;CAG3B;AA4GD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAOhH;AAqBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CA+CpE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAyCzE;AAcD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAKxF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAK/E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE,CAqBnG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAMjE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,CAwBrE"}
@@ -169,12 +169,28 @@ export function toAnthropicMessages(messages) {
169
169
  };
170
170
  }
171
171
  if (m.role === 'tool') {
172
+ // Tool results come in three shapes today:
173
+ // - string — standard scalar return (most tools)
174
+ // - ContentPart[] — rich content (e.g. computer-use's screenshot
175
+ // returns an image block; the adapter emits it
176
+ // as Anthropic's `content: [{ type: 'image', source: {...} }]`)
177
+ // - any other value — JSON-stringify fallback (legacy)
178
+ let content;
179
+ if (typeof m.content === 'string') {
180
+ content = m.content;
181
+ }
182
+ else if (Array.isArray(m.content)) {
183
+ content = contentToAnthropicParts(m.content);
184
+ }
185
+ else {
186
+ content = JSON.stringify(m.content);
187
+ }
172
188
  return {
173
189
  role: 'user',
174
190
  content: [{
175
191
  type: 'tool_result',
176
192
  tool_use_id: m.toolCallId,
177
- content: typeof m.content === 'string' ? m.content : JSON.stringify(m.content),
193
+ content,
178
194
  }],
179
195
  };
180
196
  }
@@ -186,11 +202,50 @@ export function toAnthropicMessages(messages) {
186
202
  });
187
203
  }
188
204
  export function toAnthropicTools(tools) {
189
- return tools.map(t => ({
190
- name: t.name,
191
- description: t.description,
192
- input_schema: t.parameters,
193
- }));
205
+ return tools.map(t => {
206
+ // Provider-native tool blocks: when a tool carries a recognized
207
+ // `providerHint`, emit Anthropic's native shape instead of the
208
+ // standard function-call schema. Currently:
209
+ // - 'computer-use' → computer_20250124 (or whatever `tool` field
210
+ // declares; defaults to computer_20250124).
211
+ // The model is fine-tuned on the native block;
212
+ // quality is dramatically better than wrapping
213
+ // it as a function-call.
214
+ if (t.providerHint?.type === 'computer-use') {
215
+ const variant = t.providerHint['tool'] ?? 'computer_20250124';
216
+ const width = t.providerHint['display_width_px'] ?? 1280;
217
+ const height = t.providerHint['display_height_px'] ?? 800;
218
+ return {
219
+ type: variant,
220
+ name: t.name,
221
+ display_width_px: width,
222
+ display_height_px: height,
223
+ };
224
+ }
225
+ // - 'web-search' → web_search_20250305 (or whatever `tool` field
226
+ // declares; defaults to web_search_20250305).
227
+ // Server-side; the model emits a `tool_use` block,
228
+ // Anthropic runs the search, results stream back as
229
+ // a `tool_result` block — no agent-loop round-trip.
230
+ if (t.providerHint?.type === 'web-search') {
231
+ const variant = t.providerHint['tool'] ?? 'web_search_20250305';
232
+ const block = { type: variant, name: t.name };
233
+ if (t.providerHint['max_uses'] !== undefined)
234
+ block['max_uses'] = t.providerHint['max_uses'];
235
+ if (t.providerHint['allowed_domains'] !== undefined)
236
+ block['allowed_domains'] = t.providerHint['allowed_domains'];
237
+ if (t.providerHint['blocked_domains'] !== undefined)
238
+ block['blocked_domains'] = t.providerHint['blocked_domains'];
239
+ if (t.providerHint['user_location'] !== undefined)
240
+ block['user_location'] = t.providerHint['user_location'];
241
+ return block;
242
+ }
243
+ return {
244
+ name: t.name,
245
+ description: t.description,
246
+ input_schema: t.parameters,
247
+ };
248
+ });
194
249
  }
195
250
  // ─── Prompt-cache markers ────────────────────────────────
196
251
  //
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,229 @@
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
+ const ELEVENLABS_BASE_URL = 'https://api.elevenlabs.io';
72
+ /** Default TTS model when `ElevenLabsConfig.defaultTtsModelId` is unset. */
73
+ export 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 const DEFAULT_VOICE_ID = '21m00Tcm4TlvDq8ikWAM';
76
+ export class ElevenLabsProvider {
77
+ name = 'elevenlabs';
78
+ config;
79
+ constructor(config) {
80
+ this.config = config;
81
+ }
82
+ create(_model) {
83
+ throw new Error('[RudderJS AI] ElevenLabs does not support text generation. Use it for text-to-speech and speech-to-text.');
84
+ }
85
+ createTts(model) {
86
+ return new ElevenLabsTtsAdapter(this.config, model);
87
+ }
88
+ createStt(model) {
89
+ return new ElevenLabsSttAdapter(this.config, model);
90
+ }
91
+ }
92
+ // ─── TTS Adapter ─────────────────────────────────────────
93
+ class ElevenLabsTtsAdapter {
94
+ config;
95
+ modelOrVoiceId;
96
+ constructor(config,
97
+ /**
98
+ * Treated as a **voice id** (e.g. `21m00Tcm4TlvDq8ikWAM` for Rachel).
99
+ * The TTS model id ships from `ElevenLabsConfig.defaultTtsModelId`.
100
+ * Apps that want to vary the TTS model per-call should use multiple
101
+ * registered providers (one per model) — the model-string convention
102
+ * across @rudderjs/ai is `<provider>/<voice-or-model>`.
103
+ */
104
+ modelOrVoiceId) {
105
+ this.config = config;
106
+ this.modelOrVoiceId = modelOrVoiceId;
107
+ }
108
+ async generate(options) {
109
+ const baseUrl = this.config.baseUrl ?? ELEVENLABS_BASE_URL;
110
+ const ttsModelId = this.config.defaultTtsModelId ?? DEFAULT_TTS_MODEL_ID;
111
+ // Per-call `voice` overrides whatever's encoded in the model string.
112
+ // Falls back to the model-string voice id, then DEFAULT_VOICE_ID.
113
+ const voiceId = options.voice ?? this.modelOrVoiceId ?? DEFAULT_VOICE_ID;
114
+ const ourFormat = options.format ?? 'mp3';
115
+ const elevenFormat = elevenLabsOutputFormat(ourFormat);
116
+ const url = `${baseUrl}/v1/text-to-speech/${encodeURIComponent(voiceId)}?output_format=${elevenFormat}`;
117
+ const response = await fetch(url, {
118
+ method: 'POST',
119
+ headers: {
120
+ 'xi-api-key': this.config.apiKey,
121
+ 'Content-Type': 'application/json',
122
+ 'Accept': acceptForFormat(ourFormat),
123
+ },
124
+ body: JSON.stringify({
125
+ text: options.text,
126
+ model_id: ttsModelId,
127
+ }),
128
+ });
129
+ if (!response.ok) {
130
+ const text = await safeText(response);
131
+ throw new Error(`[RudderJS AI] ElevenLabs TTS failed (${response.status}): ${text}`);
132
+ }
133
+ const arrayBuffer = await response.arrayBuffer();
134
+ return {
135
+ audio: Buffer.from(arrayBuffer),
136
+ format: ourFormat,
137
+ // Returned as the voice id the caller used — that's the load-bearing
138
+ // discriminator for ElevenLabs (TTS model id is a deployment knob).
139
+ model: voiceId,
140
+ };
141
+ }
142
+ }
143
+ // ─── STT Adapter ─────────────────────────────────────────
144
+ class ElevenLabsSttAdapter {
145
+ config;
146
+ model;
147
+ constructor(config, model) {
148
+ this.config = config;
149
+ this.model = model;
150
+ }
151
+ async transcribe(options) {
152
+ const baseUrl = this.config.baseUrl ?? ELEVENLABS_BASE_URL;
153
+ const url = `${baseUrl}/v1/speech-to-text`;
154
+ // Multipart form with the audio Blob + the model id (+ optional language).
155
+ // ElevenLabs's only STT model today is `scribe_v1`; the field is
156
+ // required so we always send it.
157
+ const form = new FormData();
158
+ const audioBlob = new Blob([toUint8Array(options.audio)], { type: 'audio/mpeg' });
159
+ form.append('file', audioBlob, 'audio');
160
+ form.append('model_id', this.model);
161
+ if (options.language)
162
+ form.append('language_code', options.language);
163
+ const response = await fetch(url, {
164
+ method: 'POST',
165
+ headers: { 'xi-api-key': this.config.apiKey },
166
+ body: form,
167
+ });
168
+ if (!response.ok) {
169
+ const text = await safeText(response);
170
+ throw new Error(`[RudderJS AI] ElevenLabs STT failed (${response.status}): ${text}`);
171
+ }
172
+ const data = await response.json();
173
+ const text = typeof data.text === 'string' ? data.text : '';
174
+ const language = typeof data.language_code === 'string' ? data.language_code : undefined;
175
+ const duration = lastWordEnd(data.words);
176
+ const result = { text, model: this.model };
177
+ if (language !== undefined)
178
+ result.language = language;
179
+ if (duration !== undefined)
180
+ result.duration = duration;
181
+ return result;
182
+ }
183
+ }
184
+ // ─── Helpers ─────────────────────────────────────────────
185
+ function elevenLabsOutputFormat(format) {
186
+ switch (format) {
187
+ case 'mp3': return 'mp3_44100_128';
188
+ case 'opus': return 'opus_48000_128';
189
+ case 'wav':
190
+ case 'aac':
191
+ case 'flac':
192
+ throw new Error(`[RudderJS AI] ElevenLabs TTS does not support format '${format}'. ` +
193
+ `Supported: 'mp3' (default), 'opus'. ` +
194
+ `Generate the source as mp3 and re-encode if you need ${format}, or use a provider with native ${format} support.`);
195
+ }
196
+ }
197
+ function acceptForFormat(format) {
198
+ switch (format) {
199
+ case 'mp3': return 'audio/mpeg';
200
+ case 'opus': return 'audio/opus';
201
+ // The throwing cases above never reach here, but TypeScript doesn't
202
+ // know — return a neutral value so the type stays satisfied.
203
+ default: return 'application/octet-stream';
204
+ }
205
+ }
206
+ function toUint8Array(audio) {
207
+ if (audio instanceof Uint8Array)
208
+ return audio;
209
+ if (audio instanceof ArrayBuffer)
210
+ return new Uint8Array(audio);
211
+ // Buffer is a Uint8Array — the typeof check above already handles it,
212
+ // but the function signature widens for safety.
213
+ return new Uint8Array(audio);
214
+ }
215
+ function lastWordEnd(words) {
216
+ if (!Array.isArray(words) || words.length === 0)
217
+ return undefined;
218
+ const last = words[words.length - 1]?.end;
219
+ return typeof last === 'number' ? last : undefined;
220
+ }
221
+ async function safeText(response) {
222
+ try {
223
+ return await response.text();
224
+ }
225
+ catch {
226
+ return '<unreadable response body>';
227
+ }
228
+ }
229
+ //# sourceMappingURL=elevenlabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elevenlabs.js","sourceRoot":"","sources":["../../src/providers/elevenlabs.ts"],"names":[],"mappings":"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"}