@rudderjs/ai 0.0.1

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 (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +461 -0
  3. package/boost/guidelines.md +150 -0
  4. package/dist/agent.d.ts +74 -0
  5. package/dist/agent.d.ts.map +1 -0
  6. package/dist/agent.js +1070 -0
  7. package/dist/agent.js.map +1 -0
  8. package/dist/attachment.d.ts +35 -0
  9. package/dist/attachment.d.ts.map +1 -0
  10. package/dist/attachment.js +121 -0
  11. package/dist/attachment.js.map +1 -0
  12. package/dist/audio.d.ts +33 -0
  13. package/dist/audio.d.ts.map +1 -0
  14. package/dist/audio.js +76 -0
  15. package/dist/audio.js.map +1 -0
  16. package/dist/cached-embedding.d.ts +14 -0
  17. package/dist/cached-embedding.d.ts.map +1 -0
  18. package/dist/cached-embedding.js +44 -0
  19. package/dist/cached-embedding.js.map +1 -0
  20. package/dist/conversation.d.ts +16 -0
  21. package/dist/conversation.d.ts.map +1 -0
  22. package/dist/conversation.js +53 -0
  23. package/dist/conversation.js.map +1 -0
  24. package/dist/facade.d.ts +53 -0
  25. package/dist/facade.d.ts.map +1 -0
  26. package/dist/facade.js +100 -0
  27. package/dist/facade.js.map +1 -0
  28. package/dist/fake.d.ts +55 -0
  29. package/dist/fake.d.ts.map +1 -0
  30. package/dist/fake.js +172 -0
  31. package/dist/fake.js.map +1 -0
  32. package/dist/image.d.ts +27 -0
  33. package/dist/image.d.ts.map +1 -0
  34. package/dist/image.js +90 -0
  35. package/dist/image.js.map +1 -0
  36. package/dist/index.d.ts +30 -0
  37. package/dist/index.d.ts.map +1 -0
  38. package/dist/index.js +45 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/middleware.d.ts +18 -0
  41. package/dist/middleware.d.ts.map +1 -0
  42. package/dist/middleware.js +72 -0
  43. package/dist/middleware.js.map +1 -0
  44. package/dist/output.d.ts +22 -0
  45. package/dist/output.d.ts.map +1 -0
  46. package/dist/output.js +55 -0
  47. package/dist/output.js.map +1 -0
  48. package/dist/provider-tools.d.ts +60 -0
  49. package/dist/provider-tools.d.ts.map +1 -0
  50. package/dist/provider-tools.js +133 -0
  51. package/dist/provider-tools.js.map +1 -0
  52. package/dist/provider.d.ts +12 -0
  53. package/dist/provider.d.ts.map +1 -0
  54. package/dist/provider.js +94 -0
  55. package/dist/provider.js.map +1 -0
  56. package/dist/providers/anthropic.d.ts +12 -0
  57. package/dist/providers/anthropic.d.ts.map +1 -0
  58. package/dist/providers/anthropic.js +221 -0
  59. package/dist/providers/anthropic.js.map +1 -0
  60. package/dist/providers/azure.d.ts +13 -0
  61. package/dist/providers/azure.d.ts.map +1 -0
  62. package/dist/providers/azure.js +15 -0
  63. package/dist/providers/azure.js.map +1 -0
  64. package/dist/providers/deepseek.d.ts +12 -0
  65. package/dist/providers/deepseek.d.ts.map +1 -0
  66. package/dist/providers/deepseek.js +15 -0
  67. package/dist/providers/deepseek.js.map +1 -0
  68. package/dist/providers/google.d.ts +13 -0
  69. package/dist/providers/google.d.ts.map +1 -0
  70. package/dist/providers/google.js +293 -0
  71. package/dist/providers/google.js.map +1 -0
  72. package/dist/providers/groq.d.ts +12 -0
  73. package/dist/providers/groq.d.ts.map +1 -0
  74. package/dist/providers/groq.js +15 -0
  75. package/dist/providers/groq.js.map +1 -0
  76. package/dist/providers/mistral.d.ts +13 -0
  77. package/dist/providers/mistral.d.ts.map +1 -0
  78. package/dist/providers/mistral.js +46 -0
  79. package/dist/providers/mistral.js.map +1 -0
  80. package/dist/providers/ollama.d.ts +11 -0
  81. package/dist/providers/ollama.d.ts.map +1 -0
  82. package/dist/providers/ollama.js +15 -0
  83. package/dist/providers/ollama.js.map +1 -0
  84. package/dist/providers/openai.d.ts +26 -0
  85. package/dist/providers/openai.d.ts.map +1 -0
  86. package/dist/providers/openai.js +374 -0
  87. package/dist/providers/openai.js.map +1 -0
  88. package/dist/providers/xai.d.ts +12 -0
  89. package/dist/providers/xai.d.ts.map +1 -0
  90. package/dist/providers/xai.js +15 -0
  91. package/dist/providers/xai.js.map +1 -0
  92. package/dist/queue-job.d.ts +35 -0
  93. package/dist/queue-job.d.ts.map +1 -0
  94. package/dist/queue-job.js +82 -0
  95. package/dist/queue-job.js.map +1 -0
  96. package/dist/registry.d.ts +25 -0
  97. package/dist/registry.d.ts.map +1 -0
  98. package/dist/registry.js +54 -0
  99. package/dist/registry.js.map +1 -0
  100. package/dist/tool.d.ts +157 -0
  101. package/dist/tool.d.ts.map +1 -0
  102. package/dist/tool.js +134 -0
  103. package/dist/tool.js.map +1 -0
  104. package/dist/transcription.d.ts +28 -0
  105. package/dist/transcription.d.ts.map +1 -0
  106. package/dist/transcription.js +63 -0
  107. package/dist/transcription.js.map +1 -0
  108. package/dist/types.d.ts +439 -0
  109. package/dist/types.d.ts.map +1 -0
  110. package/dist/types.js +2 -0
  111. package/dist/types.js.map +1 -0
  112. package/dist/vercel-protocol.d.ts +18 -0
  113. package/dist/vercel-protocol.d.ts.map +1 -0
  114. package/dist/vercel-protocol.js +75 -0
  115. package/dist/vercel-protocol.js.map +1 -0
  116. package/dist/zod-to-json-schema.d.ts +8 -0
  117. package/dist/zod-to-json-schema.d.ts.map +1 -0
  118. package/dist/zod-to-json-schema.js +86 -0
  119. package/dist/zod-to-json-schema.js.map +1 -0
  120. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groq.d.ts","sourceRoot":"","sources":["../../src/providers/groq.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEnE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,IAAI,UAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;gBAEvB,MAAM,EAAE,UAAU;IAI9B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;CASvC"}
@@ -0,0 +1,15 @@
1
+ import { OpenAIAdapter } from './openai.js';
2
+ export class GroqProvider {
3
+ name = 'groq';
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.groq.com/openai/v1',
12
+ }, model);
13
+ }
14
+ }
15
+ //# sourceMappingURL=groq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groq.js","sourceRoot":"","sources":["../../src/providers/groq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQ3C,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,MAAM,CAAA;IACL,MAAM,CAAY;IAEnC,YAAY,MAAkB;QAC5B,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,gCAAgC;SACjE,EACD,KAAK,CACN,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import type { ProviderFactory, ProviderAdapter, EmbeddingAdapter } from '../types.js';
2
+ export interface MistralConfig {
3
+ apiKey: string;
4
+ baseUrl?: string | undefined;
5
+ }
6
+ export declare class MistralProvider implements ProviderFactory {
7
+ readonly name = "mistral";
8
+ private readonly config;
9
+ constructor(config: MistralConfig);
10
+ create(model: string): ProviderAdapter;
11
+ createEmbedding(model: string): EmbeddingAdapter;
12
+ }
13
+ //# sourceMappingURL=mistral.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../src/providers/mistral.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAmB,MAAM,aAAa,CAAA;AAEtG,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,aAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE,aAAa;IAIjC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAUtC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;CAGjD"}
@@ -0,0 +1,46 @@
1
+ import { OpenAIAdapter } from './openai.js';
2
+ export class MistralProvider {
3
+ name = 'mistral';
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.mistral.ai/v1',
12
+ }, model);
13
+ }
14
+ createEmbedding(model) {
15
+ return new MistralEmbeddingAdapter(this.config, model);
16
+ }
17
+ }
18
+ // ─── Embedding Adapter ──────────────────────────────────
19
+ class MistralEmbeddingAdapter {
20
+ config;
21
+ model;
22
+ constructor(config, model) {
23
+ this.config = config;
24
+ this.model = model;
25
+ }
26
+ async embed(input) {
27
+ const baseUrl = this.config.baseUrl ?? 'https://api.mistral.ai/v1';
28
+ const inputs = Array.isArray(input) ? input : [input];
29
+ const res = await fetch(`${baseUrl}/embeddings`, {
30
+ method: 'POST',
31
+ headers: {
32
+ 'Authorization': `Bearer ${this.config.apiKey}`,
33
+ 'Content-Type': 'application/json',
34
+ },
35
+ body: JSON.stringify({ model: this.model, input: inputs }),
36
+ });
37
+ if (!res.ok)
38
+ throw new Error(`[RudderJS AI] Mistral embeddings error: ${res.status} ${await res.text()}`);
39
+ const data = await res.json();
40
+ return {
41
+ embeddings: data.data.map(d => d.embedding),
42
+ usage: { promptTokens: data.usage.prompt_tokens, totalTokens: data.usage.total_tokens },
43
+ };
44
+ }
45
+ }
46
+ //# sourceMappingURL=mistral.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mistral.js","sourceRoot":"","sources":["../../src/providers/mistral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQ3C,MAAM,OAAO,eAAe;IACjB,IAAI,GAAG,SAAS,CAAA;IACR,MAAM,CAAe;IAEtC,YAAY,MAAqB;QAC/B,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,2BAA2B;SAC5D,EACD,KAAK,CACN,CAAA;IACH,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACxD,CAAC;CACF;AAED,2DAA2D;AAE3D,MAAM,uBAAuB;IAER;IACA;IAFnB,YACmB,MAAqB,EACrB,KAAa;QADb,WAAM,GAAN,MAAM,CAAe;QACrB,UAAK,GAAL,KAAK,CAAQ;IAC7B,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,KAAwB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAA;QAClE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAErD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,aAAa,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC/C,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SAC3D,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAEzG,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAG1B,CAAA;QAED,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3C,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;SACxF,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import type { ProviderFactory, ProviderAdapter } from '../types.js';
2
+ export interface OllamaConfig {
3
+ baseUrl?: string | undefined;
4
+ }
5
+ export declare class OllamaProvider implements ProviderFactory {
6
+ readonly name = "ollama";
7
+ private readonly config;
8
+ constructor(config?: OllamaConfig);
9
+ create(model: string): ProviderAdapter;
10
+ }
11
+ //# sourceMappingURL=ollama.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/providers/ollama.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEnE,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,IAAI,YAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,GAAE,YAAiB;IAIrC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;CASvC"}
@@ -0,0 +1,15 @@
1
+ import { OpenAIAdapter } from './openai.js';
2
+ export class OllamaProvider {
3
+ name = 'ollama';
4
+ config;
5
+ constructor(config = {}) {
6
+ this.config = config;
7
+ }
8
+ create(model) {
9
+ return new OpenAIAdapter({
10
+ apiKey: 'ollama',
11
+ baseUrl: this.config.baseUrl ?? 'http://localhost:11434/v1',
12
+ }, model);
13
+ }
14
+ }
15
+ //# sourceMappingURL=ollama.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/providers/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAO3C,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAQ,CAAA;IACP,MAAM,CAAc;IAErC,YAAY,SAAuB,EAAE;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,aAAa,CACtB;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,2BAA2B;SAC5D,EACD,KAAK,CACN,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import type { ProviderFactory, ProviderAdapter, EmbeddingAdapter, ImageGenerationAdapter, TextToSpeechAdapter, SpeechToTextAdapter, ProviderRequestOptions, ProviderResponse, StreamChunk } from '../types.js';
2
+ export interface OpenAIConfig {
3
+ apiKey: string;
4
+ baseUrl?: string | undefined;
5
+ organization?: string | undefined;
6
+ }
7
+ export declare class OpenAIProvider implements ProviderFactory {
8
+ readonly name = "openai";
9
+ private readonly config;
10
+ constructor(config: OpenAIConfig);
11
+ create(model: string): ProviderAdapter;
12
+ createEmbedding(model: string): EmbeddingAdapter;
13
+ createImage(model: string): ImageGenerationAdapter;
14
+ createTts(model: string): TextToSpeechAdapter;
15
+ createStt(model: string): SpeechToTextAdapter;
16
+ }
17
+ export declare class OpenAIAdapter implements ProviderAdapter {
18
+ private readonly config;
19
+ private readonly model;
20
+ private client;
21
+ constructor(config: OpenAIConfig, model: string);
22
+ private getClient;
23
+ generate(options: ProviderRequestOptions): Promise<ProviderResponse>;
24
+ stream(options: ProviderRequestOptions): AsyncIterable<StreamChunk>;
25
+ }
26
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAEhB,sBAAsB,EAGtB,mBAAmB,EAGnB,mBAAmB,EAGnB,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EAKZ,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,IAAI,YAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,YAAY;IAIhC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAItC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAIhD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB;IAIlD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB;IAI7C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB;CAG9C;AAID,qBAAa,aAAc,YAAW,eAAe;IAIjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJxB,OAAO,CAAC,MAAM,CAAY;gBAGP,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM;YAGlB,SAAS;IAYjB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkBnE,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC;CAkD3E"}
@@ -0,0 +1,374 @@
1
+ export class OpenAIProvider {
2
+ name = 'openai';
3
+ config;
4
+ constructor(config) {
5
+ this.config = config;
6
+ }
7
+ create(model) {
8
+ return new OpenAIAdapter(this.config, model);
9
+ }
10
+ createEmbedding(model) {
11
+ return new OpenAIEmbeddingAdapter(this.config, model);
12
+ }
13
+ createImage(model) {
14
+ return new OpenAIImageAdapter(this.config, model);
15
+ }
16
+ createTts(model) {
17
+ return new OpenAITtsAdapter(this.config, model);
18
+ }
19
+ createStt(model) {
20
+ return new OpenAISttAdapter(this.config, model);
21
+ }
22
+ }
23
+ // ─── Adapter (also reused by Ollama) ─────────────────────
24
+ export class OpenAIAdapter {
25
+ config;
26
+ model;
27
+ client = null;
28
+ constructor(config, model) {
29
+ this.config = config;
30
+ this.model = model;
31
+ }
32
+ async getClient() {
33
+ if (this.client)
34
+ return this.client;
35
+ const sdk = await import(/* @vite-ignore */ 'openai');
36
+ const OpenAI = sdk.default ?? sdk.OpenAI;
37
+ this.client = new OpenAI({
38
+ apiKey: this.config.apiKey,
39
+ ...(this.config.baseUrl ? { baseURL: this.config.baseUrl } : {}),
40
+ ...(this.config.organization ? { organization: this.config.organization } : {}),
41
+ });
42
+ return this.client;
43
+ }
44
+ async generate(options) {
45
+ const client = await this.getClient();
46
+ const params = {
47
+ model: this.model,
48
+ messages: toOpenAIMessages(options.messages),
49
+ };
50
+ if (options.maxTokens)
51
+ params['max_tokens'] = options.maxTokens;
52
+ if (options.temperature !== undefined)
53
+ params['temperature'] = options.temperature;
54
+ if (options.topP !== undefined)
55
+ params['top_p'] = options.topP;
56
+ if (options.stop)
57
+ params['stop'] = options.stop;
58
+ if (options.tools?.length)
59
+ params['tools'] = toOpenAITools(options.tools);
60
+ if (options.toolChoice)
61
+ params['tool_choice'] = toOpenAIToolChoice(options.toolChoice);
62
+ const response = await client.chat.completions.create(params);
63
+ return fromOpenAIResponse(response);
64
+ }
65
+ async *stream(options) {
66
+ const client = await this.getClient();
67
+ const params = {
68
+ model: this.model,
69
+ messages: toOpenAIMessages(options.messages),
70
+ stream: true,
71
+ };
72
+ if (options.maxTokens)
73
+ params['max_tokens'] = options.maxTokens;
74
+ if (options.temperature !== undefined)
75
+ params['temperature'] = options.temperature;
76
+ if (options.topP !== undefined)
77
+ params['top_p'] = options.topP;
78
+ if (options.stop)
79
+ params['stop'] = options.stop;
80
+ if (options.tools?.length)
81
+ params['tools'] = toOpenAITools(options.tools);
82
+ if (options.toolChoice)
83
+ params['tool_choice'] = toOpenAIToolChoice(options.toolChoice);
84
+ const stream = await client.chat.completions.create(params);
85
+ for await (const chunk of stream) {
86
+ const choice = chunk.choices?.[0];
87
+ if (!choice)
88
+ continue;
89
+ const delta = choice.delta;
90
+ if (delta?.content) {
91
+ yield { type: 'text-delta', text: delta.content };
92
+ }
93
+ if (delta?.tool_calls?.length) {
94
+ for (const tc of delta.tool_calls) {
95
+ if (tc.id) {
96
+ yield { type: 'tool-call-delta', toolCall: { id: tc.id, name: tc.function?.name } };
97
+ }
98
+ if (tc.function?.arguments) {
99
+ yield { type: 'tool-call-delta', text: tc.function.arguments };
100
+ }
101
+ }
102
+ }
103
+ if (choice.finish_reason) {
104
+ yield {
105
+ type: 'finish',
106
+ finishReason: choice.finish_reason === 'tool_calls' ? 'tool_calls' : 'stop',
107
+ usage: chunk.usage ? {
108
+ promptTokens: chunk.usage.prompt_tokens ?? 0,
109
+ completionTokens: chunk.usage.completion_tokens ?? 0,
110
+ totalTokens: chunk.usage.total_tokens ?? 0,
111
+ } : undefined,
112
+ };
113
+ }
114
+ }
115
+ }
116
+ }
117
+ // ─── Conversion Helpers ──────────────────────────────────
118
+ function contentToString(content) {
119
+ if (typeof content === 'string')
120
+ return content;
121
+ return content.filter(p => p.type === 'text').map(p => p.text).join('');
122
+ }
123
+ function contentToOpenAIParts(content) {
124
+ if (typeof content === 'string')
125
+ return content;
126
+ return content.map(p => {
127
+ if (p.type === 'text')
128
+ return { type: 'text', text: p.text };
129
+ if (p.type === 'image')
130
+ return { type: 'image_url', image_url: { url: `data:${p.mimeType};base64,${p.data}` } };
131
+ // document — for text-based docs, decode to text; for PDFs, send as image_url (GPT-4o supports)
132
+ if (p.mimeType === 'application/pdf') {
133
+ return { type: 'file', file: { data: p.data, mime_type: p.mimeType } };
134
+ }
135
+ return { type: 'text', text: Buffer.from(p.data, 'base64').toString('utf-8') };
136
+ });
137
+ }
138
+ function toOpenAIMessages(messages) {
139
+ return messages.map(m => {
140
+ if (m.role === 'assistant' && m.toolCalls?.length) {
141
+ return {
142
+ role: 'assistant',
143
+ content: contentToString(m.content) || null,
144
+ tool_calls: m.toolCalls.map(tc => ({
145
+ id: tc.id,
146
+ type: 'function',
147
+ function: { name: tc.name, arguments: JSON.stringify(tc.arguments) },
148
+ })),
149
+ };
150
+ }
151
+ if (m.role === 'tool') {
152
+ return {
153
+ role: 'tool',
154
+ tool_call_id: m.toolCallId,
155
+ content: typeof m.content === 'string' ? m.content : JSON.stringify(m.content),
156
+ };
157
+ }
158
+ // User messages with attachments → content array
159
+ if (Array.isArray(m.content)) {
160
+ return { role: m.role, content: contentToOpenAIParts(m.content) };
161
+ }
162
+ return { role: m.role, content: m.content };
163
+ });
164
+ }
165
+ function toOpenAITools(tools) {
166
+ return tools.map(t => ({
167
+ type: 'function',
168
+ function: { name: t.name, description: t.description, parameters: t.parameters },
169
+ }));
170
+ }
171
+ function toOpenAIToolChoice(choice) {
172
+ if (choice === 'auto')
173
+ return 'auto';
174
+ if (choice === 'required')
175
+ return 'required';
176
+ if (choice === 'none')
177
+ return 'none';
178
+ if (typeof choice === 'object' && 'name' in choice)
179
+ return { type: 'function', function: { name: choice.name } };
180
+ return 'auto';
181
+ }
182
+ function fromOpenAIResponse(response) {
183
+ const choice = response.choices?.[0];
184
+ const message = choice?.message;
185
+ const toolCalls = (message?.tool_calls ?? []).map((tc) => ({
186
+ id: tc.id,
187
+ name: tc.function.name,
188
+ arguments: JSON.parse(tc.function.arguments),
189
+ }));
190
+ return {
191
+ message: {
192
+ role: 'assistant',
193
+ content: message?.content ?? '',
194
+ ...(toolCalls.length > 0 ? { toolCalls } : {}),
195
+ },
196
+ usage: {
197
+ promptTokens: response.usage?.prompt_tokens ?? 0,
198
+ completionTokens: response.usage?.completion_tokens ?? 0,
199
+ totalTokens: response.usage?.total_tokens ?? 0,
200
+ },
201
+ finishReason: choice?.finish_reason === 'tool_calls' ? 'tool_calls' : 'stop',
202
+ };
203
+ }
204
+ // ─── Embedding Adapter ────────────────────────────────────
205
+ class OpenAIEmbeddingAdapter {
206
+ config;
207
+ model;
208
+ constructor(config, model) {
209
+ this.config = config;
210
+ this.model = model;
211
+ }
212
+ async embed(input) {
213
+ const baseUrl = this.config.baseUrl ?? 'https://api.openai.com/v1';
214
+ const inputs = Array.isArray(input) ? input : [input];
215
+ const res = await fetch(`${baseUrl}/embeddings`, {
216
+ method: 'POST',
217
+ headers: {
218
+ 'Authorization': `Bearer ${this.config.apiKey}`,
219
+ 'Content-Type': 'application/json',
220
+ ...(this.config.organization ? { 'OpenAI-Organization': this.config.organization } : {}),
221
+ },
222
+ body: JSON.stringify({ model: this.model, input: inputs }),
223
+ });
224
+ if (!res.ok)
225
+ throw new Error(`[RudderJS AI] OpenAI embeddings error: ${res.status} ${await res.text()}`);
226
+ const data = await res.json();
227
+ return {
228
+ embeddings: data.data.map(d => d.embedding),
229
+ usage: { promptTokens: data.usage.prompt_tokens, totalTokens: data.usage.total_tokens },
230
+ };
231
+ }
232
+ }
233
+ // ─── Image Generation Adapter ────────────────────────────
234
+ const IMAGE_SIZE_MAP = {
235
+ square: '1024x1024',
236
+ landscape: '1792x1024',
237
+ portrait: '1024x1792',
238
+ };
239
+ class OpenAIImageAdapter {
240
+ config;
241
+ model;
242
+ client = null;
243
+ constructor(config, model) {
244
+ this.config = config;
245
+ this.model = model;
246
+ }
247
+ async getClient() {
248
+ if (this.client)
249
+ return this.client;
250
+ const sdk = await import(/* @vite-ignore */ 'openai');
251
+ const OpenAI = sdk.default ?? sdk.OpenAI;
252
+ this.client = new OpenAI({
253
+ apiKey: this.config.apiKey,
254
+ ...(this.config.baseUrl ? { baseURL: this.config.baseUrl } : {}),
255
+ ...(this.config.organization ? { organization: this.config.organization } : {}),
256
+ });
257
+ return this.client;
258
+ }
259
+ async generate(options) {
260
+ const client = await this.getClient();
261
+ const size = options.size
262
+ ? (IMAGE_SIZE_MAP[options.size] ?? options.size)
263
+ : '1024x1024';
264
+ const params = {
265
+ model: this.model,
266
+ prompt: options.prompt,
267
+ size,
268
+ response_format: 'b64_json',
269
+ };
270
+ if (options.n !== undefined)
271
+ params['n'] = options.n;
272
+ if (options.quality)
273
+ params['quality'] = options.quality;
274
+ if (options.style)
275
+ params['style'] = options.style;
276
+ const response = await client.images.generate(params);
277
+ return {
278
+ images: (response.data ?? []).map((img) => ({
279
+ ...(img.b64_json ? { base64: img.b64_json } : {}),
280
+ ...(img.url ? { url: img.url } : {}),
281
+ ...(img.revised_prompt ? { revisedPrompt: img.revised_prompt } : {}),
282
+ })),
283
+ model: this.model,
284
+ };
285
+ }
286
+ }
287
+ // ─── TTS Adapter ─────────────────────────────────────────
288
+ class OpenAITtsAdapter {
289
+ config;
290
+ model;
291
+ client = null;
292
+ constructor(config, model) {
293
+ this.config = config;
294
+ this.model = model;
295
+ }
296
+ async getClient() {
297
+ if (this.client)
298
+ return this.client;
299
+ const sdk = await import(/* @vite-ignore */ 'openai');
300
+ const OpenAI = sdk.default ?? sdk.OpenAI;
301
+ this.client = new OpenAI({
302
+ apiKey: this.config.apiKey,
303
+ ...(this.config.baseUrl ? { baseURL: this.config.baseUrl } : {}),
304
+ ...(this.config.organization ? { organization: this.config.organization } : {}),
305
+ });
306
+ return this.client;
307
+ }
308
+ async generate(options) {
309
+ const client = await this.getClient();
310
+ const format = options.format ?? 'mp3';
311
+ const params = {
312
+ model: this.model,
313
+ input: options.text,
314
+ voice: options.voice ?? 'alloy',
315
+ };
316
+ if (options.speed !== undefined)
317
+ params['speed'] = options.speed;
318
+ if (options.format)
319
+ params['response_format'] = options.format;
320
+ const response = await client.audio.speech.create(params);
321
+ const arrayBuffer = await response.arrayBuffer();
322
+ return {
323
+ audio: Buffer.from(arrayBuffer),
324
+ format,
325
+ model: this.model,
326
+ };
327
+ }
328
+ }
329
+ // ─── STT Adapter ─────────────────────────────────────────
330
+ class OpenAISttAdapter {
331
+ config;
332
+ model;
333
+ client = null;
334
+ constructor(config, model) {
335
+ this.config = config;
336
+ this.model = model;
337
+ }
338
+ async getClient() {
339
+ if (this.client)
340
+ return this.client;
341
+ const sdk = await import(/* @vite-ignore */ 'openai');
342
+ const OpenAI = sdk.default ?? sdk.OpenAI;
343
+ this.client = new OpenAI({
344
+ apiKey: this.config.apiKey,
345
+ ...(this.config.baseUrl ? { baseURL: this.config.baseUrl } : {}),
346
+ ...(this.config.organization ? { organization: this.config.organization } : {}),
347
+ });
348
+ return this.client;
349
+ }
350
+ async transcribe(options) {
351
+ const client = await this.getClient();
352
+ const audioBuffer = typeof options.audio === 'string'
353
+ ? (await import('node:fs')).readFileSync(options.audio)
354
+ : options.audio;
355
+ const file = new File([audioBuffer], 'audio.mp3', { type: 'audio/mpeg' });
356
+ const params = {
357
+ model: this.model,
358
+ file,
359
+ response_format: 'verbose_json',
360
+ };
361
+ if (options.language)
362
+ params['language'] = options.language;
363
+ if (options.prompt)
364
+ params['prompt'] = options.prompt;
365
+ const response = await client.audio.transcriptions.create(params);
366
+ return {
367
+ text: response.text,
368
+ language: response.language,
369
+ duration: response.duration,
370
+ model: this.model,
371
+ };
372
+ }
373
+ }
374
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ProviderFactory, ProviderAdapter } from '../types.js';
2
+ export interface XaiConfig {
3
+ apiKey: string;
4
+ baseUrl?: string | undefined;
5
+ }
6
+ export declare class XaiProvider implements ProviderFactory {
7
+ readonly name = "xai";
8
+ private readonly config;
9
+ constructor(config: XaiConfig);
10
+ create(model: string): ProviderAdapter;
11
+ }
12
+ //# sourceMappingURL=xai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../src/providers/xai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEnE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,IAAI,SAAQ;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;gBAEtB,MAAM,EAAE,SAAS;IAI7B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;CASvC"}
@@ -0,0 +1,15 @@
1
+ import { OpenAIAdapter } from './openai.js';
2
+ export class XaiProvider {
3
+ name = 'xai';
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.x.ai/v1',
12
+ }, model);
13
+ }
14
+ }
15
+ //# sourceMappingURL=xai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../src/providers/xai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQ3C,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,KAAK,CAAA;IACJ,MAAM,CAAW;IAElC,YAAY,MAAiB;QAC3B,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,qBAAqB;SACtD,EACD,KAAK,CACN,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ import type { AgentPromptOptions, AgentResponse } from './types.js';
2
+ /**
3
+ * Queued AI prompt builder.
4
+ * Created via `agent.queue('prompt')`.
5
+ *
6
+ * @example
7
+ * await agent.queue('Analyze this report')
8
+ * .onQueue('ai')
9
+ * .then(response => console.log(response.text))
10
+ * .catch(err => console.error(err))
11
+ * .send()
12
+ */
13
+ export declare class QueuedPromptBuilder {
14
+ private readonly agentRef;
15
+ private readonly input;
16
+ private readonly options?;
17
+ private _queue;
18
+ private _delay;
19
+ private _thenFn;
20
+ private _catchFn;
21
+ constructor(agentRef: {
22
+ prompt(input: string, options?: AgentPromptOptions): Promise<AgentResponse>;
23
+ }, input: string, options?: AgentPromptOptions | undefined);
24
+ /** Set the queue name */
25
+ onQueue(name: string): this;
26
+ /** Set a delay before the job runs */
27
+ delay(ms: number): this;
28
+ /** Callback when the prompt succeeds */
29
+ then(fn: (response: AgentResponse) => void | Promise<void>): this;
30
+ /** Callback when the prompt fails */
31
+ catch(fn: (error: unknown) => void | Promise<void>): this;
32
+ /** Dispatch the job to the queue */
33
+ send(): Promise<void>;
34
+ }
35
+ //# sourceMappingURL=queue-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-job.d.ts","sourceRoot":"","sources":["../src/queue-job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEnE;;;;;;;;;;GAUG;AACH,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAR3B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAiE;IAChF,OAAO,CAAC,QAAQ,CAAwD;gBAGrD,QAAQ,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;KAAE,EACzF,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,kBAAkB,YAAA;IAG/C,yBAAyB;IACzB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,sCAAsC;IACtC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKvB,wCAAwC;IACxC,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAKjE,qCAAqC;IACrC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAKzD,oCAAoC;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAmC5B"}