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.
- package/dist/agent/tools/registry.d.ts +1 -1
- package/dist/agent/tools/registry.d.ts.map +1 -1
- package/dist/agent/types.d.ts +1 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/ai/models.generated.d.ts +621 -53
- package/dist/ai/models.generated.d.ts.map +1 -1
- package/dist/ai/models.generated.js +548 -0
- package/dist/ai/models.generated.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/client-pool.d.ts +106 -0
- package/dist/mcp/client-pool.d.ts.map +1 -0
- package/dist/mcp/client-pool.js +233 -0
- package/dist/mcp/client-pool.js.map +1 -0
- package/dist/mcp/client.d.ts +158 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +586 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/config.d.ts +61 -0
- package/dist/mcp/config.d.ts.map +1 -0
- package/dist/mcp/config.js +250 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/errors.d.ts +104 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +138 -0
- package/dist/mcp/errors.js.map +1 -0
- package/dist/mcp/index.d.ts +56 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +83 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/schema-converter.d.ts +68 -0
- package/dist/mcp/schema-converter.d.ts.map +1 -0
- package/dist/mcp/schema-converter.js +230 -0
- package/dist/mcp/schema-converter.js.map +1 -0
- package/dist/mcp/server.d.ts +111 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +300 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool-factory.d.ts +63 -0
- package/dist/mcp/tool-factory.d.ts.map +1 -0
- package/dist/mcp/tool-factory.js +228 -0
- package/dist/mcp/tool-factory.js.map +1 -0
- package/dist/mcp/types.d.ts +289 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +8 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mcp.d.ts +6 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +6 -0
- package/dist/mcp.js.map +1 -0
- package/dist/memory/embedder/base.d.ts +41 -0
- package/dist/memory/embedder/base.d.ts.map +1 -0
- package/dist/memory/embedder/base.js +10 -0
- package/dist/memory/embedder/base.js.map +1 -0
- package/dist/memory/embedder/index.d.ts +8 -0
- package/dist/memory/embedder/index.d.ts.map +1 -0
- package/dist/memory/embedder/index.js +6 -0
- package/dist/memory/embedder/index.js.map +1 -0
- package/dist/memory/embedder/openai.d.ts +35 -0
- package/dist/memory/embedder/openai.d.ts.map +1 -0
- package/dist/memory/embedder/openai.js +103 -0
- package/dist/memory/embedder/openai.js.map +1 -0
- package/dist/memory/index.d.ts +33 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +31 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/memory.d.ts +126 -0
- package/dist/memory/memory.d.ts.map +1 -0
- package/dist/memory/memory.js +280 -0
- package/dist/memory/memory.js.map +1 -0
- package/dist/memory/processors/base.d.ts +42 -0
- package/dist/memory/processors/base.d.ts.map +1 -0
- package/dist/memory/processors/base.js +6 -0
- package/dist/memory/processors/base.js.map +1 -0
- package/dist/memory/processors/index.d.ts +16 -0
- package/dist/memory/processors/index.d.ts.map +1 -0
- package/dist/memory/processors/index.js +18 -0
- package/dist/memory/processors/index.js.map +1 -0
- package/dist/memory/processors/message-history.d.ts +35 -0
- package/dist/memory/processors/message-history.d.ts.map +1 -0
- package/dist/memory/processors/message-history.js +51 -0
- package/dist/memory/processors/message-history.js.map +1 -0
- package/dist/memory/processors/observational-memory/index.d.ts +82 -0
- package/dist/memory/processors/observational-memory/index.d.ts.map +1 -0
- package/dist/memory/processors/observational-memory/index.js +234 -0
- package/dist/memory/processors/observational-memory/index.js.map +1 -0
- package/dist/memory/processors/observational-memory/observer-agent.d.ts +64 -0
- package/dist/memory/processors/observational-memory/observer-agent.d.ts.map +1 -0
- package/dist/memory/processors/observational-memory/observer-agent.js +362 -0
- package/dist/memory/processors/observational-memory/observer-agent.js.map +1 -0
- package/dist/memory/processors/observational-memory/reflector-agent.d.ts +38 -0
- package/dist/memory/processors/observational-memory/reflector-agent.d.ts.map +1 -0
- package/dist/memory/processors/observational-memory/reflector-agent.js +213 -0
- package/dist/memory/processors/observational-memory/reflector-agent.js.map +1 -0
- package/dist/memory/processors/observational-memory/token-counter.d.ts +35 -0
- package/dist/memory/processors/observational-memory/token-counter.d.ts.map +1 -0
- package/dist/memory/processors/observational-memory/token-counter.js +90 -0
- package/dist/memory/processors/observational-memory/token-counter.js.map +1 -0
- package/dist/memory/processors/semantic-recall.d.ts +55 -0
- package/dist/memory/processors/semantic-recall.d.ts.map +1 -0
- package/dist/memory/processors/semantic-recall.js +143 -0
- package/dist/memory/processors/semantic-recall.js.map +1 -0
- package/dist/memory/processors/working-memory.d.ts +41 -0
- package/dist/memory/processors/working-memory.d.ts.map +1 -0
- package/dist/memory/processors/working-memory.js +82 -0
- package/dist/memory/processors/working-memory.js.map +1 -0
- package/dist/memory/storage/base.d.ts +288 -0
- package/dist/memory/storage/base.d.ts.map +1 -0
- package/dist/memory/storage/base.js +211 -0
- package/dist/memory/storage/base.js.map +1 -0
- package/dist/memory/storage/index.d.ts +9 -0
- package/dist/memory/storage/index.d.ts.map +1 -0
- package/dist/memory/storage/index.js +7 -0
- package/dist/memory/storage/index.js.map +1 -0
- package/dist/memory/storage/inmemory.d.ts +93 -0
- package/dist/memory/storage/inmemory.d.ts.map +1 -0
- package/dist/memory/storage/inmemory.js +646 -0
- package/dist/memory/storage/inmemory.js.map +1 -0
- package/dist/memory/tools/working-memory.d.ts +100 -0
- package/dist/memory/tools/working-memory.d.ts.map +1 -0
- package/dist/memory/tools/working-memory.js +237 -0
- package/dist/memory/tools/working-memory.js.map +1 -0
- package/dist/memory/types.d.ts +386 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +58 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/memory/vector/base.d.ts +145 -0
- package/dist/memory/vector/base.d.ts.map +1 -0
- package/dist/memory/vector/base.js +83 -0
- package/dist/memory/vector/base.js.map +1 -0
- package/dist/memory/vector/index.d.ts +8 -0
- package/dist/memory/vector/index.d.ts.map +1 -0
- package/dist/memory/vector/index.js +7 -0
- package/dist/memory/vector/index.js.map +1 -0
- package/dist/memory/vector/inmemory.d.ts +47 -0
- package/dist/memory/vector/inmemory.d.ts.map +1 -0
- package/dist/memory/vector/inmemory.js +234 -0
- package/dist/memory/vector/inmemory.js.map +1 -0
- 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
|