@cogitator-ai/memory 0.11.8 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -5
- package/dist/adapters/base.d.ts +4 -2
- package/dist/adapters/base.d.ts.map +1 -1
- package/dist/adapters/base.js +4 -0
- package/dist/adapters/base.js.map +1 -1
- package/dist/adapters/memory-embedding.d.ts +2 -1
- package/dist/adapters/memory-embedding.d.ts.map +1 -1
- package/dist/adapters/memory-embedding.js +14 -22
- package/dist/adapters/memory-embedding.js.map +1 -1
- package/dist/adapters/memory.d.ts +2 -2
- package/dist/adapters/memory.d.ts.map +1 -1
- package/dist/adapters/memory.js +1 -1
- package/dist/adapters/memory.js.map +1 -1
- package/dist/adapters/mongodb.d.ts +2 -2
- package/dist/adapters/mongodb.d.ts.map +1 -1
- package/dist/adapters/mongodb.js +1 -1
- package/dist/adapters/mongodb.js.map +1 -1
- package/dist/adapters/postgres.d.ts +47 -3
- package/dist/adapters/postgres.d.ts.map +1 -1
- package/dist/adapters/postgres.js +167 -33
- package/dist/adapters/postgres.js.map +1 -1
- package/dist/adapters/qdrant.d.ts +2 -1
- package/dist/adapters/qdrant.d.ts.map +1 -1
- package/dist/adapters/qdrant.js +43 -21
- package/dist/adapters/qdrant.js.map +1 -1
- package/dist/adapters/redis.d.ts +2 -2
- package/dist/adapters/redis.d.ts.map +1 -1
- package/dist/adapters/redis.js +42 -29
- package/dist/adapters/redis.js.map +1 -1
- package/dist/adapters/sqlite.d.ts +2 -2
- package/dist/adapters/sqlite.d.ts.map +1 -1
- package/dist/adapters/sqlite.js +18 -5
- package/dist/adapters/sqlite.js.map +1 -1
- package/dist/compaction.d.ts +9 -2
- package/dist/compaction.d.ts.map +1 -1
- package/dist/compaction.js +85 -31
- package/dist/compaction.js.map +1 -1
- package/dist/context-builder.d.ts +18 -3
- package/dist/context-builder.d.ts.map +1 -1
- package/dist/context-builder.js +204 -185
- package/dist/context-builder.js.map +1 -1
- package/dist/core-facts.d.ts.map +1 -1
- package/dist/core-facts.js +4 -0
- package/dist/core-facts.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/knowledge-graph/sqlite-graph-adapter.d.ts.map +1 -1
- package/dist/knowledge-graph/sqlite-graph-adapter.js +7 -1
- package/dist/knowledge-graph/sqlite-graph-adapter.js.map +1 -1
- package/dist/schema.d.ts +2 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +1 -0
- package/dist/schema.js.map +1 -1
- package/dist/search/filter.d.ts +11 -0
- package/dist/search/filter.d.ts.map +1 -0
- package/dist/search/filter.js +37 -0
- package/dist/search/filter.js.map +1 -0
- package/dist/search/hybrid-search.d.ts +7 -1
- package/dist/search/hybrid-search.d.ts.map +1 -1
- package/dist/search/hybrid-search.js +29 -13
- package/dist/search/hybrid-search.js.map +1 -1
- package/dist/session-manager.d.ts +14 -0
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +18 -0
- package/dist/session-manager.js.map +1 -1
- package/dist/token-counter.d.ts +13 -2
- package/dist/token-counter.d.ts.map +1 -1
- package/dist/token-counter.js +51 -11
- package/dist/token-counter.js.map +1 -1
- package/package.json +14 -11
package/README.md
CHANGED
|
@@ -7,14 +7,16 @@ Memory adapters for Cogitator AI agents. Supports in-memory, Redis (short-term),
|
|
|
7
7
|
```bash
|
|
8
8
|
pnpm add @cogitator-ai/memory
|
|
9
9
|
|
|
10
|
-
#
|
|
10
|
+
# Install the driver of the store you use (optional peer dependencies)
|
|
11
11
|
pnpm add ioredis # For Redis adapter
|
|
12
|
-
pnpm add pg # For PostgreSQL adapter
|
|
13
|
-
pnpm add better-sqlite3 # For SQLite adapter and CoreFactsStore
|
|
12
|
+
pnpm add pg # For PostgreSQL adapter and graph adapter
|
|
13
|
+
pnpm add better-sqlite3 # For SQLite adapter, SQLite graph adapter and CoreFactsStore
|
|
14
14
|
pnpm add mongodb # For MongoDB adapter
|
|
15
15
|
pnpm add @qdrant/js-client-rest # For Qdrant embedding adapter
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
+
Database drivers are not installed with the package (nor with `@cogitator-ai/core`): add the one your adapter needs. An adapter whose driver is missing fails `connect()` with the command to install it. The in-memory adapters need no driver.
|
|
19
|
+
|
|
18
20
|
With `@cogitator-ai/core` you usually configure memory on the runtime (`new Cogitator({ memory: { adapter: 'postgres', postgres: { ... } } })`) and read it with `await cog.getMemory()`; the adapters below are for direct use. Website docs: [Memory](https://cogitator.app/docs/memory), [Adapters](https://cogitator.app/docs/memory/adapters), [Embeddings](https://cogitator.app/docs/memory/embeddings), [Hybrid Search](https://cogitator.app/docs/memory/hybrid-search), [Knowledge Graphs](https://cogitator.app/docs/memory/knowledge-graphs).
|
|
19
21
|
|
|
20
22
|
## Features
|
|
@@ -103,7 +105,7 @@ await memory.connect();
|
|
|
103
105
|
|
|
104
106
|
### Redis Adapter
|
|
105
107
|
|
|
106
|
-
Persistent short-term memory with TTL support. Every write refreshes the TTL of the thread and its entry index, so active conversations do not expire mid-way
|
|
108
|
+
Persistent short-term memory with TTL support. Every write refreshes the TTL of the thread and its entry index, so active conversations do not expire mid-way, expired entries are pruned from the index on read. `getEntries({ limit })` reads only the newest `limit` entries. A failed `connect()` closes its client again, so an unreachable Redis does not keep the process alive.
|
|
107
109
|
|
|
108
110
|
```typescript
|
|
109
111
|
import { RedisAdapter } from '@cogitator-ai/memory';
|
|
@@ -132,13 +134,17 @@ const memory = new PostgresAdapter({
|
|
|
132
134
|
connectionString: 'postgresql://localhost:5432/cogitator',
|
|
133
135
|
schema: 'public',
|
|
134
136
|
poolSize: 10,
|
|
137
|
+
dimensions: 1536, // vector size of the embedding model, default 768
|
|
135
138
|
});
|
|
136
139
|
|
|
137
140
|
await memory.connect();
|
|
141
|
+
memory.vectorStatus(); // { available: true, dimensions: 1536 } or { available: false, reason }
|
|
138
142
|
```
|
|
139
143
|
|
|
140
144
|
On `connect()` the adapter creates its tables and an HNSW cosine index on the embeddings, which works from the first row on (no training data needed). An `ivfflat` index left by an earlier version is replaced on the first connect after upgrading, see the [adapters docs](https://cogitator.app/docs/memory/adapters) for building the new index ahead of time on a large table. `search()` raises `hnsw.ef_search` to the requested limit and, on pgvector 0.8+, uses iterative scans, so large limits and filters still get every matching row. Messages, tool calls, tool results and metadata are stored as `jsonb`.
|
|
141
145
|
|
|
146
|
+
pgvector is only needed for embeddings. Without it, `connect()` still succeeds and threads, entries and facts work, while embedding operations return a failed result naming the reason (also logged at connect). An existing `embeddings` table keeps its vector size: an adapter without `dimensions` adopts it, one configured for another size reports the mismatch through `vectorStatus()` and the failed results instead of failing each search with a Postgres error.
|
|
147
|
+
|
|
142
148
|
### SQLite Adapter
|
|
143
149
|
|
|
144
150
|
```typescript
|
|
@@ -320,6 +326,8 @@ Strategies:
|
|
|
320
326
|
- `relevant` - messages ranked by embedding similarity to `currentInput` (requires `embeddingService`; falls back to `recent` without input), returned in chronological order
|
|
321
327
|
- `hybrid` - always keeps the latest messages and fills the remaining budget with the most relevant older ones
|
|
322
328
|
|
|
329
|
+
The system prompt is always kept and counted: history gets what it leaves of `maxTokens - reserveTokens`, and a prompt larger than that is still sent whole, with a note in `warnings`. Entries are counted by their text, tool call arguments and images rather than only by their saved `tokenCount`. `relevant` and `hybrid` score the newest 200 entries and embed each entry once per builder (vectors are cached by entry id).
|
|
330
|
+
|
|
323
331
|
### Basic Usage
|
|
324
332
|
|
|
325
333
|
```typescript
|
|
@@ -375,6 +383,8 @@ console.log(context.facts);
|
|
|
375
383
|
console.log(context.semanticResults);
|
|
376
384
|
```
|
|
377
385
|
|
|
386
|
+
Embedding stores also accept `filter.metadata` (exact metadata values) in `search`/`keywordSearch`, and `deleteByFilter({ sourceType?, agentId?, threadId?, metadata? })` deletes every matching embedding (a filter without conditions is refused). RAG re-ingest uses it to replace a source's chunks.
|
|
387
|
+
|
|
378
388
|
Semantic context is scoped by embedding metadata: entries with `metadata.agentId` set are only visible to that agent, entries without an `agentId` (shared documents, knowledge bases) are visible to everyone. Adapters filter `search`/`keywordSearch` by `filter.agentId` and `filter.threadId` through the same metadata fields.
|
|
379
389
|
|
|
380
390
|
### Built Context
|
|
@@ -387,6 +397,8 @@ interface BuiltContext {
|
|
|
387
397
|
graphContext?: GraphContext; // with includeGraphContext and a graph adapter
|
|
388
398
|
tokenCount: number;
|
|
389
399
|
truncated: boolean;
|
|
400
|
+
errors?: ContextBuildError[]; // parts that failed to load and were left out
|
|
401
|
+
warnings?: string[]; // budget problems, such as a system prompt over budget
|
|
390
402
|
metadata: {
|
|
391
403
|
originalMessageCount: number;
|
|
392
404
|
includedMessageCount: number;
|
|
@@ -394,8 +406,15 @@ interface BuiltContext {
|
|
|
394
406
|
semanticResultsIncluded: number;
|
|
395
407
|
};
|
|
396
408
|
}
|
|
409
|
+
|
|
410
|
+
interface ContextBuildError {
|
|
411
|
+
source: 'history' | 'facts' | 'semantic' | 'graph' | 'relevance';
|
|
412
|
+
error: Error;
|
|
413
|
+
}
|
|
397
414
|
```
|
|
398
415
|
|
|
416
|
+
`build()` does not throw when a part of the context fails to load (an unreachable store, an embedding API answering 429, a vector size mismatch): the part is left out and reported in `errors`. A failed relevance scoring falls back to the `recent` strategy.
|
|
417
|
+
|
|
399
418
|
---
|
|
400
419
|
|
|
401
420
|
## Sessions and Compaction
|
|
@@ -445,7 +464,11 @@ await sessions.compact(session.id, {
|
|
|
445
464
|
});
|
|
446
465
|
```
|
|
447
466
|
|
|
448
|
-
`list()` works with or without a `userId` filter (sessions are tracked in an index thread).
|
|
467
|
+
`list()` works with or without a `userId` filter (sessions are tracked in an index thread). Using a session puts it back into the index if the index lost it and rewrites the index at most once per `indexRefreshInterval` (default one minute), so with Redis and a `ttl` the index lives as long as any session is active.
|
|
468
|
+
|
|
469
|
+
A thread is compacted once its entries hold `threshold` tokens or `messageThreshold` entries, whichever comes first (set at least one). The summary entry is dated just before the first kept entry and the kept entries are not rewritten, so a reply saved while the summary was being written keeps its place after its question. `addEntry` accepts an optional `createdAt` for this (`NewMemoryEntry`).
|
|
470
|
+
|
|
471
|
+
`compact()` requires the `compaction` option, without it use `CompactionService` directly. The summarizer (`SummarizeFn`) is called as `summarize(messages, options)`, where `options` is a `SummarizeOptions` `{ model?, prompt? }` filled from the `summaryModel` / `summaryPrompt` of the compaction config.
|
|
449
472
|
|
|
450
473
|
---
|
|
451
474
|
|
|
@@ -478,6 +501,8 @@ import {
|
|
|
478
501
|
countTokens,
|
|
479
502
|
countMessageTokens,
|
|
480
503
|
countMessagesTokens,
|
|
504
|
+
countToolCallsTokens,
|
|
505
|
+
countEntryTokens,
|
|
481
506
|
truncateToTokens,
|
|
482
507
|
} from '@cogitator-ai/memory';
|
|
483
508
|
|
|
@@ -493,6 +518,8 @@ const totalTokens = countMessagesTokens([
|
|
|
493
518
|
const truncated = truncateToTokens('Very long text...', 100);
|
|
494
519
|
```
|
|
495
520
|
|
|
521
|
+
`countMessageTokens` counts text, the names and JSON arguments of an assistant message's `toolCalls`, and images (85 tokens for `detail: 'low'`, otherwise an upper estimate of 1600, since the pixel size is unknown). `countEntryTokens` recounts a stored entry, including `entry.toolCalls`, and keeps the saved `tokenCount` when it is larger.
|
|
522
|
+
|
|
496
523
|
---
|
|
497
524
|
|
|
498
525
|
## Embedding Services
|
package/dist/adapters/base.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Base memory adapter - abstract class for all adapters
|
|
3
3
|
*/
|
|
4
|
-
import type { MemoryAdapter, MemoryProvider, MemoryResult, Thread, MemoryEntry, MemoryQueryOptions } from '@cogitator-ai/types';
|
|
4
|
+
import type { MemoryAdapter, MemoryProvider, MemoryResult, Thread, MemoryEntry, MemoryQueryOptions, NewMemoryEntry } from '@cogitator-ai/types';
|
|
5
5
|
export declare abstract class BaseMemoryAdapter implements MemoryAdapter {
|
|
6
6
|
abstract readonly provider: MemoryProvider;
|
|
7
7
|
abstract createThread(agentId: string, metadata?: Record<string, unknown>, threadId?: string): Promise<MemoryResult<Thread>>;
|
|
8
8
|
abstract getThread(threadId: string): Promise<MemoryResult<Thread | null>>;
|
|
9
9
|
abstract updateThread(threadId: string, metadata: Record<string, unknown>): Promise<MemoryResult<Thread>>;
|
|
10
10
|
abstract deleteThread(threadId: string): Promise<MemoryResult<void>>;
|
|
11
|
-
abstract addEntry(entry:
|
|
11
|
+
abstract addEntry(entry: NewMemoryEntry): Promise<MemoryResult<MemoryEntry>>;
|
|
12
12
|
abstract getEntries(options: MemoryQueryOptions): Promise<MemoryResult<MemoryEntry[]>>;
|
|
13
13
|
abstract getEntry(entryId: string): Promise<MemoryResult<MemoryEntry | null>>;
|
|
14
14
|
abstract deleteEntry(entryId: string): Promise<MemoryResult<void>>;
|
|
@@ -22,6 +22,8 @@ export declare abstract class BaseMemoryAdapter implements MemoryAdapter {
|
|
|
22
22
|
* entries saved in the same millisecond (e.g. a user message and its reply) keep their order.
|
|
23
23
|
*/
|
|
24
24
|
protected nextEntryTimestamp(threadId: string): Date;
|
|
25
|
+
/** Creation time of a new entry: the `createdAt` it asks for, or the next {@link nextEntryTimestamp}. */
|
|
26
|
+
protected entryTimestamp(entry: NewMemoryEntry): Date;
|
|
25
27
|
protected success<T>(data: T): MemoryResult<T>;
|
|
26
28
|
protected failure(error: string): MemoryResult<never>;
|
|
27
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,MAAM,EACN,WAAW,EACX,kBAAkB,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAI7B,8BAAsB,iBAAkB,YAAW,aAAa;IAC9D,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAE3C,QAAQ,CAAC,YAAY,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAEhC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE1E,QAAQ,CAAC,YAAY,CACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAEhC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEpE,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAE5E,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtF,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAE7E,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAElE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEnE,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAE/C,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAElD,OAAO,CAAC,cAAc,CAA6B;IAEnD,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI5C;;;OAGG;IACH,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAepD,yGAAyG;IACzG,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIrD,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAI9C,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;CAGtD"}
|
package/dist/adapters/base.js
CHANGED
|
@@ -25,6 +25,10 @@ export class BaseMemoryAdapter {
|
|
|
25
25
|
}
|
|
26
26
|
return new Date(timestamp);
|
|
27
27
|
}
|
|
28
|
+
/** Creation time of a new entry: the `createdAt` it asks for, or the next {@link nextEntryTimestamp}. */
|
|
29
|
+
entryTimestamp(entry) {
|
|
30
|
+
return entry.createdAt ? new Date(entry.createdAt) : this.nextEntryTimestamp(entry.threadId);
|
|
31
|
+
}
|
|
28
32
|
success(data) {
|
|
29
33
|
return { success: true, data };
|
|
30
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAWhC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,OAAgB,iBAAiB;IAgC7B,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,UAAU,CAAC,MAAc;QACjC,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACO,kBAAkB,CAAC,QAAgB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAE9C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,mBAAmB,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACvD,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,yGAAyG;IAC/F,cAAc,CAAC,KAAqB;QAC5C,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/F,CAAC;IAES,OAAO,CAAI,IAAO;QAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAES,OAAO,CAAC,KAAa;QAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Embedding, EmbeddingAdapter, KeywordSearchAdapter, KeywordSearchOptions, MemoryResult, SearchResult, SemanticSearchOptions } from '@cogitator-ai/types';
|
|
1
|
+
import type { Embedding, EmbeddingAdapter, KeywordSearchAdapter, KeywordSearchOptions, MemoryResult, EmbeddingDeleteFilter, SearchResult, SemanticSearchOptions } from '@cogitator-ai/types';
|
|
2
2
|
export declare class InMemoryEmbeddingAdapter implements EmbeddingAdapter, KeywordSearchAdapter {
|
|
3
3
|
private embeddings;
|
|
4
4
|
private bm25Index;
|
|
@@ -9,6 +9,7 @@ export declare class InMemoryEmbeddingAdapter implements EmbeddingAdapter, Keywo
|
|
|
9
9
|
keywordSearch(options: KeywordSearchOptions): Promise<MemoryResult<SearchResult[]>>;
|
|
10
10
|
deleteEmbedding(embeddingId: string): Promise<MemoryResult<void>>;
|
|
11
11
|
deleteBySource(sourceId: string): Promise<MemoryResult<void>>;
|
|
12
|
+
deleteByFilter(filter: EmbeddingDeleteFilter): Promise<MemoryResult<void>>;
|
|
12
13
|
get size(): number;
|
|
13
14
|
clear(): void;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-embedding.d.ts","sourceRoot":"","sources":["../../src/adapters/memory-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,
|
|
1
|
+
{"version":3,"file":"memory-embedding.d.ts","sourceRoot":"","sources":["../../src/adapters/memory-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AA0B7B,qBAAa,wBAAyB,YAAW,gBAAgB,EAAE,oBAAoB;IACrF,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,SAAS,CAAmB;IAE9B,YAAY,CAChB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAW7B,MAAM,CACV,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,CAAC;IA0BrD,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;IA2BnF,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAMjE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAU7D,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAWhF,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { nanoid } from 'nanoid';
|
|
2
2
|
import { BM25Index } from '../search/bm25.js';
|
|
3
|
+
import { EMPTY_DELETE_FILTER_ERROR, hasDeleteCondition, matchesSearchFilter, } from '../search/filter.js';
|
|
3
4
|
function cosineSimilarity(a, b) {
|
|
4
5
|
if (a.length !== b.length)
|
|
5
6
|
return 0;
|
|
@@ -14,26 +15,6 @@ function cosineSimilarity(a, b) {
|
|
|
14
15
|
const magnitude = Math.sqrt(normA) * Math.sqrt(normB);
|
|
15
16
|
return magnitude === 0 ? 0 : dotProduct / magnitude;
|
|
16
17
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Embeddings are scoped by `metadata.agentId` / `metadata.threadId`; a user
|
|
19
|
-
* filter also lets through embeddings of no user (`metadata.userId` unset).
|
|
20
|
-
*/
|
|
21
|
-
function matchesFilter(embedding, filter) {
|
|
22
|
-
if (!filter)
|
|
23
|
-
return true;
|
|
24
|
-
if (filter.sourceType && embedding.sourceType !== filter.sourceType)
|
|
25
|
-
return false;
|
|
26
|
-
if (filter.agentId && embedding.metadata?.agentId !== filter.agentId)
|
|
27
|
-
return false;
|
|
28
|
-
if (filter.threadId && embedding.metadata?.threadId !== filter.threadId)
|
|
29
|
-
return false;
|
|
30
|
-
if (filter.userId) {
|
|
31
|
-
const owner = embedding.metadata?.userId;
|
|
32
|
-
if (owner !== undefined && owner !== null && owner !== filter.userId)
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
18
|
export class InMemoryEmbeddingAdapter {
|
|
38
19
|
embeddings = new Map();
|
|
39
20
|
bm25Index = new BM25Index();
|
|
@@ -53,7 +34,7 @@ export class InMemoryEmbeddingAdapter {
|
|
|
53
34
|
const limit = options.limit ?? 10;
|
|
54
35
|
const results = [];
|
|
55
36
|
for (const emb of this.embeddings.values()) {
|
|
56
|
-
if (!
|
|
37
|
+
if (!matchesSearchFilter(emb, options.filter)) {
|
|
57
38
|
continue;
|
|
58
39
|
}
|
|
59
40
|
const score = cosineSimilarity(options.vector, emb.vector);
|
|
@@ -74,7 +55,7 @@ export class InMemoryEmbeddingAdapter {
|
|
|
74
55
|
const emb = this.embeddings.get(r.id);
|
|
75
56
|
if (!emb)
|
|
76
57
|
continue;
|
|
77
|
-
if (!
|
|
58
|
+
if (!matchesSearchFilter(emb, options.filter)) {
|
|
78
59
|
continue;
|
|
79
60
|
}
|
|
80
61
|
results.push({
|
|
@@ -103,6 +84,17 @@ export class InMemoryEmbeddingAdapter {
|
|
|
103
84
|
}
|
|
104
85
|
return { success: true, data: undefined };
|
|
105
86
|
}
|
|
87
|
+
async deleteByFilter(filter) {
|
|
88
|
+
if (!hasDeleteCondition(filter))
|
|
89
|
+
return { success: false, error: EMPTY_DELETE_FILTER_ERROR };
|
|
90
|
+
for (const [id, emb] of this.embeddings) {
|
|
91
|
+
if (matchesSearchFilter(emb, filter)) {
|
|
92
|
+
this.embeddings.delete(id);
|
|
93
|
+
this.bm25Index.removeDocument(id);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return { success: true, data: undefined };
|
|
97
|
+
}
|
|
106
98
|
get size() {
|
|
107
99
|
return this.embeddings.size;
|
|
108
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-embedding.js","sourceRoot":"","sources":["../../src/adapters/memory-embedding.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-embedding.js","sourceRoot":"","sources":["../../src/adapters/memory-embedding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* In-memory adapter - default, zero dependencies
|
|
3
3
|
*/
|
|
4
|
-
import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, InMemoryAdapterConfig, MemoryProvider } from '@cogitator-ai/types';
|
|
4
|
+
import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, InMemoryAdapterConfig, MemoryProvider, NewMemoryEntry } from '@cogitator-ai/types';
|
|
5
5
|
import { BaseMemoryAdapter } from './base.js';
|
|
6
6
|
export declare class InMemoryAdapter extends BaseMemoryAdapter {
|
|
7
7
|
readonly provider: MemoryProvider;
|
|
@@ -16,7 +16,7 @@ export declare class InMemoryAdapter extends BaseMemoryAdapter {
|
|
|
16
16
|
getThread(threadId: string): Promise<MemoryResult<Thread | null>>;
|
|
17
17
|
updateThread(threadId: string, metadata: Record<string, unknown>): Promise<MemoryResult<Thread>>;
|
|
18
18
|
deleteThread(threadId: string): Promise<MemoryResult<void>>;
|
|
19
|
-
addEntry(entry:
|
|
19
|
+
addEntry(entry: NewMemoryEntry): Promise<MemoryResult<MemoryEntry>>;
|
|
20
20
|
getEntries(options: MemoryQueryOptions): Promise<MemoryResult<MemoryEntry[]>>;
|
|
21
21
|
getEntry(entryId: string): Promise<MemoryResult<MemoryEntry | null>>;
|
|
22
22
|
deleteEntry(entryId: string): Promise<MemoryResult<void>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/adapters/memory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAY;IAE7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,GAAE,qBAA8C;IAK5D,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAItC,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAOzC,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACtC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAmB1B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAIjE,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAU1B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAU3D,QAAQ,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/adapters/memory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAY;IAE7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,GAAE,qBAA8C;IAK5D,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAItC,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAOzC,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACtC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAmB1B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAIjE,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAU1B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAU3D,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAsBnE,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IA6B7E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAIpE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAazD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAShE,IAAI,KAAK;;;MAKR;CACF"}
|
package/dist/adapters/memory.js
CHANGED
|
@@ -69,7 +69,7 @@ export class InMemoryAdapter extends BaseMemoryAdapter {
|
|
|
69
69
|
const full = {
|
|
70
70
|
...entry,
|
|
71
71
|
id: this.generateId('entry'),
|
|
72
|
-
createdAt: this.
|
|
72
|
+
createdAt: this.entryTimestamp(entry),
|
|
73
73
|
};
|
|
74
74
|
this.entries.set(full.id, full);
|
|
75
75
|
const threadList = this.threadEntries.get(entry.threadId) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/adapters/memory.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/adapters/memory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;IAC3C,QAAQ,GAAmB,QAAQ,CAAC;IAErC,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpC,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,UAAU,CAAS;IAE3B,YAAY,SAAgC,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAChE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,WAAoC,EAAE,EACtC,QAAiB;QAEjB,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAW;YACrB,EAAE;YACF,OAAO;YACP,QAAQ;YACR,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,GAAG;YACrC,SAAS,EAAE,GAAG;SACf,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,QAAiC;QAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;QACtD,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxD,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAqB;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAClD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAgB;YACxB,GAAG,KAAK;YACR,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SACtC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA2B;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChE,IAAI,OAAO,GAAG,QAAQ;aACnB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACjC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,MAAO,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,KAAM,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC9B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5B,GAAG,CAAC;gBACJ,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC,CAAC;QACN,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAEtE,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YACpD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxD,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,KAAK;QACP,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SAC3B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, MongoDBAdapterConfig, MemoryProvider } from '@cogitator-ai/types';
|
|
1
|
+
import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, MongoDBAdapterConfig, MemoryProvider, NewMemoryEntry } from '@cogitator-ai/types';
|
|
2
2
|
import { BaseMemoryAdapter } from './base.js';
|
|
3
3
|
export declare class MongoDBAdapter extends BaseMemoryAdapter {
|
|
4
4
|
readonly provider: MemoryProvider;
|
|
@@ -22,7 +22,7 @@ export declare class MongoDBAdapter extends BaseMemoryAdapter {
|
|
|
22
22
|
getThread(threadId: string): Promise<MemoryResult<Thread | null>>;
|
|
23
23
|
updateThread(threadId: string, metadata: Record<string, unknown>): Promise<MemoryResult<Thread>>;
|
|
24
24
|
deleteThread(threadId: string): Promise<MemoryResult<void>>;
|
|
25
|
-
addEntry(entry:
|
|
25
|
+
addEntry(entry: NewMemoryEntry): Promise<MemoryResult<MemoryEntry>>;
|
|
26
26
|
getEntries(options: MemoryQueryOptions): Promise<MemoryResult<MemoryEntry[]>>;
|
|
27
27
|
getEntry(entryId: string): Promise<MemoryResult<MemoryEntry | null>>;
|
|
28
28
|
deleteEntry(entryId: string): Promise<MemoryResult<void>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.d.ts","sourceRoot":"","sources":["../../src/adapters/mongodb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,YAAY,EAEZ,oBAAoB,EACpB,cAAc,
|
|
1
|
+
{"version":3,"file":"mongodb.d.ts","sourceRoot":"","sources":["../../src/adapters/mongodb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,YAAY,EAEZ,oBAAoB,EACpB,cAAc,EAGd,cAAc,EACf,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAyF3C,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAa;IAE9C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,oBAAoB;IAOxC,OAAO,KAAK,OAAO,GAGlB;IAED,OAAO,KAAK,OAAO,GAGlB;IAED;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAQ9B,IAAI;IA2BZ,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAgBzC,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACtC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAyB1B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAmBjE,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAwB1B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAY3D,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IA0BnE,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAyB7E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAWpE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAWzD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;CAUjE"}
|
package/dist/adapters/mongodb.js
CHANGED
|
@@ -186,7 +186,7 @@ export class MongoDBAdapter extends BaseMemoryAdapter {
|
|
|
186
186
|
const full = {
|
|
187
187
|
...entry,
|
|
188
188
|
id: this.generateId('entry'),
|
|
189
|
-
createdAt: this.
|
|
189
|
+
createdAt: this.entryTimestamp(entry),
|
|
190
190
|
};
|
|
191
191
|
try {
|
|
192
192
|
await this.entries.insertOne({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.js","sourceRoot":"","sources":["../../src/adapters/mongodb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mongodb.js","sourceRoot":"","sources":["../../src/adapters/mongodb.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,24 +6,61 @@
|
|
|
6
6
|
* - Facts (FactAdapter)
|
|
7
7
|
* - Embeddings with pgvector (EmbeddingAdapter)
|
|
8
8
|
*/
|
|
9
|
-
import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, PostgresAdapterConfig, MemoryProvider, Fact, Embedding, SemanticSearchOptions, FactAdapter, EmbeddingAdapter, KeywordSearchAdapter, KeywordSearchOptions, SearchResult } from '@cogitator-ai/types';
|
|
9
|
+
import type { Thread, MemoryEntry, MemoryQueryOptions, MemoryResult, PostgresAdapterConfig, MemoryProvider, Fact, Embedding, SemanticSearchOptions, FactAdapter, EmbeddingAdapter, KeywordSearchAdapter, KeywordSearchOptions, SearchResult, NewMemoryEntry, EmbeddingDeleteFilter } from '@cogitator-ai/types';
|
|
10
10
|
import { BaseMemoryAdapter } from './base.js';
|
|
11
|
+
/**
|
|
12
|
+
* Whether a Postgres adapter can store and search embeddings, and why not. `tableExists` tells
|
|
13
|
+
* that the `embeddings` table is there (with another vector size), so its rows can still be
|
|
14
|
+
* deleted and searched by keyword.
|
|
15
|
+
*/
|
|
16
|
+
export type VectorStoreState = {
|
|
17
|
+
available: true;
|
|
18
|
+
dimensions: number;
|
|
19
|
+
} | {
|
|
20
|
+
available: false;
|
|
21
|
+
reason: string;
|
|
22
|
+
tableExists?: boolean;
|
|
23
|
+
};
|
|
11
24
|
export declare class PostgresAdapter extends BaseMemoryAdapter implements FactAdapter, EmbeddingAdapter, KeywordSearchAdapter {
|
|
12
25
|
readonly provider: MemoryProvider;
|
|
13
26
|
private pool;
|
|
14
27
|
private config;
|
|
15
28
|
private schema;
|
|
16
29
|
private vectorDimensions;
|
|
30
|
+
private dimensionsConfigured;
|
|
17
31
|
private vectorTuning;
|
|
32
|
+
private vectorStore;
|
|
18
33
|
constructor(config: PostgresAdapterConfig);
|
|
19
34
|
connect(): Promise<MemoryResult<void>>;
|
|
35
|
+
/**
|
|
36
|
+
* Whether embeddings can be stored and searched: pgvector must be installed, and the
|
|
37
|
+
* `embeddings` table must have the configured vector size. Threads, entries and facts work
|
|
38
|
+
* either way.
|
|
39
|
+
*/
|
|
40
|
+
vectorStatus(): VectorStoreState;
|
|
20
41
|
private initSchema;
|
|
42
|
+
/**
|
|
43
|
+
* Creates the `embeddings` table, its HNSW index and its full-text column when pgvector is
|
|
44
|
+
* available. An existing table keeps its vector size: an adapter without configured dimensions
|
|
45
|
+
* adopts it, one configured for another size cannot store or search embeddings until the
|
|
46
|
+
* table is migrated.
|
|
47
|
+
*/
|
|
48
|
+
private prepareVectorStore;
|
|
49
|
+
/**
|
|
50
|
+
* The vector size of the existing `embeddings.vector` column: null without the table, 0 for a
|
|
51
|
+
* column declared without a size.
|
|
52
|
+
*/
|
|
53
|
+
private embeddingColumnDimensions;
|
|
21
54
|
disconnect(): Promise<MemoryResult<void>>;
|
|
55
|
+
/** Why embeddings cannot be written or searched by vector, or null when they can. */
|
|
56
|
+
private vectorUnavailable;
|
|
57
|
+
/** Why the `embeddings` table cannot be read or cleaned up, or null when it can. */
|
|
58
|
+
private embeddingTableUnavailable;
|
|
22
59
|
createThread(agentId: string, metadata?: Record<string, unknown>, threadId?: string): Promise<MemoryResult<Thread>>;
|
|
23
60
|
getThread(threadId: string): Promise<MemoryResult<Thread | null>>;
|
|
24
61
|
updateThread(threadId: string, metadata: Record<string, unknown>): Promise<MemoryResult<Thread>>;
|
|
25
62
|
deleteThread(threadId: string): Promise<MemoryResult<void>>;
|
|
26
|
-
addEntry(entry:
|
|
63
|
+
addEntry(entry: NewMemoryEntry): Promise<MemoryResult<MemoryEntry>>;
|
|
27
64
|
getEntries(options: MemoryQueryOptions): Promise<MemoryResult<MemoryEntry[]>>;
|
|
28
65
|
getEntry(entryId: string): Promise<MemoryResult<MemoryEntry | null>>;
|
|
29
66
|
deleteEntry(entryId: string): Promise<MemoryResult<void>>;
|
|
@@ -39,15 +76,22 @@ export declare class PostgresAdapter extends BaseMemoryAdapter implements FactAd
|
|
|
39
76
|
})[]>>;
|
|
40
77
|
deleteEmbedding(embeddingId: string): Promise<MemoryResult<void>>;
|
|
41
78
|
deleteBySource(sourceId: string): Promise<MemoryResult<void>>;
|
|
79
|
+
deleteByFilter(filter: EmbeddingDeleteFilter): Promise<MemoryResult<void>>;
|
|
42
80
|
keywordSearch(options: KeywordSearchOptions): Promise<MemoryResult<SearchResult[]>>;
|
|
43
81
|
/**
|
|
44
82
|
* SQL conditions for a search filter; agent and thread scoping use `metadata.agentId` /
|
|
45
|
-
* `metadata.threadId`,
|
|
83
|
+
* `metadata.threadId`, a user filter also lets through embeddings of no user, and `metadata`
|
|
84
|
+
* conditions are matched by JSONB containment.
|
|
46
85
|
*/
|
|
47
86
|
private embeddingFilterClause;
|
|
48
87
|
/** Runs `work` on one pooled connection inside a transaction, so `SET LOCAL` style settings apply to it only. */
|
|
49
88
|
private inTransaction;
|
|
50
89
|
private rowToThread;
|
|
90
|
+
/**
|
|
91
|
+
* The vector size of the embedding model, before `connect()`. The `embeddings` table is
|
|
92
|
+
* created with it, and an existing table of another size is reported by `vectorStatus()`
|
|
93
|
+
* instead of failing each search. Same as `dimensions` in the config.
|
|
94
|
+
*/
|
|
51
95
|
setVectorDimensions(dimensions: number): void;
|
|
52
96
|
}
|
|
53
97
|
//# sourceMappingURL=postgres.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/adapters/postgres.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,IAAI,EACJ,SAAS,EACT,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EAEpB,YAAY,
|
|
1
|
+
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/adapters/postgres.ts"],"names":[],"mappings":"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"}
|