@rudderjs/ai 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -187,6 +187,52 @@ const searchTool = toolDefinition({
187
187
 
188
188
  The UI still receives `{ results, total }` in the tool-result chunk — useful for rendering a rich results card — but the model only sees the summary string on its next step. Smaller context, same UX.
189
189
 
190
+ ### Subagents — `agent.asTool()`
191
+
192
+ Wrap one agent as a tool another agent can call. The parent delegates work; the subagent runs its own loop end-to-end (its own model, tools, middleware) and returns a single result.
193
+
194
+ ```ts
195
+ class Researcher extends Agent implements HasTools {
196
+ instructions() { return 'You research topics and return concise summaries.' }
197
+ model() { return 'anthropic/claude-sonnet-4-6' }
198
+ tools() { return [searchTool, readUrlTool] }
199
+ }
200
+
201
+ class Planner extends Agent implements HasTools {
202
+ instructions() { return 'You break work into steps. Use `research` for facts.' }
203
+ model() { return 'anthropic/claude-opus-4-7' }
204
+ tools() {
205
+ return [
206
+ new Researcher().asTool({
207
+ name: 'research',
208
+ description: 'Research a topic in depth and return a summary.',
209
+ }),
210
+ ]
211
+ }
212
+ }
213
+
214
+ await new Planner().prompt('Plan a launch for our new ORM feature.')
215
+ ```
216
+
217
+ Defaults are tuned for the zero-config case:
218
+
219
+ - `inputSchema` defaults to `{ prompt: string }` and the subagent runs with `input.prompt`.
220
+ - The parent model only sees `response.text` on its next step (override with `modelOutput`); the UI still receives the full `AgentResponse` via the `tool-result` chunk.
221
+
222
+ For a typed input schema, pass an explicit `inputSchema` and a `prompt` mapper:
223
+
224
+ ```ts
225
+ new Researcher().asTool({
226
+ name: 'research',
227
+ description: 'Research a topic in depth.',
228
+ inputSchema: z.object({ topic: z.string(), depth: z.enum(['quick', 'deep']) }),
229
+ prompt: ({ topic, depth }) => `Research ${topic} at ${depth} depth.`,
230
+ modelOutput: (r) => `${r.steps.length} step(s); ${r.text.slice(0, 280)}…`,
231
+ })
232
+ ```
233
+
234
+ The wrapped subagent runs via `prompt()` (non-streaming) regardless of how the parent was invoked. Token deltas from the subagent are not surfaced as `tool-update` chunks in the parent stream — if you need that, write the wrapping tool by hand and drive `agent.stream(...)` yourself.
235
+
190
236
  ### Tool execution context
191
237
 
192
238
  Server-tool executes can optionally accept a second `ctx: ToolCallContext`
@@ -309,6 +355,20 @@ const response = await new ResilientAgent().prompt('Hello')
309
355
 
310
356
  Works with both `prompt()` and `stream()`.
311
357
 
358
+ The same pattern is available on the media generators (Image, Audio, Transcription) — pass extra provider/model strings to `.failover(...)`:
359
+
360
+ ```ts
361
+ await ImageGenerator.of('A donut')
362
+ .model('openai/dall-e-3')
363
+ .failover('google/imagen-3', 'azure/dall-e-3')
364
+ .generate()
365
+
366
+ await AudioGenerator.of('Hello').model('openai/tts-1-hd').failover('elevenlabs/eleven_multilingual_v2').generate()
367
+ await Transcription.fromBytes(bytes).model('openai/whisper-1').failover('google/gemini-2.0-flash-exp').generate()
368
+ ```
369
+
370
+ Tried in order. If the primary fails (provider error, capability missing, etc.), the next candidate runs. Only the last error surfaces if every candidate fails.
371
+
312
372
  ### Image Generation
313
373
 
314
374
  ```ts
@@ -559,6 +619,18 @@ fake.assertEmbedded() fake.assertReranked()
559
619
  fake.assertFileUploaded()
560
620
  ```
561
621
 
622
+ **Strict mode (`preventStrayPrompts`).** Without it, an unscripted prompt silently falls back to the ambient `respondWith` default — which means a test that forgets to assert anything still passes. Strict mode flips that around: any prompt without a matching scripted response throws.
623
+
624
+ ```ts
625
+ const fake = AiFake.fake().preventStrayPrompts()
626
+ fake.respondWithSequence([{ text: 'expected reply' }])
627
+
628
+ await new ChatAgent().prompt('hello') // OK — consumes step 0
629
+ await new ChatAgent().prompt('again') // throws "Stray prompt: no scripted response at step 1"
630
+ ```
631
+
632
+ Under strict mode, only `respondWithSequence` entries count as valid responses; ambient `respondWith` is ignored. Force a single-step script via `respondWithSequence([{ text: '...' }])` if you want exact-one-prompt tests with content.
633
+
562
634
  ## Providers
563
635
 
564
636
  | Provider | SDK | Model String | Text | Embeddings | Images | TTS/STT | Reranking | Files |
@@ -48,7 +48,7 @@ export default [AiProvider]
48
48
 
49
49
  Provider auto-discovery (`defaultProviders()`) finds `AiProvider` automatically via the `rudderjs.providerSubpath` field in `@rudderjs/ai/package.json` — no manual subpath import needed when using auto-discovery.
50
50
 
51
- Agents support failover: `failover() { return ['openai/gpt-4o'] }`
51
+ Agents support failover: `failover() { return ['openai/gpt-4o'] }`. The same pattern is on the media generators: `ImageGenerator.of('...').model('openai/dall-e-3').failover('google/imagen-3').generate()` (also `AudioGenerator`, `Transcription`).
52
52
 
53
53
  ### Tools
54
54
 
@@ -62,6 +62,26 @@ const weatherTool = toolDefinition({
62
62
  }).server(async ({ location }) => ({ temp: 72, unit: 'F', location }))
63
63
  ```
64
64
 
65
+ ### Subagents (`agent.asTool()`)
66
+
67
+ Wrap one agent as a tool another agent can call. Defaults: `inputSchema = { prompt: string }`, `modelOutput = response.text`. Pass `inputSchema` + `prompt` for a typed schema.
68
+
69
+ ```ts
70
+ class Planner extends Agent implements HasTools {
71
+ instructions() { return 'You break work into steps. Use `research` for facts.' }
72
+ tools() {
73
+ return [
74
+ new ResearchAgent().asTool({
75
+ name: 'research',
76
+ description: 'Research a topic in depth.',
77
+ }),
78
+ ]
79
+ }
80
+ }
81
+ ```
82
+
83
+ The subagent runs via `prompt()` (non-streaming); for `tool-update` chunks from a streaming subagent, write the wrapping tool by hand.
84
+
65
85
  ### Middleware
66
86
 
67
87
  Middleware hooks into the agent loop lifecycle. Hooks: `onConfig`, `onStart`, `onIteration`, `onChunk`, `onBeforeToolCall`, `onAfterToolCall`, `onToolPhaseComplete`, `onUsage`, `onAbort`, `onError`, `onFinish`.
package/dist/agent.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { z } from 'zod';
2
+ import type { ServerToolBuilder } from './tool.js';
1
3
  import { QueuedPromptBuilder } from './queue-job.js';
2
4
  import type { AgentPromptOptions, AiMessage, AiMiddleware, AgentResponse, AgentStep, AgentStreamResponse, AnyTool, ConversationStore, HasMiddleware, HasTools, PrepareStepResult, StopCondition } from './types.js';
3
5
  /** Stop after N steps */
@@ -42,6 +44,48 @@ export declare abstract class Agent {
42
44
  forUser(userId: string): ConversableAgent;
43
45
  /** Continue an existing conversation */
44
46
  continue(conversationId: string): ConversableAgent;
47
+ /**
48
+ * Wrap this agent as a tool another agent can call (the "subagents"
49
+ * pattern). The returned tool is fully-formed — pass it directly into the
50
+ * parent agent's `tools()` array. When the parent calls it, this agent
51
+ * runs its own loop end-to-end (its own model, tools, middleware) and
52
+ * returns a single result.
53
+ *
54
+ * Defaults are tuned for the zero-config case:
55
+ * - `inputSchema` defaults to `{ prompt: string }` and the agent is
56
+ * invoked with `input.prompt`.
57
+ * - The parent model only sees `response.text` on its next step
58
+ * (override with `modelOutput`); the UI still receives the full
59
+ * `AgentResponse` via the `tool-result` chunk.
60
+ *
61
+ * @example Zero-config
62
+ * const research = researchAgent.asTool({
63
+ * name: 'research',
64
+ * description: 'Research a topic in depth.',
65
+ * })
66
+ *
67
+ * @example Custom schema + prompt mapper
68
+ * const research = researchAgent.asTool({
69
+ * name: 'research',
70
+ * description: 'Research a topic in depth.',
71
+ * inputSchema: z.object({ topic: z.string(), depth: z.enum(['quick', 'deep']) }),
72
+ * prompt: ({ topic, depth }) => `Research ${topic} (${depth}).`,
73
+ * })
74
+ */
75
+ asTool<TInput extends z.ZodType>(options: {
76
+ name: string;
77
+ description: string;
78
+ inputSchema: TInput;
79
+ prompt: (input: z.infer<TInput>) => string;
80
+ modelOutput?: (response: AgentResponse) => string | Promise<string>;
81
+ }): ServerToolBuilder<z.infer<TInput>, AgentResponse>;
82
+ asTool(options: {
83
+ name: string;
84
+ description: string;
85
+ modelOutput?: (response: AgentResponse) => string | Promise<string>;
86
+ }): ServerToolBuilder<{
87
+ prompt: string;
88
+ }, AgentResponse>;
45
89
  }
46
90
  /**
47
91
  * Wraps an Agent to add conversation memory.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js CHANGED
@@ -1,5 +1,6 @@
1
+ import { z } from 'zod';
1
2
  import { AiRegistry } from './registry.js';
2
- import { isPauseForClientToolsChunk, toolToSchema } from './tool.js';
3
+ import { isPauseForClientToolsChunk, toolDefinition, toolToSchema } from './tool.js';
3
4
  import { attachmentsToContentParts, getMessageText } from './attachment.js';
4
5
  import { QueuedPromptBuilder } from './queue-job.js';
5
6
  import { runOnConfig, runOnChunk, runOnBeforeToolCall, runOnAfterToolCall, runSequential, runOnUsage, runOnAbort, runOnError, } from './middleware.js';
@@ -81,6 +82,18 @@ export class Agent {
81
82
  continue(conversationId) {
82
83
  return new ConversableAgent(this).continue(conversationId);
83
84
  }
85
+ asTool(options) {
86
+ const schema = options.inputSchema ?? z.object({ prompt: z.string() });
87
+ const promptOf = options.prompt ?? ((input) => input.prompt);
88
+ const modelOutput = options.modelOutput ?? ((response) => response.text);
89
+ return toolDefinition({
90
+ name: options.name,
91
+ description: options.description,
92
+ inputSchema: schema,
93
+ })
94
+ .server((input) => this.prompt(promptOf(input)))
95
+ .modelOutput(modelOutput);
96
+ }
84
97
  }
85
98
  // ─── Conversable Agent (conversation persistence) ───────
86
99
  /**
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/audio.d.ts CHANGED
@@ -6,6 +6,12 @@ type AudioFormat = 'mp3' | 'opus' | 'aac' | 'flac' | 'wav';
6
6
  * @example
7
7
  * const result = await AudioGenerator.of('Hello world').voice('alloy').generate()
8
8
  * await AudioGenerator.of('Hello').format('wav').store('audio/greeting.wav')
9
+ *
10
+ * @example Failover across providers
11
+ * const result = await AudioGenerator.of('Hello')
12
+ * .model('openai/tts-1-hd')
13
+ * .failover('elevenlabs/eleven_multilingual_v2')
14
+ * .generate()
9
15
  */
10
16
  export declare class AudioGenerator {
11
17
  private readonly _text;
@@ -13,11 +19,17 @@ export declare class AudioGenerator {
13
19
  private _voice?;
14
20
  private _speed?;
15
21
  private _format?;
22
+ private _failover;
16
23
  private constructor();
17
24
  /** Create an AudioGenerator for the given text */
18
25
  static of(text: string): AudioGenerator;
19
26
  /** Set the TTS model (e.g. 'openai/tts-1-hd') */
20
27
  model(m: string): this;
28
+ /**
29
+ * Provider/model strings to try if the primary fails.
30
+ * Tried in order; the first to succeed wins.
31
+ */
32
+ failover(...models: string[]): this;
21
33
  /** Set the voice (e.g. 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer') */
22
34
  voice(v: string): this;
23
35
  /** Set playback speed (0.25 to 4.0) */
@@ -1 +1 @@
1
- {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,KAAK,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAE1D;;;;;;GAMG;AACH,qBAAa,cAAc;IAML,OAAO,CAAC,QAAQ,CAAC,KAAK;IAL1C,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAC,CAAa;IAE7B,OAAO;IAEP,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAIvC,iDAAiD;IACjD,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,+EAA+E;IAC/E,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,uCAAuC;IACvC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,8BAA8B;IAC9B,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAK5B,yBAAyB;IACnB,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAsB7C,wDAAwD;IAClD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgB3C"}
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,KAAK,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAE1D;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAc;IAOL,OAAO,CAAC,QAAQ,CAAC,KAAK;IAN1C,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO;IAEP,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAIvC,iDAAiD;IACjD,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB;;;OAGG;IACH,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKnC,+EAA+E;IAC/E,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,uCAAuC;IACvC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,8BAA8B;IAC9B,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAK5B,yBAAyB;IACnB,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAwB7C,wDAAwD;IAClD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgB3C"}
package/dist/audio.js CHANGED
@@ -1,10 +1,16 @@
1
- import { AiRegistry } from './registry.js';
1
+ import { AiRegistry, tryWithFailover } from './registry.js';
2
2
  /**
3
3
  * Fluent builder for text-to-speech generation.
4
4
  *
5
5
  * @example
6
6
  * const result = await AudioGenerator.of('Hello world').voice('alloy').generate()
7
7
  * await AudioGenerator.of('Hello').format('wav').store('audio/greeting.wav')
8
+ *
9
+ * @example Failover across providers
10
+ * const result = await AudioGenerator.of('Hello')
11
+ * .model('openai/tts-1-hd')
12
+ * .failover('elevenlabs/eleven_multilingual_v2')
13
+ * .generate()
8
14
  */
9
15
  export class AudioGenerator {
10
16
  _text;
@@ -12,6 +18,7 @@ export class AudioGenerator {
12
18
  _voice;
13
19
  _speed;
14
20
  _format;
21
+ _failover = [];
15
22
  constructor(_text) {
16
23
  this._text = _text;
17
24
  }
@@ -24,6 +31,14 @@ export class AudioGenerator {
24
31
  this._model = m;
25
32
  return this;
26
33
  }
34
+ /**
35
+ * Provider/model strings to try if the primary fails.
36
+ * Tried in order; the first to succeed wins.
37
+ */
38
+ failover(...models) {
39
+ this._failover = models;
40
+ return this;
41
+ }
27
42
  /** Set the voice (e.g. 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer') */
28
43
  voice(v) {
29
44
  this._voice = v;
@@ -41,20 +56,22 @@ export class AudioGenerator {
41
56
  }
42
57
  /** Generate the audio */
43
58
  async generate() {
44
- const modelString = this._model ?? AiRegistry.getDefault();
45
- const [providerName, modelId] = AiRegistry.parseModelString(modelString);
46
- const factory = AiRegistry.getFactory(providerName);
47
- if (!factory.createTts) {
48
- throw new Error(`[RudderJS AI] Provider "${providerName}" does not support text-to-speech. ` +
49
- `Use a provider that implements createTts() (e.g. openai).`);
50
- }
51
- const adapter = factory.createTts(modelId);
52
- return adapter.generate({
53
- text: this._text,
54
- model: modelId,
55
- voice: this._voice,
56
- speed: this._speed,
57
- format: this._format,
59
+ const primary = this._model ?? AiRegistry.getDefault();
60
+ return tryWithFailover(primary, this._failover, async (modelString) => {
61
+ const [providerName, modelId] = AiRegistry.parseModelString(modelString);
62
+ const factory = AiRegistry.getFactory(providerName);
63
+ if (!factory.createTts) {
64
+ throw new Error(`[RudderJS AI] Provider "${providerName}" does not support text-to-speech. ` +
65
+ `Use a provider that implements createTts() (e.g. openai).`);
66
+ }
67
+ const adapter = factory.createTts(modelId);
68
+ return adapter.generate({
69
+ text: this._text,
70
+ model: modelId,
71
+ voice: this._voice,
72
+ speed: this._speed,
73
+ format: this._format,
74
+ });
58
75
  });
59
76
  }
60
77
  /** Generate audio and store it via @rudderjs/storage */
package/dist/audio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK1C;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IAMY;IAL7B,MAAM,CAAS;IACf,MAAM,CAAS;IACf,MAAM,CAAS;IACf,OAAO,CAAc;IAE7B,YAAqC,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAEtD,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,IAAY;QACpB,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,CAAc;QACnB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,QAAQ;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;QAC1D,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACxE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAEnD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,qCAAqC;gBAC5E,2DAA2D,CAC5D,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1C,OAAO,OAAO,CAAC,QAAQ,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAA;IACJ,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEpC,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,mBAA6B,CAAC,CAAA;YAC1E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YAC3B,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YAC5C,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,0EAA0E;gBAC1E,wCAAwC,CACzC,CAAA;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAK3D;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,cAAc;IAOY;IAN7B,MAAM,CAAS;IACf,MAAM,CAAS;IACf,MAAM,CAAS;IACf,OAAO,CAAc;IACrB,SAAS,GAAa,EAAE,CAAA;IAEhC,YAAqC,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAEtD,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,IAAY;QACpB,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,GAAG,MAAgB;QAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,CAAc;QACnB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;QACtD,OAAO,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACpE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;YACxE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;YAEnD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,qCAAqC;oBAC5E,2DAA2D,CAC5D,CAAA;YACH,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAC1C,OAAO,OAAO,CAAC,QAAQ,CAAC;gBACtB,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,MAAM,EAAE,IAAI,CAAC,OAAO;aACrB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEpC,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,mBAA6B,CAAC,CAAA;YAC1E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YAC3B,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YAC5C,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,0EAA0E;gBAC1E,wCAAwC,CACzC,CAAA;QACH,CAAC;IACH,CAAC;CACF"}
package/dist/fake.d.ts CHANGED
@@ -54,6 +54,7 @@ export declare class AiFake {
54
54
  private _response;
55
55
  private _sequence;
56
56
  private readonly _failures;
57
+ private _preventStray;
57
58
  private _imageResponse;
58
59
  private _ttsResponse;
59
60
  private _sttResponse;
@@ -62,6 +63,28 @@ export declare class AiFake {
62
63
  private _fileUploadResponse;
63
64
  /** Set the text response the fake will return */
64
65
  respondWith(text: string): void;
66
+ /**
67
+ * Strict mode — throw when the agent makes a prompt the fake doesn't have a
68
+ * scripted response for.
69
+ *
70
+ * Without this, an unscripted prompt silently falls back to the ambient
71
+ * `respondWith` default (`'fake response'` if untouched). That behavior
72
+ * makes tests pass even when they accidentally trigger an extra prompt the
73
+ * test never asserted on.
74
+ *
75
+ * Under strict mode, only entries from {@link respondWithSequence} count
76
+ * as valid responses; the ambient `respondWith` default is **not used**.
77
+ * Force a single-step script via `respondWithSequence([{ text: '...' }])`
78
+ * if you need an exact-one-prompt test that still returns content.
79
+ *
80
+ * @example
81
+ * const fake = AiFake.fake().preventStrayPrompts()
82
+ * fake.respondWithSequence([{ text: 'expected reply' }])
83
+ *
84
+ * await new ChatAgent().prompt('hello') // OK
85
+ * await new ChatAgent().prompt('again') // throws — no second script entry
86
+ */
87
+ preventStrayPrompts(): this;
65
88
  /**
66
89
  * Script a multi-step provider response. Each entry in `steps` corresponds
67
90
  * to one provider call (the Nth `generate`/`stream` invocation consumes
@@ -1 +1 @@
1
- {"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../src/fake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../src/fake.ts"],"names":[],"mappings":"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"}
package/dist/fake.js CHANGED
@@ -35,6 +35,7 @@ export class AiFake {
35
35
  _response = 'fake response';
36
36
  _sequence = [];
37
37
  _failures = new Map();
38
+ _preventStray = false;
38
39
  _imageResponse = 'ZmFrZS1pbWFnZQ=='; // base64 of 'fake-image'
39
40
  _ttsResponse = Buffer.from('fake-audio');
40
41
  _sttResponse = 'fake transcription';
@@ -45,6 +46,31 @@ export class AiFake {
45
46
  respondWith(text) {
46
47
  this._response = text;
47
48
  }
49
+ /**
50
+ * Strict mode — throw when the agent makes a prompt the fake doesn't have a
51
+ * scripted response for.
52
+ *
53
+ * Without this, an unscripted prompt silently falls back to the ambient
54
+ * `respondWith` default (`'fake response'` if untouched). That behavior
55
+ * makes tests pass even when they accidentally trigger an extra prompt the
56
+ * test never asserted on.
57
+ *
58
+ * Under strict mode, only entries from {@link respondWithSequence} count
59
+ * as valid responses; the ambient `respondWith` default is **not used**.
60
+ * Force a single-step script via `respondWithSequence([{ text: '...' }])`
61
+ * if you need an exact-one-prompt test that still returns content.
62
+ *
63
+ * @example
64
+ * const fake = AiFake.fake().preventStrayPrompts()
65
+ * fake.respondWithSequence([{ text: 'expected reply' }])
66
+ *
67
+ * await new ChatAgent().prompt('hello') // OK
68
+ * await new ChatAgent().prompt('again') // throws — no second script entry
69
+ */
70
+ preventStrayPrompts() {
71
+ this._preventStray = true;
72
+ return this;
73
+ }
48
74
  /**
49
75
  * Script a multi-step provider response. Each entry in `steps` corresponds
50
76
  * to one provider call (the Nth `generate`/`stream` invocation consumes
@@ -102,6 +128,8 @@ export class AiFake {
102
128
  /** Install the fake — replaces all registered providers with a mock */
103
129
  static fake() {
104
130
  const fake = new AiFake();
131
+ const strayError = (stepIndex) => new Error(`[RudderJS AI] Stray prompt: no scripted response at step ${stepIndex}. ` +
132
+ `Add an entry via respondWithSequence([...]) or remove preventStrayPrompts().`);
105
133
  const adapter = {
106
134
  async generate(opts) {
107
135
  const stepIndex = fake.calls.length;
@@ -121,6 +149,8 @@ export class AiFake {
121
149
  finishReason: next.finishReason ?? (next.toolCalls ? 'tool_calls' : 'stop'),
122
150
  };
123
151
  }
152
+ if (fake._preventStray)
153
+ throw strayError(stepIndex);
124
154
  return {
125
155
  message: { role: 'assistant', content: fake._response },
126
156
  usage: { promptTokens: 0, completionTokens: 0, totalTokens: 0 },
@@ -148,6 +178,8 @@ export class AiFake {
148
178
  };
149
179
  return;
150
180
  }
181
+ if (fake._preventStray)
182
+ throw strayError(stepIndex);
151
183
  yield { type: 'text-delta', text: fake._response };
152
184
  yield { type: 'finish', finishReason: 'stop', usage: { promptTokens: 0, completionTokens: 0, totalTokens: 0 } };
153
185
  },
package/dist/fake.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fake.js","sourceRoot":"","sources":["../src/fake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake.js","sourceRoot":"","sources":["../src/fake.ts"],"names":[],"mappings":"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"}
package/dist/image.d.ts CHANGED
@@ -5,6 +5,12 @@ import type { ImageGenerationResult } from './types.js';
5
5
  * @example
6
6
  * const result = await ImageGenerator.of('A sunset over mountains').size('landscape').generate()
7
7
  * const path = await ImageGenerator.of('A logo').model('openai/dall-e-3').store('images/logo.png')
8
+ *
9
+ * @example Failover across providers
10
+ * const result = await ImageGenerator.of('A donut')
11
+ * .model('openai/dall-e-3')
12
+ * .failover('google/imagen-3', 'azure/dall-e-3')
13
+ * .generate()
8
14
  */
9
15
  export declare class ImageGenerator {
10
16
  private readonly _prompt;
@@ -13,9 +19,16 @@ export declare class ImageGenerator {
13
19
  private _quality;
14
20
  private _style;
15
21
  private _n;
22
+ private _failover;
16
23
  private constructor();
17
24
  static of(prompt: string): ImageGenerator;
18
25
  model(model: string): this;
26
+ /**
27
+ * Provider/model strings to try if the primary fails.
28
+ * Tried in order; the first to succeed wins. Swallows individual errors,
29
+ * surfaces only the last one if every candidate fails.
30
+ */
31
+ failover(...models: string[]): this;
19
32
  size(size: string): this;
20
33
  quality(quality: 'standard' | 'hd'): this;
21
34
  style(style: 'natural' | 'vivid'): this;
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAE/E;;;;;;GAMG;AACH,qBAAa,cAAc;IAOL,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN5C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,EAAE,CAAoB;IAE9B,OAAO;IAEP,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAIzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAKzC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,IAAI;IAKvC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhB,QAAQ,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAuBhD,iFAAiF;IAC3E,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwB3C"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAE/E;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAc;IAQL,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP5C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO;IAEP,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAIzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;OAIG;IACH,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKnC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAKzC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,IAAI;IAKvC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhB,QAAQ,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAyBhD,iFAAiF;IAC3E,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwB3C"}
package/dist/image.js CHANGED
@@ -1,10 +1,16 @@
1
- import { AiRegistry } from './registry.js';
1
+ import { AiRegistry, tryWithFailover } from './registry.js';
2
2
  /**
3
3
  * Fluent image generation facade.
4
4
  *
5
5
  * @example
6
6
  * const result = await ImageGenerator.of('A sunset over mountains').size('landscape').generate()
7
7
  * const path = await ImageGenerator.of('A logo').model('openai/dall-e-3').store('images/logo.png')
8
+ *
9
+ * @example Failover across providers
10
+ * const result = await ImageGenerator.of('A donut')
11
+ * .model('openai/dall-e-3')
12
+ * .failover('google/imagen-3', 'azure/dall-e-3')
13
+ * .generate()
8
14
  */
9
15
  export class ImageGenerator {
10
16
  _prompt;
@@ -13,6 +19,7 @@ export class ImageGenerator {
13
19
  _quality;
14
20
  _style;
15
21
  _n;
22
+ _failover = [];
16
23
  constructor(_prompt) {
17
24
  this._prompt = _prompt;
18
25
  }
@@ -23,6 +30,15 @@ export class ImageGenerator {
23
30
  this._model = model;
24
31
  return this;
25
32
  }
33
+ /**
34
+ * Provider/model strings to try if the primary fails.
35
+ * Tried in order; the first to succeed wins. Swallows individual errors,
36
+ * surfaces only the last one if every candidate fails.
37
+ */
38
+ failover(...models) {
39
+ this._failover = models;
40
+ return this;
41
+ }
26
42
  size(size) {
27
43
  this._size = size;
28
44
  return this;
@@ -40,26 +56,28 @@ export class ImageGenerator {
40
56
  return this;
41
57
  }
42
58
  async generate() {
43
- const modelStr = this._model ?? AiRegistry.getDefault();
44
- const [providerName, modelName] = AiRegistry.parseModelString(modelStr);
45
- const factory = AiRegistry.getFactory(providerName);
46
- if (!factory.createImage) {
47
- throw new Error(`[RudderJS AI] Provider "${providerName}" does not support image generation.`);
48
- }
49
- const adapter = factory.createImage(modelName);
50
- const options = {
51
- prompt: this._prompt,
52
- model: modelStr,
53
- };
54
- if (this._size !== undefined)
55
- options.size = this._size;
56
- if (this._quality !== undefined)
57
- options.quality = this._quality;
58
- if (this._style !== undefined)
59
- options.style = this._style;
60
- if (this._n !== undefined)
61
- options.n = this._n;
62
- return adapter.generate(options);
59
+ const primary = this._model ?? AiRegistry.getDefault();
60
+ return tryWithFailover(primary, this._failover, async (modelStr) => {
61
+ const [providerName, modelName] = AiRegistry.parseModelString(modelStr);
62
+ const factory = AiRegistry.getFactory(providerName);
63
+ if (!factory.createImage) {
64
+ throw new Error(`[RudderJS AI] Provider "${providerName}" does not support image generation.`);
65
+ }
66
+ const adapter = factory.createImage(modelName);
67
+ const options = {
68
+ prompt: this._prompt,
69
+ model: modelStr,
70
+ };
71
+ if (this._size !== undefined)
72
+ options.size = this._size;
73
+ if (this._quality !== undefined)
74
+ options.quality = this._quality;
75
+ if (this._style !== undefined)
76
+ options.style = this._style;
77
+ if (this._n !== undefined)
78
+ options.n = this._n;
79
+ return adapter.generate(options);
80
+ });
63
81
  }
64
82
  /** Generate and store the first image to storage. Requires @rudderjs/storage. */
65
83
  async store(path) {
package/dist/image.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
package/dist/output.js CHANGED
@@ -50,6 +50,11 @@ function extractJson(text) {
50
50
  .replace(/^```(?:json)?\s*\n?/m, '')
51
51
  .replace(/\n?```\s*$/m, '')
52
52
  .trim();
53
- return JSON.parse(stripped);
53
+ try {
54
+ return JSON.parse(stripped);
55
+ }
56
+ catch (err) {
57
+ throw new Error(`[RudderJS AI] Failed to parse JSON from model output: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
58
+ }
54
59
  }
55
60
  //# sourceMappingURL=output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AASzD,MAAM,OAAO,MAAM;IACjB,+CAA+C;IAC/C,MAAM,CAAC,MAAM,CAA0B,IAAgC;QACrE,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,CAAC,IAAY;gBAChB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAChC,CAAC;YACD,cAAc;gBACZ,OAAO,iGAAiG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;YACjK,CAAC;SACF,CAAA;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,CAAC,KAAK,CAAsB,IAAoB;QACpD,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzC,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,WAAsC;YAC9C,KAAK,CAAC,IAAY;gBAChB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC9B,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAChC,CAAC;YACD,cAAc;gBACZ,OAAO,8FAA8F,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;YAC/J,CAAC;SACF,CAAA;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,CAAC,MAAM,CAAmB,IAAuC;QACrE,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,UAA0B;YAClC,KAAK,CAAC,IAAY;gBAChB,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAM,CAAA;YAC3C,CAAC;YACD,cAAc;gBACZ,OAAO,8CAA8C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAA;YACvH,CAAC;SACF,CAAA;IACH,CAAC;CACF;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,QAAQ,GAAG,IAAI;SAClB,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;SACnC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,IAAI,EAAE,CAAA;IACT,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AASzD,MAAM,OAAO,MAAM;IACjB,+CAA+C;IAC/C,MAAM,CAAC,MAAM,CAA0B,IAAgC;QACrE,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,CAAC,IAAY;gBAChB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAChC,CAAC;YACD,cAAc;gBACZ,OAAO,iGAAiG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;YACjK,CAAC;SACF,CAAA;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,CAAC,KAAK,CAAsB,IAAoB;QACpD,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzC,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,WAAsC;YAC9C,KAAK,CAAC,IAAY;gBAChB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC9B,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAChC,CAAC;YACD,cAAc;gBACZ,OAAO,8FAA8F,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;YAC/J,CAAC;SACF,CAAA;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,CAAC,MAAM,CAAmB,IAAuC;QACrE,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,UAA0B;YAClC,KAAK,CAAC,IAAY;gBAChB,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAM,CAAA;YAC3C,CAAC;YACD,cAAc;gBACZ,OAAO,8CAA8C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAA;YACvH,CAAC;SACF,CAAA;IACH,CAAC;CACF;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,QAAQ,GAAG,IAAI;SAClB,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;SACnC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,IAAI,EAAE,CAAA;IACT,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yDAAyD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3G,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -1,4 +1,21 @@
1
1
  import type { AiModelConfig, ProviderFactory, ProviderAdapter, RerankingAdapter, FileAdapter } from './types.js';
2
+ /**
3
+ * Try a list of provider/model strings in order until one succeeds.
4
+ *
5
+ * Used by the media-generation paths (Image, Audio, Transcription) to give
6
+ * the same failover ergonomics agents already have. The first model is the
7
+ * "primary"; the rest are fallbacks. Errors from earlier candidates are
8
+ * swallowed; only the last error is thrown if every candidate fails.
9
+ *
10
+ * The agent loop has its own failover wired into LoopContext (telemetry,
11
+ * abort handling, observer attempts counter). This is a simpler helper for
12
+ * single-shot calls outside the agent loop.
13
+ *
14
+ * @param primary The user's chosen model string (e.g. `'openai/dall-e-3'`).
15
+ * @param fallbacks Additional candidates to try on failure.
16
+ * @param call Receives each candidate model string and runs the work.
17
+ */
18
+ export declare function tryWithFailover<T>(primary: string, fallbacks: readonly string[], call: (modelString: string) => Promise<T>): Promise<T>;
2
19
  export declare class AiRegistry {
3
20
  private static readonly factories;
4
21
  private static _default;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEhH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAC7C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAsB;IAE5C,kCAAkC;IAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI/C,gDAAgD;IAChD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAMhD,4CAA4C;IAC5C,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5C,4CAA4C;IAC5C,MAAM,CAAC,UAAU,IAAI,MAAM;IAK3B,iEAAiE;IACjE,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAM9D,2DAA2D;IAC3D,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe;IAMpD,4DAA4D;IAC5D,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAY9D,iDAAiD;IACjD,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW;IAWtD,8CAA8C;IAC9C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAI/C,2BAA2B;IAC3B,MAAM,CAAC,SAAS,IAAI,aAAa,EAAE;IAInC,oCAAoC;IACpC,MAAM,CAAC,KAAK,IAAI,IAAI;CAKrB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEhH;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC,CAaZ;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAC7C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAsB;IAE5C,kCAAkC;IAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI/C,gDAAgD;IAChD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAMhD,4CAA4C;IAC5C,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5C,4CAA4C;IAC5C,MAAM,CAAC,UAAU,IAAI,MAAM;IAK3B,iEAAiE;IACjE,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAM9D,2DAA2D;IAC3D,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe;IAMpD,4DAA4D;IAC5D,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAY9D,iDAAiD;IACjD,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW;IAWtD,8CAA8C;IAC9C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAI/C,2BAA2B;IAC3B,MAAM,CAAC,SAAS,IAAI,aAAa,EAAE;IAInC,oCAAoC;IACpC,MAAM,CAAC,KAAK,IAAI,IAAI;CAKrB"}
package/dist/registry.js CHANGED
@@ -1,3 +1,34 @@
1
+ /**
2
+ * Try a list of provider/model strings in order until one succeeds.
3
+ *
4
+ * Used by the media-generation paths (Image, Audio, Transcription) to give
5
+ * the same failover ergonomics agents already have. The first model is the
6
+ * "primary"; the rest are fallbacks. Errors from earlier candidates are
7
+ * swallowed; only the last error is thrown if every candidate fails.
8
+ *
9
+ * The agent loop has its own failover wired into LoopContext (telemetry,
10
+ * abort handling, observer attempts counter). This is a simpler helper for
11
+ * single-shot calls outside the agent loop.
12
+ *
13
+ * @param primary The user's chosen model string (e.g. `'openai/dall-e-3'`).
14
+ * @param fallbacks Additional candidates to try on failure.
15
+ * @param call Receives each candidate model string and runs the work.
16
+ */
17
+ export async function tryWithFailover(primary, fallbacks, call) {
18
+ const candidates = fallbacks.length > 0
19
+ ? [primary, ...fallbacks.filter((m) => m !== primary)]
20
+ : [primary];
21
+ let lastError;
22
+ for (const m of candidates) {
23
+ try {
24
+ return await call(m);
25
+ }
26
+ catch (err) {
27
+ lastError = err instanceof Error ? err : new Error(String(err));
28
+ }
29
+ }
30
+ throw lastError ?? new Error('[RudderJS AI] No provider available for failover.');
31
+ }
1
32
  export class AiRegistry {
2
33
  static factories = new Map();
3
34
  static _default = null;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,19 @@ import type { SpeechToTextResult } from './types.js';
7
7
  *
8
8
  * For Node-only path-based loading, see `@rudderjs/ai/node`:
9
9
  * const t = await transcribeFromPath('./audio.mp3')
10
+ *
11
+ * @example Failover across providers
12
+ * const result = await Transcription.fromBytes(bytes)
13
+ * .model('openai/whisper-1')
14
+ * .failover('google/gemini-2.0-flash-exp')
15
+ * .generate()
10
16
  */
11
17
  export declare class Transcription {
12
18
  private readonly _audio;
13
19
  private _model?;
14
20
  private _language?;
15
21
  private _prompt?;
22
+ private _failover;
16
23
  private constructor();
17
24
  /** Create a Transcription from raw audio bytes */
18
25
  static fromBytes(bytes: Uint8Array): Transcription;
@@ -20,6 +27,11 @@ export declare class Transcription {
20
27
  static fromBuffer(buffer: Uint8Array): Transcription;
21
28
  /** Set the STT model (e.g. 'openai/whisper-1') */
22
29
  model(m: string): this;
30
+ /**
31
+ * Provider/model strings to try if the primary fails.
32
+ * Tried in order; the first to succeed wins.
33
+ */
34
+ failover(...models: string[]): this;
23
35
  /** Set the language hint (ISO-639-1, e.g. 'en', 'es', 'fr') */
24
36
  language(l: string): this;
25
37
  /** Set an optional prompt to guide transcription style */
@@ -1 +1 @@
1
- {"version":3,"file":"transcription.d.ts","sourceRoot":"","sources":["../src/transcription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IAKJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ3C,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAQ;IAExB,OAAO;IAEP,kDAAkD;IAClD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa;IAIlD,uFAAuF;IACvF,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa;IAIpD,kDAAkD;IAClD,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,+DAA+D;IAC/D,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKzB,0DAA0D;IAC1D,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKvB,4BAA4B;IACtB,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAoB9C"}
1
+ {"version":3,"file":"transcription.d.ts","sourceRoot":"","sources":["../src/transcription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IAMJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL3C,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO;IAEP,kDAAkD;IAClD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa;IAIlD,uFAAuF;IACvF,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa;IAIpD,kDAAkD;IAClD,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB;;;OAGG;IACH,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKnC,+DAA+D;IAC/D,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKzB,0DAA0D;IAC1D,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKvB,4BAA4B;IACtB,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAsB9C"}
@@ -1,4 +1,4 @@
1
- import { AiRegistry } from './registry.js';
1
+ import { AiRegistry, tryWithFailover } from './registry.js';
2
2
  /**
3
3
  * Fluent builder for speech-to-text transcription.
4
4
  *
@@ -7,12 +7,19 @@ import { AiRegistry } from './registry.js';
7
7
  *
8
8
  * For Node-only path-based loading, see `@rudderjs/ai/node`:
9
9
  * const t = await transcribeFromPath('./audio.mp3')
10
+ *
11
+ * @example Failover across providers
12
+ * const result = await Transcription.fromBytes(bytes)
13
+ * .model('openai/whisper-1')
14
+ * .failover('google/gemini-2.0-flash-exp')
15
+ * .generate()
10
16
  */
11
17
  export class Transcription {
12
18
  _audio;
13
19
  _model;
14
20
  _language;
15
21
  _prompt;
22
+ _failover = [];
16
23
  constructor(_audio) {
17
24
  this._audio = _audio;
18
25
  }
@@ -29,6 +36,14 @@ export class Transcription {
29
36
  this._model = m;
30
37
  return this;
31
38
  }
39
+ /**
40
+ * Provider/model strings to try if the primary fails.
41
+ * Tried in order; the first to succeed wins.
42
+ */
43
+ failover(...models) {
44
+ this._failover = models;
45
+ return this;
46
+ }
32
47
  /** Set the language hint (ISO-639-1, e.g. 'en', 'es', 'fr') */
33
48
  language(l) {
34
49
  this._language = l;
@@ -41,19 +56,21 @@ export class Transcription {
41
56
  }
42
57
  /** Run the transcription */
43
58
  async generate() {
44
- const modelString = this._model ?? AiRegistry.getDefault();
45
- const [providerName, modelId] = AiRegistry.parseModelString(modelString);
46
- const factory = AiRegistry.getFactory(providerName);
47
- if (!factory.createStt) {
48
- throw new Error(`[RudderJS AI] Provider "${providerName}" does not support speech-to-text. ` +
49
- `Use a provider that implements createStt() (e.g. openai).`);
50
- }
51
- const adapter = factory.createStt(modelId);
52
- return adapter.transcribe({
53
- audio: this._audio,
54
- model: modelId,
55
- language: this._language,
56
- prompt: this._prompt,
59
+ const primary = this._model ?? AiRegistry.getDefault();
60
+ return tryWithFailover(primary, this._failover, async (modelString) => {
61
+ const [providerName, modelId] = AiRegistry.parseModelString(modelString);
62
+ const factory = AiRegistry.getFactory(providerName);
63
+ if (!factory.createStt) {
64
+ throw new Error(`[RudderJS AI] Provider "${providerName}" does not support speech-to-text. ` +
65
+ `Use a provider that implements createStt() (e.g. openai).`);
66
+ }
67
+ const adapter = factory.createStt(modelId);
68
+ return adapter.transcribe({
69
+ audio: this._audio,
70
+ model: modelId,
71
+ language: this._language,
72
+ prompt: this._prompt,
73
+ });
57
74
  });
58
75
  }
59
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transcription.js","sourceRoot":"","sources":["../src/transcription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IAKa;IAJ7B,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,OAAO,CAAS;IAExB,YAAqC,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAE3D,kDAAkD;IAClD,MAAM,CAAC,SAAS,CAAC,KAAiB;QAChC,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,uFAAuF;IACvF,MAAM,CAAC,UAAU,CAAC,MAAkB;QAClC,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+DAA+D;IAC/D,QAAQ,CAAC,CAAS;QAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,0DAA0D;IAC1D,MAAM,CAAC,CAAS;QACd,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,QAAQ;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;QAC1D,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACxE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAEnD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,qCAAqC;gBAC5E,2DAA2D,CAC5D,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1C,OAAO,OAAO,CAAC,UAAU,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"transcription.js","sourceRoot":"","sources":["../src/transcription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,aAAa;IAMa;IAL7B,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,OAAO,CAAS;IAChB,SAAS,GAAa,EAAE,CAAA;IAEhC,YAAqC,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAE3D,kDAAkD;IAClD,MAAM,CAAC,SAAS,CAAC,KAAiB;QAChC,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,uFAAuF;IACvF,MAAM,CAAC,UAAU,CAAC,MAAkB;QAClC,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,GAAG,MAAgB;QAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+DAA+D;IAC/D,QAAQ,CAAC,CAAS;QAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,0DAA0D;IAC1D,MAAM,CAAC,CAAS;QACd,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;QACtD,OAAO,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACpE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;YACxE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;YAEnD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,qCAAqC;oBAC5E,2DAA2D,CAC5D,CAAA;YACH,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAC1C,OAAO,OAAO,CAAC,UAAU,CAAC;gBACxB,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,KAAK,EAAE,OAAO;gBACd,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,MAAM,EAAE,IAAI,CAAC,OAAO;aACrB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/ai",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "AI engine — providers, agents, tools, streaming, middleware",
5
5
  "rudderjs": {
6
6
  "provider": "AiProvider",
@@ -46,7 +46,7 @@
46
46
  "zod": "^4.0.0"
47
47
  },
48
48
  "peerDependencies": {
49
- "@rudderjs/core": "^1.1.2"
49
+ "@rudderjs/core": "^1.1.3"
50
50
  },
51
51
  "peerDependenciesMeta": {
52
52
  "@rudderjs/core": {
@@ -62,8 +62,8 @@
62
62
  "devDependencies": {
63
63
  "@types/node": "^20.0.0",
64
64
  "typescript": "^5.4.0",
65
- "@rudderjs/console": "^1.0.0",
66
- "@rudderjs/core": "^1.1.2"
65
+ "@rudderjs/core": "^1.1.3",
66
+ "@rudderjs/console": "^1.0.1"
67
67
  },
68
68
  "author": "Suleiman Shahbari",
69
69
  "scripts": {