@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
package/dist/types.d.ts CHANGED
@@ -187,11 +187,33 @@ export interface CacheableMarkers {
187
187
  export type ToolChoice = 'auto' | 'required' | 'none' | {
188
188
  name: string;
189
189
  };
190
+ /**
191
+ * Side-channel hint a tool can carry to ask provider adapters for
192
+ * non-default behavior — e.g. emit a native provider tool block instead
193
+ * of a generic function-call schema.
194
+ *
195
+ * `type` is the namespace + variant (`'computer-use'`); other fields are
196
+ * hint-specific. Adapters that don't recognize the `type` SHOULD ignore
197
+ * the hint and fall back to the standard function-call serialization.
198
+ *
199
+ * Currently used by `@rudderjs/ai/computer-use` to map to Anthropic's
200
+ * native `computer_20250124` tool block.
201
+ */
202
+ export interface ProviderHint {
203
+ type: string;
204
+ [k: string]: unknown;
205
+ }
190
206
  /** Tool definition as sent to the provider (JSON Schema) */
191
207
  export interface ToolDefinitionSchema {
192
208
  name: string;
193
209
  description: string;
194
210
  parameters: Record<string, unknown>;
211
+ /**
212
+ * Optional provider-specific hint. Adapters that recognize the
213
+ * `providerHint.type` substitute their native serialization; others
214
+ * ignore the hint and emit the standard function-call shape.
215
+ */
216
+ providerHint?: ProviderHint;
195
217
  }
196
218
  /** Provider adapter — thin wrapper around a provider SDK */
197
219
  export interface ProviderAdapter {
@@ -247,6 +269,8 @@ export interface ProviderFactory {
247
269
  createReranking?(model: string): RerankingAdapter;
248
270
  /** Create a file management adapter (optional) */
249
271
  createFiles?(): FileAdapter;
272
+ /** Create a vector-store adapter (optional — #B8) */
273
+ createVectorStores?(): VectorStoreAdapter;
250
274
  }
251
275
  export interface FileUploadOptions {
252
276
  filePath: string;
@@ -271,6 +295,97 @@ export interface FileAdapter {
271
295
  delete(fileId: string): Promise<void>;
272
296
  retrieve?(fileId: string): Promise<FileContent>;
273
297
  }
298
+ export interface VectorStoreCreateOptions {
299
+ name: string;
300
+ /** Free-form key/value metadata. OpenAI caps values at 512 chars. */
301
+ metadata?: Record<string, string>;
302
+ /**
303
+ * Auto-expire policy. OpenAI charges for storage so most apps want
304
+ * an idle-expiry on transient stores.
305
+ */
306
+ expiresAfter?: {
307
+ anchor: 'last_active_at';
308
+ days: number;
309
+ };
310
+ /** Provider override (defaults to the registered AI default). */
311
+ provider?: string;
312
+ }
313
+ export interface VectorStoreInfo {
314
+ id: string;
315
+ name: string;
316
+ createdAt: number;
317
+ /** Number of files attached. Provider-reported, may include in-progress. */
318
+ fileCount: number;
319
+ bytesUsed?: number;
320
+ metadata?: Record<string, string>;
321
+ }
322
+ export interface VectorStoreFileInfo {
323
+ id: string;
324
+ vectorStoreId: string;
325
+ status: 'in_progress' | 'completed' | 'failed' | 'cancelled';
326
+ createdAt: number;
327
+ bytes?: number;
328
+ /**
329
+ * Per-file searchable metadata exposed by OpenAI's `attributes` field.
330
+ * `fileSearch({ where: ... })` (B8 Phase 2) filters on these.
331
+ */
332
+ attributes?: Record<string, string | number | boolean>;
333
+ /** When status === 'failed', the provider's error message. */
334
+ lastError?: string;
335
+ }
336
+ export interface VectorStoreAddOptions {
337
+ /** Either an existing provider file id or a local path/Buffer to upload. */
338
+ fileId?: string;
339
+ filePath?: string;
340
+ fileBuffer?: {
341
+ data: Uint8Array;
342
+ filename: string;
343
+ };
344
+ /** Searchable metadata stored alongside the file in the vector store. */
345
+ attributes?: Record<string, string | number | boolean>;
346
+ /**
347
+ * Pass through to the provider's chunking config. Opaque on our side
348
+ * — apps that want to tune chunk size / overlap pass the provider's
349
+ * native shape. OpenAI: `{ type: 'static', static: { max_chunk_size_tokens, chunk_overlap_tokens } }`.
350
+ */
351
+ chunkingStrategy?: unknown;
352
+ /**
353
+ * Wait for the file to finish ingesting + embedding before resolving.
354
+ * Default `true`. Set `false` for fire-and-forget — useful when
355
+ * batching many files.
356
+ */
357
+ wait?: boolean;
358
+ /** Polling interval in ms. Default 1000. */
359
+ pollInterval?: number;
360
+ /** Total polling timeout in ms. Default 120_000 (2 min). */
361
+ pollTimeout?: number;
362
+ }
363
+ export interface VectorStoreListOptions {
364
+ limit?: number;
365
+ after?: string;
366
+ before?: string;
367
+ }
368
+ export interface VectorStoreList {
369
+ stores: VectorStoreInfo[];
370
+ }
371
+ export interface VectorStoreFileList {
372
+ files: VectorStoreFileInfo[];
373
+ }
374
+ export interface VectorStoreAdapter {
375
+ create(opts: VectorStoreCreateOptions): Promise<VectorStoreInfo>;
376
+ list(opts?: VectorStoreListOptions): Promise<VectorStoreList>;
377
+ get(id: string): Promise<VectorStoreInfo>;
378
+ delete(id: string): Promise<void>;
379
+ /**
380
+ * Attach a file to the store. The file is either an already-uploaded
381
+ * provider file (`fileId`) or a local source the adapter will upload
382
+ * first (`filePath` / `fileBuffer`). Defaults to waiting until the
383
+ * file is fully indexed.
384
+ */
385
+ addFile(storeId: string, opts: VectorStoreAddOptions): Promise<VectorStoreFileInfo>;
386
+ removeFile(storeId: string, fileId: string): Promise<void>;
387
+ listFiles(storeId: string, opts?: VectorStoreListOptions): Promise<VectorStoreFileList>;
388
+ }
274
389
  export interface RerankingOptions {
275
390
  query: string;
276
391
  documents: string[];
@@ -367,6 +482,24 @@ export interface ToolDefinitionOptions<TInput extends z.ZodType = z.ZodType, TOu
367
482
  lazy?: boolean | undefined;
368
483
  /** Arbitrary metadata — used by provider-native tools to signal special handling */
369
484
  meta?: Record<string, unknown> | undefined;
485
+ /**
486
+ * Pre-built JSON Schema for the tool's parameters. When set, takes precedence
487
+ * over `inputSchema` — the agent loop ships this directly to providers without
488
+ * a zod round-trip. Use for tools whose schema is constructed dynamically and
489
+ * already lives as JSON Schema (MCP imports via `mcpClientTools()`, OpenAPI
490
+ * generators). `inputSchema` should still be supplied as `z.unknown()` (or a
491
+ * placeholder) for runtime parsing in the agent loop.
492
+ */
493
+ jsonSchema?: Record<string, unknown> | undefined;
494
+ /**
495
+ * Provider-specific hint. Adapters that recognize the `providerHint.type`
496
+ * substitute their native tool serialization (e.g. Anthropic's
497
+ * `computer_20250124` block for `'computer-use'`, OpenAI's `file_search`
498
+ * block for `'file-search'`); others ignore it and emit the standard
499
+ * function-call shape. Propagated onto {@link ToolDefinitionSchema} by
500
+ * `toolToSchema`.
501
+ */
502
+ providerHint?: ProviderHint | undefined;
370
503
  }
371
504
  /**
372
505
  * A tool the model can call.
@@ -534,6 +667,17 @@ export interface AiConfig {
534
667
  models?: AiModelConfig[];
535
668
  /** Conversation store for persisting agent conversations */
536
669
  conversations?: ConversationStore;
670
+ /** User memory store for persisting per-user facts beyond conversation history (#A4) */
671
+ memory?: UserMemory;
672
+ /** Eval framework knobs (#A5). Optional; the CLI applies sensible defaults. */
673
+ eval?: {
674
+ /**
675
+ * Glob-like pattern for `pnpm rudder ai:eval` discovery. Default
676
+ * `'evals/**\/*.eval.ts'`. Supports `<dir>/**\/*<suffix>` and
677
+ * `*<suffix>` shapes; richer patterns belong in a userland script.
678
+ */
679
+ pattern?: string;
680
+ };
537
681
  }
538
682
  export interface AgentPromptOptions {
539
683
  /** Prior conversation messages to prepend (after system prompt, before current user message) */
@@ -611,6 +755,19 @@ export interface AgentPromptOptions {
611
755
  * chain.
612
756
  */
613
757
  conversation?: ConversationalOverride;
758
+ /**
759
+ * Per-call override for the agent's `remembers()` declaration.
760
+ *
761
+ * - `false` — disable user-memory for this call (overrides any agent default).
762
+ * - {@link RemembersSpec} — replace the agent's declaration for this call.
763
+ * - omitted — use the agent's declaration unchanged.
764
+ *
765
+ * Auto-inject and auto-extract behaviors land in later phases (#A4 Phase 2/3);
766
+ * Phase 1 only wires the declaration + per-call precedence chain so manual
767
+ * `app().make<UserMemory>('ai.memory')` callers and downstream phases can
768
+ * read a consistent spec.
769
+ */
770
+ memory?: RemembersOverride;
614
771
  }
615
772
  /** An attachment (file or image) to include with a prompt */
616
773
  export interface Attachment {
@@ -682,6 +839,95 @@ export interface ConversationalSpec {
682
839
  * declaration; omitted falls through to `Agent.conversational()`.
683
840
  */
684
841
  export type ConversationalOverride = false | ConversationalSpec;
842
+ /**
843
+ * A single user-memory entry — a fact about a user, persisted across
844
+ * conversations. Backends may add their own internal columns but the
845
+ * framework only consumes this shape.
846
+ */
847
+ export interface MemoryEntry {
848
+ id: string;
849
+ userId: string;
850
+ fact: string;
851
+ tags?: string[];
852
+ /**
853
+ * Optional confidence score in `[0, 1]`. Auto-extract sets this from
854
+ * the small model's self-rating; manual `remember()` calls may omit
855
+ * it. `recall()` ranking is implementation-defined when scores are
856
+ * absent.
857
+ */
858
+ score?: number;
859
+ createdAt: Date;
860
+ updatedAt?: Date;
861
+ }
862
+ /**
863
+ * Per-user fact storage. Drop-in alongside `ConversationStore`. Backends
864
+ * range from in-process (`MemoryUserMemory`) to ORM-backed (Phase 4) to
865
+ * embedding-backed (Phase 5). The interface is intentionally narrow so
866
+ * substring-match, full-text, and vector backends all satisfy it.
867
+ */
868
+ export interface UserMemory {
869
+ remember(userId: string, fact: string, opts?: {
870
+ tags?: string[];
871
+ score?: number;
872
+ }): Promise<MemoryEntry>;
873
+ recall(userId: string, query: string, opts?: {
874
+ limit?: number;
875
+ tags?: string[];
876
+ }): Promise<MemoryEntry[]>;
877
+ forget(userId: string, factId: string): Promise<void>;
878
+ list(userId: string, opts?: {
879
+ tags?: string[];
880
+ limit?: number;
881
+ }): Promise<MemoryEntry[]>;
882
+ /**
883
+ * Optional bulk-erase for GDPR right-to-be-forgotten. Backends that
884
+ * don't implement it leave the cascade to the app.
885
+ */
886
+ forgetAll?(userId: string): Promise<void>;
887
+ }
888
+ /**
889
+ * Return shape of {@link Agent.remembers} when an agent opts into user
890
+ * memory. Phase 1 wires the declaration + per-call precedence chain;
891
+ * the `inject` and `extract` knobs come live in Phase 2/3.
892
+ */
893
+ export interface RemembersSpec {
894
+ /** Identity of the user whose memory this agent reads/writes. */
895
+ user: string;
896
+ /**
897
+ * Auto-injection policy:
898
+ * - `'auto'` (Phase 2) — `recall()` runs before each turn and matches
899
+ * are prepended to the system message.
900
+ * - `'manual'` — agent code calls `recall()` itself.
901
+ * - `false` (default) — no injection.
902
+ */
903
+ inject?: 'auto' | 'manual' | false;
904
+ /**
905
+ * Auto-extraction policy:
906
+ * - `'auto'` (Phase 3) — a small model distills facts from each turn
907
+ * and writes them via `remember()`.
908
+ * - `'manual'` — agent code calls `remember()` itself.
909
+ * - `false` (default) — no extraction.
910
+ */
911
+ extract?: 'auto' | 'manual' | false;
912
+ /**
913
+ * Small-model id for `extract: 'auto'`. Required when extraction is
914
+ * enabled. Format: `'<provider>/<model>'`, e.g.
915
+ * `'anthropic/claude-haiku-4-5'`.
916
+ */
917
+ extractWith?: string;
918
+ /** Tag scope for both inject and extract. */
919
+ tags?: string[];
920
+ /** Cap injected facts per turn. Default unbounded (Phase 2). */
921
+ injectLimit?: number;
922
+ /** Hard token cap on the rendered injected block (Phase 2). */
923
+ injectTokenBudget?: number;
924
+ }
925
+ /**
926
+ * Per-call override for `AgentPromptOptions.memory`. `false` disables
927
+ * memory for this call; a spec replaces the agent's declaration;
928
+ * omitted falls through to `Agent.remembers()`.
929
+ */
930
+ export type RemembersOverride = false | RemembersSpec;
685
931
  /**
686
932
  * Higher-level progress event surfaced by a streaming
687
933
  * {@link Agent.asTool} wrapper to the parent agent's stream. Emitted as
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * `VectorStores` — manage hosted vector stores on the registered AI
3
+ * provider (#B8 Phase 1).
4
+ *
5
+ * Today only OpenAI implements `createVectorStores()` on its provider
6
+ * factory; calls against other providers throw a helpful error pointing
7
+ * users at `similaritySearch()` over a local pgvector model.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { VectorStores } from '@rudderjs/ai'
12
+ *
13
+ * const store = await VectorStores.create('Knowledge Base')
14
+ * await store.add({ filePath: './report.pdf', attributes: { author: 'Alice' } })
15
+ *
16
+ * const all = await VectorStores.list()
17
+ * await VectorStores.delete(store.id)
18
+ * ```
19
+ *
20
+ * Provider override per-call via `opts.provider`. The default falls
21
+ * back to the registered AI default (first entry in the registry, or
22
+ * `AiRegistry.getDefault()`'s provider name).
23
+ *
24
+ * Phase 2 of B8 adds the `fileSearch({ stores })` agent tool that
25
+ * consumes these stores. Phase 3 wires the local pgvector fallback.
26
+ */
27
+ import type { VectorStoreCreateOptions, VectorStoreListOptions, VectorStoreInfo, VectorStoreFileInfo, VectorStoreAddOptions } from '../types.js';
28
+ /**
29
+ * Wrapper around a single hosted vector store. Holds the provider name
30
+ * + store id so per-store operations don't need to repeat them.
31
+ */
32
+ export declare class VectorStore {
33
+ readonly id: string;
34
+ readonly name: string;
35
+ readonly createdAt: number;
36
+ readonly fileCount: number;
37
+ readonly bytesUsed: number | undefined;
38
+ readonly metadata: Record<string, string> | undefined;
39
+ /** Provider that owns this store (e.g. `'openai'`). */
40
+ readonly provider: string;
41
+ constructor(info: VectorStoreInfo, provider: string);
42
+ /**
43
+ * Attach a file to this store. Either pass an existing provider
44
+ * `fileId` or a local source (`filePath` or `fileBuffer`) — the
45
+ * adapter uploads via the Files API first and reuses the returned id.
46
+ *
47
+ * Defaults to waiting until the file is fully indexed
48
+ * (`status === 'completed'`). Pass `wait: false` for fire-and-forget.
49
+ */
50
+ add(opts: VectorStoreAddOptions): Promise<VectorStoreFileInfo>;
51
+ /** Remove a file from this store. The file remains in the provider's
52
+ * Files API (use `AI.files(provider).delete(id)` to fully delete). */
53
+ remove(fileId: string): Promise<void>;
54
+ /** List all files attached to this store. */
55
+ files(opts?: VectorStoreListOptions): Promise<VectorStoreFileInfo[]>;
56
+ /** Delete this store. Files attached to it stay in the provider's
57
+ * Files API; call `AI.files(provider).delete(id)` to clean those up
58
+ * separately. */
59
+ delete(): Promise<void>;
60
+ }
61
+ /**
62
+ * Static facade for hosted-vector-store CRUD across all providers
63
+ * implementing `createVectorStores()`.
64
+ */
65
+ export declare class VectorStores {
66
+ /**
67
+ * Create a new vector store on the registered (or specified)
68
+ * provider.
69
+ */
70
+ static create(name: string, opts?: Omit<VectorStoreCreateOptions, 'name'>): Promise<VectorStore>;
71
+ /**
72
+ * List vector stores on the registered (or specified) provider.
73
+ *
74
+ * `opts.limit` / `opts.after` / `opts.before` map directly to the
75
+ * provider's pagination cursor — apps wanting a complete list need to
76
+ * iterate manually.
77
+ */
78
+ static list(opts?: VectorStoreListOptions & {
79
+ provider?: string;
80
+ }): Promise<VectorStore[]>;
81
+ /**
82
+ * Fetch a vector store by id. Throws when not found (provider-specific
83
+ * error surface — typically a 404).
84
+ */
85
+ static get(id: string, opts?: {
86
+ provider?: string;
87
+ }): Promise<VectorStore>;
88
+ /**
89
+ * Delete a vector store by id. Files attached to it stay in the
90
+ * provider's Files API.
91
+ */
92
+ static delete(id: string, opts?: {
93
+ provider?: string;
94
+ }): Promise<void>;
95
+ }
96
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector-stores/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,aAAa,CAAA;AAEpB;;;GAGG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,EAAE,EAAS,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAO,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACtD,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAA;gBAEd,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM;IAUnD;;;;;;;OAOG;IACG,GAAG,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAKpE;2EACuE;IACjE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,6CAA6C;IACvC,KAAK,CAAC,IAAI,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAM1E;;sBAEkB;IACZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB;;;OAGG;WACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAU1G;;;;;;OAMG;WACU,IAAI,CAAC,IAAI,GAAE,sBAAsB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAWpG;;;OAGG;WACU,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAOpF;;;OAGG;WACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAKjF"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * `VectorStores` — manage hosted vector stores on the registered AI
3
+ * provider (#B8 Phase 1).
4
+ *
5
+ * Today only OpenAI implements `createVectorStores()` on its provider
6
+ * factory; calls against other providers throw a helpful error pointing
7
+ * users at `similaritySearch()` over a local pgvector model.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { VectorStores } from '@rudderjs/ai'
12
+ *
13
+ * const store = await VectorStores.create('Knowledge Base')
14
+ * await store.add({ filePath: './report.pdf', attributes: { author: 'Alice' } })
15
+ *
16
+ * const all = await VectorStores.list()
17
+ * await VectorStores.delete(store.id)
18
+ * ```
19
+ *
20
+ * Provider override per-call via `opts.provider`. The default falls
21
+ * back to the registered AI default (first entry in the registry, or
22
+ * `AiRegistry.getDefault()`'s provider name).
23
+ *
24
+ * Phase 2 of B8 adds the `fileSearch({ stores })` agent tool that
25
+ * consumes these stores. Phase 3 wires the local pgvector fallback.
26
+ */
27
+ import { AiRegistry } from '../registry.js';
28
+ /**
29
+ * Wrapper around a single hosted vector store. Holds the provider name
30
+ * + store id so per-store operations don't need to repeat them.
31
+ */
32
+ export class VectorStore {
33
+ id;
34
+ name;
35
+ createdAt;
36
+ fileCount;
37
+ bytesUsed;
38
+ metadata;
39
+ /** Provider that owns this store (e.g. `'openai'`). */
40
+ provider;
41
+ constructor(info, provider) {
42
+ this.id = info.id;
43
+ this.name = info.name;
44
+ this.createdAt = info.createdAt;
45
+ this.fileCount = info.fileCount;
46
+ this.bytesUsed = info.bytesUsed;
47
+ this.metadata = info.metadata;
48
+ this.provider = provider;
49
+ }
50
+ /**
51
+ * Attach a file to this store. Either pass an existing provider
52
+ * `fileId` or a local source (`filePath` or `fileBuffer`) — the
53
+ * adapter uploads via the Files API first and reuses the returned id.
54
+ *
55
+ * Defaults to waiting until the file is fully indexed
56
+ * (`status === 'completed'`). Pass `wait: false` for fire-and-forget.
57
+ */
58
+ async add(opts) {
59
+ const adapter = AiRegistry.resolveVectorStores(this.provider);
60
+ return adapter.addFile(this.id, opts);
61
+ }
62
+ /** Remove a file from this store. The file remains in the provider's
63
+ * Files API (use `AI.files(provider).delete(id)` to fully delete). */
64
+ async remove(fileId) {
65
+ const adapter = AiRegistry.resolveVectorStores(this.provider);
66
+ await adapter.removeFile(this.id, fileId);
67
+ }
68
+ /** List all files attached to this store. */
69
+ async files(opts) {
70
+ const adapter = AiRegistry.resolveVectorStores(this.provider);
71
+ const result = await adapter.listFiles(this.id, opts);
72
+ return result.files;
73
+ }
74
+ /** Delete this store. Files attached to it stay in the provider's
75
+ * Files API; call `AI.files(provider).delete(id)` to clean those up
76
+ * separately. */
77
+ async delete() {
78
+ const adapter = AiRegistry.resolveVectorStores(this.provider);
79
+ await adapter.delete(this.id);
80
+ }
81
+ }
82
+ /**
83
+ * Static facade for hosted-vector-store CRUD across all providers
84
+ * implementing `createVectorStores()`.
85
+ */
86
+ export class VectorStores {
87
+ /**
88
+ * Create a new vector store on the registered (or specified)
89
+ * provider.
90
+ */
91
+ static async create(name, opts = {}) {
92
+ const provider = resolveProvider(opts.provider);
93
+ const adapter = AiRegistry.resolveVectorStores(provider);
94
+ const createOpts = { name };
95
+ if (opts.metadata)
96
+ createOpts.metadata = opts.metadata;
97
+ if (opts.expiresAfter)
98
+ createOpts.expiresAfter = opts.expiresAfter;
99
+ const info = await adapter.create(createOpts);
100
+ return new VectorStore(info, provider);
101
+ }
102
+ /**
103
+ * List vector stores on the registered (or specified) provider.
104
+ *
105
+ * `opts.limit` / `opts.after` / `opts.before` map directly to the
106
+ * provider's pagination cursor — apps wanting a complete list need to
107
+ * iterate manually.
108
+ */
109
+ static async list(opts = {}) {
110
+ const provider = resolveProvider(opts.provider);
111
+ const adapter = AiRegistry.resolveVectorStores(provider);
112
+ const listOpts = {};
113
+ if (opts.limit !== undefined)
114
+ listOpts.limit = opts.limit;
115
+ if (opts.after !== undefined)
116
+ listOpts.after = opts.after;
117
+ if (opts.before !== undefined)
118
+ listOpts.before = opts.before;
119
+ const result = await adapter.list(listOpts);
120
+ return result.stores.map(info => new VectorStore(info, provider));
121
+ }
122
+ /**
123
+ * Fetch a vector store by id. Throws when not found (provider-specific
124
+ * error surface — typically a 404).
125
+ */
126
+ static async get(id, opts = {}) {
127
+ const provider = resolveProvider(opts.provider);
128
+ const adapter = AiRegistry.resolveVectorStores(provider);
129
+ const info = await adapter.get(id);
130
+ return new VectorStore(info, provider);
131
+ }
132
+ /**
133
+ * Delete a vector store by id. Files attached to it stay in the
134
+ * provider's Files API.
135
+ */
136
+ static async delete(id, opts = {}) {
137
+ const provider = resolveProvider(opts.provider);
138
+ const adapter = AiRegistry.resolveVectorStores(provider);
139
+ await adapter.delete(id);
140
+ }
141
+ }
142
+ /**
143
+ * Resolve the provider name to dispatch to. Explicit `opts.provider`
144
+ * wins; otherwise we read the registered AI default and extract the
145
+ * provider segment (`'openai/text-embedding-3-small'` → `'openai'`).
146
+ */
147
+ function resolveProvider(explicit) {
148
+ if (explicit)
149
+ return explicit;
150
+ const def = AiRegistry.getDefault();
151
+ return AiRegistry.parseModelString(def)[0];
152
+ }
153
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vector-stores/index.ts"],"names":[],"mappings":"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"}