indusagi 0.12.13 → 0.12.15

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 (142) hide show
  1. package/dist/agent/tools/registry.d.ts +1 -1
  2. package/dist/agent/tools/registry.d.ts.map +1 -1
  3. package/dist/agent/types.d.ts +1 -0
  4. package/dist/agent/types.d.ts.map +1 -1
  5. package/dist/agent/types.js.map +1 -1
  6. package/dist/ai/models.generated.d.ts +621 -53
  7. package/dist/ai/models.generated.d.ts.map +1 -1
  8. package/dist/ai/models.generated.js +548 -0
  9. package/dist/ai/models.generated.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/mcp/client-pool.d.ts +106 -0
  15. package/dist/mcp/client-pool.d.ts.map +1 -0
  16. package/dist/mcp/client-pool.js +233 -0
  17. package/dist/mcp/client-pool.js.map +1 -0
  18. package/dist/mcp/client.d.ts +158 -0
  19. package/dist/mcp/client.d.ts.map +1 -0
  20. package/dist/mcp/client.js +586 -0
  21. package/dist/mcp/client.js.map +1 -0
  22. package/dist/mcp/config.d.ts +61 -0
  23. package/dist/mcp/config.d.ts.map +1 -0
  24. package/dist/mcp/config.js +250 -0
  25. package/dist/mcp/config.js.map +1 -0
  26. package/dist/mcp/errors.d.ts +104 -0
  27. package/dist/mcp/errors.d.ts.map +1 -0
  28. package/dist/mcp/errors.js +138 -0
  29. package/dist/mcp/errors.js.map +1 -0
  30. package/dist/mcp/index.d.ts +56 -0
  31. package/dist/mcp/index.d.ts.map +1 -0
  32. package/dist/mcp/index.js +83 -0
  33. package/dist/mcp/index.js.map +1 -0
  34. package/dist/mcp/schema-converter.d.ts +68 -0
  35. package/dist/mcp/schema-converter.d.ts.map +1 -0
  36. package/dist/mcp/schema-converter.js +230 -0
  37. package/dist/mcp/schema-converter.js.map +1 -0
  38. package/dist/mcp/server.d.ts +111 -0
  39. package/dist/mcp/server.d.ts.map +1 -0
  40. package/dist/mcp/server.js +300 -0
  41. package/dist/mcp/server.js.map +1 -0
  42. package/dist/mcp/tool-factory.d.ts +63 -0
  43. package/dist/mcp/tool-factory.d.ts.map +1 -0
  44. package/dist/mcp/tool-factory.js +228 -0
  45. package/dist/mcp/tool-factory.js.map +1 -0
  46. package/dist/mcp/types.d.ts +289 -0
  47. package/dist/mcp/types.d.ts.map +1 -0
  48. package/dist/mcp/types.js +8 -0
  49. package/dist/mcp/types.js.map +1 -0
  50. package/dist/mcp.d.ts +6 -0
  51. package/dist/mcp.d.ts.map +1 -0
  52. package/dist/mcp.js +6 -0
  53. package/dist/mcp.js.map +1 -0
  54. package/dist/memory/embedder/base.d.ts +41 -0
  55. package/dist/memory/embedder/base.d.ts.map +1 -0
  56. package/dist/memory/embedder/base.js +10 -0
  57. package/dist/memory/embedder/base.js.map +1 -0
  58. package/dist/memory/embedder/index.d.ts +8 -0
  59. package/dist/memory/embedder/index.d.ts.map +1 -0
  60. package/dist/memory/embedder/index.js +6 -0
  61. package/dist/memory/embedder/index.js.map +1 -0
  62. package/dist/memory/embedder/openai.d.ts +35 -0
  63. package/dist/memory/embedder/openai.d.ts.map +1 -0
  64. package/dist/memory/embedder/openai.js +103 -0
  65. package/dist/memory/embedder/openai.js.map +1 -0
  66. package/dist/memory/index.d.ts +33 -0
  67. package/dist/memory/index.d.ts.map +1 -0
  68. package/dist/memory/index.js +31 -0
  69. package/dist/memory/index.js.map +1 -0
  70. package/dist/memory/memory.d.ts +126 -0
  71. package/dist/memory/memory.d.ts.map +1 -0
  72. package/dist/memory/memory.js +280 -0
  73. package/dist/memory/memory.js.map +1 -0
  74. package/dist/memory/processors/base.d.ts +42 -0
  75. package/dist/memory/processors/base.d.ts.map +1 -0
  76. package/dist/memory/processors/base.js +6 -0
  77. package/dist/memory/processors/base.js.map +1 -0
  78. package/dist/memory/processors/index.d.ts +16 -0
  79. package/dist/memory/processors/index.d.ts.map +1 -0
  80. package/dist/memory/processors/index.js +18 -0
  81. package/dist/memory/processors/index.js.map +1 -0
  82. package/dist/memory/processors/message-history.d.ts +35 -0
  83. package/dist/memory/processors/message-history.d.ts.map +1 -0
  84. package/dist/memory/processors/message-history.js +51 -0
  85. package/dist/memory/processors/message-history.js.map +1 -0
  86. package/dist/memory/processors/observational-memory/index.d.ts +82 -0
  87. package/dist/memory/processors/observational-memory/index.d.ts.map +1 -0
  88. package/dist/memory/processors/observational-memory/index.js +234 -0
  89. package/dist/memory/processors/observational-memory/index.js.map +1 -0
  90. package/dist/memory/processors/observational-memory/observer-agent.d.ts +64 -0
  91. package/dist/memory/processors/observational-memory/observer-agent.d.ts.map +1 -0
  92. package/dist/memory/processors/observational-memory/observer-agent.js +362 -0
  93. package/dist/memory/processors/observational-memory/observer-agent.js.map +1 -0
  94. package/dist/memory/processors/observational-memory/reflector-agent.d.ts +38 -0
  95. package/dist/memory/processors/observational-memory/reflector-agent.d.ts.map +1 -0
  96. package/dist/memory/processors/observational-memory/reflector-agent.js +213 -0
  97. package/dist/memory/processors/observational-memory/reflector-agent.js.map +1 -0
  98. package/dist/memory/processors/observational-memory/token-counter.d.ts +35 -0
  99. package/dist/memory/processors/observational-memory/token-counter.d.ts.map +1 -0
  100. package/dist/memory/processors/observational-memory/token-counter.js +90 -0
  101. package/dist/memory/processors/observational-memory/token-counter.js.map +1 -0
  102. package/dist/memory/processors/semantic-recall.d.ts +55 -0
  103. package/dist/memory/processors/semantic-recall.d.ts.map +1 -0
  104. package/dist/memory/processors/semantic-recall.js +143 -0
  105. package/dist/memory/processors/semantic-recall.js.map +1 -0
  106. package/dist/memory/processors/working-memory.d.ts +41 -0
  107. package/dist/memory/processors/working-memory.d.ts.map +1 -0
  108. package/dist/memory/processors/working-memory.js +82 -0
  109. package/dist/memory/processors/working-memory.js.map +1 -0
  110. package/dist/memory/storage/base.d.ts +288 -0
  111. package/dist/memory/storage/base.d.ts.map +1 -0
  112. package/dist/memory/storage/base.js +211 -0
  113. package/dist/memory/storage/base.js.map +1 -0
  114. package/dist/memory/storage/index.d.ts +9 -0
  115. package/dist/memory/storage/index.d.ts.map +1 -0
  116. package/dist/memory/storage/index.js +7 -0
  117. package/dist/memory/storage/index.js.map +1 -0
  118. package/dist/memory/storage/inmemory.d.ts +93 -0
  119. package/dist/memory/storage/inmemory.d.ts.map +1 -0
  120. package/dist/memory/storage/inmemory.js +646 -0
  121. package/dist/memory/storage/inmemory.js.map +1 -0
  122. package/dist/memory/tools/working-memory.d.ts +100 -0
  123. package/dist/memory/tools/working-memory.d.ts.map +1 -0
  124. package/dist/memory/tools/working-memory.js +237 -0
  125. package/dist/memory/tools/working-memory.js.map +1 -0
  126. package/dist/memory/types.d.ts +386 -0
  127. package/dist/memory/types.d.ts.map +1 -0
  128. package/dist/memory/types.js +58 -0
  129. package/dist/memory/types.js.map +1 -0
  130. package/dist/memory/vector/base.d.ts +145 -0
  131. package/dist/memory/vector/base.d.ts.map +1 -0
  132. package/dist/memory/vector/base.js +83 -0
  133. package/dist/memory/vector/base.js.map +1 -0
  134. package/dist/memory/vector/index.d.ts +8 -0
  135. package/dist/memory/vector/index.d.ts.map +1 -0
  136. package/dist/memory/vector/index.js +7 -0
  137. package/dist/memory/vector/index.js.map +1 -0
  138. package/dist/memory/vector/inmemory.d.ts +47 -0
  139. package/dist/memory/vector/inmemory.d.ts.map +1 -0
  140. package/dist/memory/vector/inmemory.js +234 -0
  141. package/dist/memory/vector/inmemory.js.map +1 -0
  142. package/package.json +32 -2
@@ -0,0 +1,386 @@
1
+ /**
2
+ * Memory System Type Definitions
3
+ * Based on Mastra memory types
4
+ */
5
+ import type { JSONSchema7 } from "json-schema";
6
+ import type { ZodObject } from "zod";
7
+ /**
8
+ * Message content types for V2 format
9
+ */
10
+ export interface MessageContentV2 {
11
+ format: 2;
12
+ content: string;
13
+ parts: MessagePart[];
14
+ metadata?: Record<string, unknown>;
15
+ }
16
+ export type MessagePart = {
17
+ type: "text";
18
+ text: string;
19
+ } | {
20
+ type: "image";
21
+ image: string;
22
+ mimeType?: string;
23
+ } | {
24
+ type: "tool-call";
25
+ toolCallId: string;
26
+ toolName: string;
27
+ args: Record<string, unknown>;
28
+ } | {
29
+ type: "tool-result";
30
+ toolCallId: string;
31
+ toolName: string;
32
+ result: unknown;
33
+ };
34
+ /**
35
+ * Core message type used throughout the memory system
36
+ */
37
+ export interface CoreMessage {
38
+ id: string;
39
+ role: "user" | "assistant" | "system" | "tool";
40
+ content: string | MessageContentV2;
41
+ createdAt: Date;
42
+ threadId?: string;
43
+ resourceId?: string;
44
+ }
45
+ /**
46
+ * Storage message format (for persistence)
47
+ */
48
+ export interface StorageMessageType {
49
+ id: string;
50
+ thread_id: string;
51
+ content: string;
52
+ role: string;
53
+ type: "text" | "tool-call" | "tool-result";
54
+ createdAt: Date;
55
+ updatedAt?: Date;
56
+ resourceId: string | null;
57
+ }
58
+ /**
59
+ * Thread (conversation) record
60
+ */
61
+ export interface StorageThreadType {
62
+ id: string;
63
+ title?: string;
64
+ resourceId: string;
65
+ createdAt: Date;
66
+ updatedAt: Date;
67
+ metadata?: Record<string, unknown>;
68
+ }
69
+ /**
70
+ * Resource (user/session) record
71
+ */
72
+ export interface StorageResourceType {
73
+ id: string;
74
+ workingMemory?: string;
75
+ metadata?: Record<string, unknown>;
76
+ createdAt: Date;
77
+ updatedAt: Date;
78
+ }
79
+ /**
80
+ * Vector index configuration for optimizing semantic recall performance
81
+ */
82
+ export interface VectorIndexConfig {
83
+ type?: "ivfflat" | "hnsw" | "flat";
84
+ metric?: "cosine" | "euclidean" | "dotproduct";
85
+ ivf?: {
86
+ lists?: number;
87
+ };
88
+ hnsw?: {
89
+ m?: number;
90
+ efConstruction?: number;
91
+ };
92
+ }
93
+ /**
94
+ * Semantic recall configuration
95
+ */
96
+ export interface SemanticRecallConfig {
97
+ /** Number of similar messages to retrieve */
98
+ topK: number;
99
+ /** Messages to include before/after each match */
100
+ messageRange: number | {
101
+ before: number;
102
+ after: number;
103
+ };
104
+ /** Scope: thread (per conversation) or resource (cross-conversation) */
105
+ scope?: "thread" | "resource";
106
+ /** Vector index configuration */
107
+ indexConfig?: VectorIndexConfig;
108
+ /** Minimum similarity threshold (0-1) */
109
+ threshold?: number;
110
+ /** Index name for the vector store */
111
+ indexName?: string;
112
+ }
113
+ /**
114
+ * Base working memory configuration
115
+ */
116
+ export interface BaseWorkingMemory {
117
+ enabled: boolean;
118
+ /** Scope for working memory storage */
119
+ scope?: "thread" | "resource";
120
+ }
121
+ /**
122
+ * Template-based working memory
123
+ */
124
+ export interface TemplateWorkingMemory extends BaseWorkingMemory {
125
+ template: string;
126
+ schema?: never;
127
+ }
128
+ /**
129
+ * Schema-based working memory
130
+ */
131
+ export interface SchemaWorkingMemory extends BaseWorkingMemory {
132
+ schema: ZodObject<any> | JSONSchema7;
133
+ template?: never;
134
+ }
135
+ /**
136
+ * Working memory configuration union type
137
+ */
138
+ export type WorkingMemoryConfig = TemplateWorkingMemory | SchemaWorkingMemory | (BaseWorkingMemory & {
139
+ template?: never;
140
+ schema?: never;
141
+ });
142
+ /**
143
+ * Model settings for Observer/Reflector agents
144
+ */
145
+ export interface ObservationalMemoryModelSettings {
146
+ temperature?: number;
147
+ maxOutputTokens?: number;
148
+ topP?: number;
149
+ [key: string]: unknown;
150
+ }
151
+ /**
152
+ * Observation step configuration
153
+ */
154
+ export interface ObservationConfig {
155
+ model?: string;
156
+ messageTokens?: number;
157
+ modelSettings?: ObservationalMemoryModelSettings;
158
+ providerOptions?: Record<string, Record<string, unknown>>;
159
+ maxTokensPerBatch?: number;
160
+ bufferTokens?: number | false;
161
+ bufferActivation?: number;
162
+ blockAfter?: number;
163
+ instruction?: string;
164
+ }
165
+ /**
166
+ * Reflection step configuration
167
+ */
168
+ export interface ReflectionConfig {
169
+ model?: string;
170
+ observationTokens?: number;
171
+ modelSettings?: ObservationalMemoryModelSettings;
172
+ providerOptions?: Record<string, Record<string, unknown>>;
173
+ blockAfter?: number;
174
+ bufferActivation?: number;
175
+ instruction?: string;
176
+ }
177
+ /**
178
+ * Observational memory configuration
179
+ */
180
+ export interface ObservationalMemoryOptions {
181
+ enabled?: boolean;
182
+ model?: string;
183
+ observation?: ObservationConfig;
184
+ reflection?: ReflectionConfig;
185
+ scope?: "resource" | "thread";
186
+ shareTokenBudget?: boolean;
187
+ }
188
+ /**
189
+ * Main memory configuration
190
+ */
191
+ export interface MemoryConfig {
192
+ /** Read-only mode (no learning) */
193
+ readOnly?: boolean;
194
+ /** Number of recent messages to include (or false to disable) */
195
+ lastMessages?: number | false;
196
+ /** Semantic recall configuration */
197
+ semanticRecall?: boolean | SemanticRecallConfig;
198
+ /** Working memory configuration */
199
+ workingMemory?: WorkingMemoryConfig;
200
+ /** Observational memory configuration */
201
+ observationalMemory?: boolean | ObservationalMemoryOptions;
202
+ /** Auto-generate thread titles */
203
+ generateTitle?: boolean | {
204
+ model: string;
205
+ instructions?: string;
206
+ };
207
+ }
208
+ /**
209
+ * Shared memory configuration (for Memory class constructor)
210
+ */
211
+ export interface SharedMemoryConfig {
212
+ storage?: import("./storage/base.js").MemoryStorage;
213
+ vector?: import("./vector/base.js").VectorStore;
214
+ embedder?: import("./embedder/base.js").Embedder;
215
+ embedderOptions?: EmbedderOptions;
216
+ options?: MemoryConfig;
217
+ }
218
+ /**
219
+ * Embedding result
220
+ */
221
+ export interface EmbeddingResult {
222
+ vector: number[];
223
+ model: string;
224
+ dimensions: number;
225
+ usage?: {
226
+ inputTokens: number;
227
+ };
228
+ }
229
+ /**
230
+ * Embedder options
231
+ */
232
+ export interface EmbedderOptions {
233
+ dimensions?: number;
234
+ providerOptions?: Record<string, unknown>;
235
+ }
236
+ /**
237
+ * Vector query result
238
+ */
239
+ export interface VectorQueryResult {
240
+ id: string;
241
+ score: number;
242
+ vector?: number[];
243
+ metadata?: Record<string, unknown>;
244
+ }
245
+ /**
246
+ * Index statistics
247
+ */
248
+ export interface IndexStats {
249
+ dimension: number;
250
+ metric?: string;
251
+ count: number;
252
+ }
253
+ /**
254
+ * Pagination input for list operations
255
+ */
256
+ export interface PaginationInput {
257
+ page?: number;
258
+ perPage?: number | false;
259
+ }
260
+ /**
261
+ * Pagination output for list operations
262
+ */
263
+ export interface PaginationOutput {
264
+ page: number;
265
+ perPage: number | false;
266
+ total: number;
267
+ hasMore: boolean;
268
+ }
269
+ /**
270
+ * Order by configuration
271
+ */
272
+ export interface OrderByInput {
273
+ field: "createdAt" | "updatedAt";
274
+ direction: "ASC" | "DESC";
275
+ }
276
+ /**
277
+ * Storage list messages input
278
+ */
279
+ export interface StorageListMessagesInput extends PaginationInput {
280
+ threadId: string | string[];
281
+ resourceId?: string;
282
+ include?: Array<{
283
+ id: string;
284
+ threadId?: string;
285
+ withPreviousMessages?: number;
286
+ withNextMessages?: number;
287
+ }>;
288
+ filter?: {
289
+ dateRange?: {
290
+ start?: Date;
291
+ end?: Date;
292
+ };
293
+ };
294
+ orderBy?: OrderByInput;
295
+ }
296
+ /**
297
+ * Storage list messages output
298
+ */
299
+ export interface StorageListMessagesOutput extends PaginationOutput {
300
+ messages: CoreMessage[];
301
+ }
302
+ /**
303
+ * Storage list threads input
304
+ */
305
+ export interface StorageListThreadsInput extends PaginationInput {
306
+ filter?: {
307
+ resourceId?: string;
308
+ metadata?: Record<string, unknown>;
309
+ };
310
+ orderBy?: OrderByInput;
311
+ }
312
+ /**
313
+ * Storage list threads output
314
+ */
315
+ export interface StorageListThreadsOutput extends PaginationOutput {
316
+ threads: StorageThreadType[];
317
+ }
318
+ /**
319
+ * Buffered observation chunk
320
+ */
321
+ export interface BufferedObservationChunk {
322
+ id: string;
323
+ cycleId?: string;
324
+ observations: string;
325
+ tokenCount: number;
326
+ messageIds: string[];
327
+ messageTokens?: number;
328
+ lastObservedAt?: Date;
329
+ createdAt: Date;
330
+ suggestedContinuation?: string;
331
+ currentTask?: string;
332
+ }
333
+ /**
334
+ * Observational memory record
335
+ */
336
+ export interface ObservationalMemoryRecord {
337
+ id: string;
338
+ scope: "thread" | "resource";
339
+ threadId: string | null;
340
+ resourceId: string;
341
+ createdAt: Date;
342
+ updatedAt: Date;
343
+ lastObservedAt?: Date;
344
+ lastReflectedAt?: Date;
345
+ originType: "initial" | "reflection";
346
+ generationCount: number;
347
+ activeObservations: string;
348
+ observationTokenCount: number;
349
+ totalTokensObserved: number;
350
+ bufferedObservationChunks?: BufferedObservationChunk[];
351
+ bufferedReflection?: string;
352
+ bufferedReflectionTokens?: number;
353
+ bufferedReflectionInputTokens?: number;
354
+ observedMessageIds?: string[];
355
+ pendingMessageTokens: number;
356
+ isReflecting: boolean;
357
+ isObserving: boolean;
358
+ isBufferingObservation: boolean;
359
+ isBufferingReflection: boolean;
360
+ lastBufferedAtTokens: number;
361
+ lastBufferedAtTime: Date | null;
362
+ config?: ObservationalMemoryOptions;
363
+ observedTimezone?: string;
364
+ reflectedObservationLineCount?: number;
365
+ metadata?: Record<string, unknown>;
366
+ }
367
+ /**
368
+ * Working memory template format
369
+ */
370
+ export interface WorkingMemoryTemplate {
371
+ format: "json" | "markdown";
372
+ content: string;
373
+ }
374
+ /**
375
+ * Default memory options
376
+ */
377
+ export declare const memoryDefaultOptions: MemoryConfig;
378
+ /**
379
+ * Default semantic recall configuration
380
+ */
381
+ export declare const DEFAULT_SEMANTIC_RECALL: SemanticRecallConfig;
382
+ /**
383
+ * Default observational memory configuration
384
+ */
385
+ export declare const DEFAULT_OBSERVATIONAL_MEMORY: ObservationalMemoryOptions;
386
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Memory System Type Definitions
3
+ * Based on Mastra memory types
4
+ */
5
+ // ============================================================================
6
+ // Default Configuration
7
+ // ============================================================================
8
+ /**
9
+ * Default memory options
10
+ */
11
+ export const memoryDefaultOptions = {
12
+ lastMessages: 10,
13
+ semanticRecall: false,
14
+ generateTitle: false,
15
+ workingMemory: {
16
+ enabled: false,
17
+ template: `
18
+ # User Information
19
+ - **First Name**:
20
+ - **Last Name**:
21
+ - **Location**:
22
+ - **Occupation**:
23
+ - **Interests**:
24
+ - **Goals**:
25
+ - **Events**:
26
+ - **Facts**:
27
+ - **Projects**:
28
+ `,
29
+ },
30
+ };
31
+ /**
32
+ * Default semantic recall configuration
33
+ */
34
+ export const DEFAULT_SEMANTIC_RECALL = {
35
+ topK: 4,
36
+ messageRange: { before: 1, after: 1 },
37
+ scope: "resource",
38
+ threshold: 0.7,
39
+ };
40
+ /**
41
+ * Default observational memory configuration
42
+ */
43
+ export const DEFAULT_OBSERVATIONAL_MEMORY = {
44
+ enabled: true,
45
+ scope: "thread",
46
+ observation: {
47
+ messageTokens: 30_000,
48
+ modelSettings: { temperature: 0.3, maxOutputTokens: 100_000 },
49
+ bufferTokens: 0.2,
50
+ bufferActivation: 0.8,
51
+ },
52
+ reflection: {
53
+ observationTokens: 40_000,
54
+ modelSettings: { temperature: 0, maxOutputTokens: 100_000 },
55
+ bufferActivation: 0.5,
56
+ },
57
+ };
58
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4bH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiB;IAChD,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE;QACb,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE;;;;;;;;;;;CAWb;KACE;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAyB;IAC3D,IAAI,EAAE,CAAC;IACP,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;IACrC,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,GAAG;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAA+B;IACtE,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE;QACX,aAAa,EAAE,MAAM;QACrB,aAAa,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE;QAC7D,YAAY,EAAE,GAAG;QACjB,gBAAgB,EAAE,GAAG;KACtB;IACD,UAAU,EAAE;QACV,iBAAiB,EAAE,MAAM;QACzB,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE;QAC3D,gBAAgB,EAAE,GAAG;KACtB;CACF,CAAC"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Vector Store Abstract Base Class
3
+ * Based on Mastra MastraVector
4
+ */
5
+ import type { IndexStats, VectorQueryResult } from "../types.js";
6
+ /**
7
+ * Create index parameters
8
+ */
9
+ export interface CreateIndexParams {
10
+ indexName: string;
11
+ dimension: number;
12
+ metric?: "cosine" | "euclidean" | "dotproduct";
13
+ indexConfig?: {
14
+ type?: "ivfflat" | "hnsw" | "flat";
15
+ ivf?: {
16
+ lists?: number;
17
+ };
18
+ hnsw?: {
19
+ m?: number;
20
+ efConstruction?: number;
21
+ };
22
+ };
23
+ }
24
+ /**
25
+ * Upsert vector parameters
26
+ */
27
+ export interface UpsertVectorParams {
28
+ indexName: string;
29
+ vectors: number[][];
30
+ metadata?: Record<string, unknown>[];
31
+ ids?: string[];
32
+ }
33
+ /**
34
+ * Query vector parameters
35
+ */
36
+ export interface QueryVectorParams {
37
+ indexName: string;
38
+ queryVector: number[];
39
+ topK?: number;
40
+ filter?: Record<string, unknown>;
41
+ includeVector?: boolean;
42
+ minScore?: number;
43
+ }
44
+ /**
45
+ * Update vector parameters
46
+ */
47
+ export interface UpdateVectorParams {
48
+ indexName: string;
49
+ id: string;
50
+ vector?: number[];
51
+ metadata?: Record<string, unknown>;
52
+ }
53
+ /**
54
+ * Delete vector parameters
55
+ */
56
+ export interface DeleteVectorParams {
57
+ indexName: string;
58
+ id: string;
59
+ }
60
+ /**
61
+ * Delete vectors parameters
62
+ */
63
+ export interface DeleteVectorsParams {
64
+ indexName: string;
65
+ ids?: string[];
66
+ filter?: Record<string, unknown>;
67
+ }
68
+ /**
69
+ * Describe index parameters
70
+ */
71
+ export interface DescribeIndexParams {
72
+ indexName: string;
73
+ }
74
+ /**
75
+ * Delete index parameters
76
+ */
77
+ export interface DeleteIndexParams {
78
+ indexName: string;
79
+ }
80
+ /**
81
+ * Abstract base class for vector store implementations
82
+ */
83
+ export declare abstract class VectorStore {
84
+ /**
85
+ * Unique identifier for this vector store
86
+ */
87
+ abstract readonly id: string;
88
+ /**
89
+ * Index separator used for generating index names
90
+ */
91
+ readonly indexSeparator: string;
92
+ /**
93
+ * Create a new vector index
94
+ */
95
+ abstract createIndex(params: CreateIndexParams): Promise<void>;
96
+ /**
97
+ * Upsert vectors into an index
98
+ */
99
+ abstract upsert(params: UpsertVectorParams): Promise<string[]>;
100
+ /**
101
+ * Query vectors from an index
102
+ */
103
+ abstract query(params: QueryVectorParams): Promise<VectorQueryResult[]>;
104
+ /**
105
+ * Update a vector in an index
106
+ */
107
+ abstract updateVector(params: UpdateVectorParams): Promise<void>;
108
+ /**
109
+ * Delete a single vector from an index
110
+ */
111
+ abstract deleteVector(params: DeleteVectorParams): Promise<void>;
112
+ /**
113
+ * Delete multiple vectors from an index
114
+ */
115
+ abstract deleteVectors(params: DeleteVectorsParams): Promise<void>;
116
+ /**
117
+ * List all indexes
118
+ */
119
+ abstract listIndexes(): Promise<string[]>;
120
+ /**
121
+ * Describe an index
122
+ */
123
+ abstract describeIndex(params: DescribeIndexParams): Promise<IndexStats>;
124
+ /**
125
+ * Delete an index
126
+ */
127
+ abstract deleteIndex(params: DeleteIndexParams): Promise<void>;
128
+ /**
129
+ * Validate existing index dimensions
130
+ */
131
+ protected validateExistingIndex(indexName: string, dimension: number, metric: string): Promise<void>;
132
+ }
133
+ /**
134
+ * Validate upsert input
135
+ */
136
+ export declare function validateUpsertInput(storeName: string, vectors: number[][], metadata?: Record<string, unknown>[], ids?: string[]): void;
137
+ /**
138
+ * Validate topK value
139
+ */
140
+ export declare function validateTopK(storeName: string, topK?: number): void;
141
+ /**
142
+ * Validate vector values
143
+ */
144
+ export declare function validateVectorValues(storeName: string, vectors: number[][]): void;
145
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/memory/vector/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Vector Store Abstract Base Class
3
+ * Based on Mastra MastraVector
4
+ */
5
+ /**
6
+ * Abstract base class for vector store implementations
7
+ */
8
+ export class VectorStore {
9
+ constructor() {
10
+ /**
11
+ * Index separator used for generating index names
12
+ */
13
+ this.indexSeparator = "_";
14
+ }
15
+ // ========================================================================
16
+ // Protected Helpers
17
+ // ========================================================================
18
+ /**
19
+ * Validate existing index dimensions
20
+ */
21
+ async validateExistingIndex(indexName, dimension, metric) {
22
+ try {
23
+ const stats = await this.describeIndex({ indexName });
24
+ if (stats.dimension !== dimension) {
25
+ throw new Error(`Index "${indexName}" already exists with dimension ${stats.dimension}, but ${dimension} was requested. ` +
26
+ `Use a different index name or delete the existing index first.`);
27
+ }
28
+ if (stats.metric && stats.metric !== metric) {
29
+ throw new Error(`Index "${indexName}" already exists with metric ${stats.metric}, but ${metric} was requested. ` +
30
+ `Use a different index name or delete the existing index first.`);
31
+ }
32
+ }
33
+ catch (error) {
34
+ // Index doesn't exist, which is fine
35
+ if (error.message?.includes("does not exist")) {
36
+ return;
37
+ }
38
+ throw error;
39
+ }
40
+ }
41
+ }
42
+ /**
43
+ * Validate upsert input
44
+ */
45
+ export function validateUpsertInput(storeName, vectors, metadata, ids) {
46
+ if (!vectors || vectors.length === 0) {
47
+ throw new Error(`${storeName}: No vectors provided for upsert`);
48
+ }
49
+ if (metadata && metadata.length !== vectors.length) {
50
+ throw new Error(`${storeName}: Metadata array length (${metadata.length}) must match vectors length (${vectors.length})`);
51
+ }
52
+ if (ids && ids.length !== vectors.length) {
53
+ throw new Error(`${storeName}: IDs array length (${ids.length}) must match vectors length (${vectors.length})`);
54
+ }
55
+ }
56
+ /**
57
+ * Validate topK value
58
+ */
59
+ export function validateTopK(storeName, topK) {
60
+ if (topK !== undefined && (!Number.isInteger(topK) || topK <= 0)) {
61
+ throw new Error(`${storeName}: topK must be a positive integer`);
62
+ }
63
+ }
64
+ /**
65
+ * Validate vector values
66
+ */
67
+ export function validateVectorValues(storeName, vectors) {
68
+ for (let i = 0; i < vectors.length; i++) {
69
+ const vector = vectors[i];
70
+ if (!Array.isArray(vector)) {
71
+ throw new Error(`${storeName}: Vector at index ${i} is not an array`);
72
+ }
73
+ if (vector.length === 0) {
74
+ throw new Error(`${storeName}: Vector at index ${i} is empty`);
75
+ }
76
+ for (let j = 0; j < vector.length; j++) {
77
+ if (typeof vector[j] !== "number" || !Number.isFinite(vector[j])) {
78
+ throw new Error(`${storeName}: Invalid vector value at index [${i}][${j}]: ${vector[j]}`);
79
+ }
80
+ }
81
+ }
82
+ }
83
+ //# sourceMappingURL=base.js.map