@framers/agentos 0.1.200 → 0.1.202

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 (48) hide show
  1. package/README.md +162 -907
  2. package/dist/memory/CognitiveMemoryManager.d.ts +22 -0
  3. package/dist/memory/CognitiveMemoryManager.d.ts.map +1 -1
  4. package/dist/memory/CognitiveMemoryManager.js +26 -0
  5. package/dist/memory/CognitiveMemoryManager.js.map +1 -1
  6. package/dist/memory/archive/IMemoryArchive.d.ts +179 -0
  7. package/dist/memory/archive/IMemoryArchive.d.ts.map +1 -0
  8. package/dist/memory/archive/IMemoryArchive.js +18 -0
  9. package/dist/memory/archive/IMemoryArchive.js.map +1 -0
  10. package/dist/memory/archive/SqlStorageMemoryArchive.d.ts +130 -0
  11. package/dist/memory/archive/SqlStorageMemoryArchive.d.ts.map +1 -0
  12. package/dist/memory/archive/SqlStorageMemoryArchive.js +243 -0
  13. package/dist/memory/archive/SqlStorageMemoryArchive.js.map +1 -0
  14. package/dist/memory/archive/index.d.ts +8 -0
  15. package/dist/memory/archive/index.d.ts.map +1 -0
  16. package/dist/memory/archive/index.js +7 -0
  17. package/dist/memory/archive/index.js.map +1 -0
  18. package/dist/memory/core/config.d.ts +11 -0
  19. package/dist/memory/core/config.d.ts.map +1 -1
  20. package/dist/memory/core/config.js.map +1 -1
  21. package/dist/memory/io/extension/MemoryToolsExtension.d.ts +6 -0
  22. package/dist/memory/io/extension/MemoryToolsExtension.d.ts.map +1 -1
  23. package/dist/memory/io/extension/MemoryToolsExtension.js.map +1 -1
  24. package/dist/memory/io/tools/RehydrateMemoryTool.d.ts +81 -0
  25. package/dist/memory/io/tools/RehydrateMemoryTool.d.ts.map +1 -0
  26. package/dist/memory/io/tools/RehydrateMemoryTool.js +94 -0
  27. package/dist/memory/io/tools/RehydrateMemoryTool.js.map +1 -0
  28. package/dist/memory/io/tools/index.d.ts +3 -0
  29. package/dist/memory/io/tools/index.d.ts.map +1 -1
  30. package/dist/memory/io/tools/index.js +2 -0
  31. package/dist/memory/io/tools/index.js.map +1 -1
  32. package/dist/memory/mechanisms/consolidation/TemporalGist.d.ts.map +1 -1
  33. package/dist/memory/mechanisms/consolidation/TemporalGist.js +21 -0
  34. package/dist/memory/mechanisms/consolidation/TemporalGist.js.map +1 -1
  35. package/dist/memory/mechanisms/types.d.ts +4 -0
  36. package/dist/memory/mechanisms/types.d.ts.map +1 -1
  37. package/dist/memory/pipeline/consolidation/ConsolidationPipeline.d.ts +6 -0
  38. package/dist/memory/pipeline/consolidation/ConsolidationPipeline.d.ts.map +1 -1
  39. package/dist/memory/pipeline/consolidation/ConsolidationPipeline.js +16 -0
  40. package/dist/memory/pipeline/consolidation/ConsolidationPipeline.js.map +1 -1
  41. package/dist/memory/pipeline/lifecycle/MemoryLifecycleManager.d.ts +11 -0
  42. package/dist/memory/pipeline/lifecycle/MemoryLifecycleManager.d.ts.map +1 -1
  43. package/dist/memory/pipeline/lifecycle/MemoryLifecycleManager.js +43 -5
  44. package/dist/memory/pipeline/lifecycle/MemoryLifecycleManager.js.map +1 -1
  45. package/dist/memory/retrieval/store/SqliteBrain.d.ts.map +1 -1
  46. package/dist/memory/retrieval/store/SqliteBrain.js +7 -0
  47. package/dist/memory/retrieval/store/SqliteBrain.js.map +1 -1
  48. package/package.json +1 -1
@@ -0,0 +1,243 @@
1
+ /**
2
+ * @fileoverview Default IMemoryArchive implementation backed by StorageAdapter.
3
+ *
4
+ * Uses the same `@framers/sql-storage-adapter` contract as `SqliteBrain`,
5
+ * `GraphRAGEngine`, and every other agentos persistence layer. Supports all
6
+ * sql-storage-adapter backends: better-sqlite3, sql.js, IndexedDB, Capacitor
7
+ * SQLite, and PostgreSQL.
8
+ *
9
+ * Two usage modes:
10
+ * 1. **Shared adapter** — pass the brain's `StorageAdapter`. Archive tables
11
+ * live in the same database. Soul exports bundle one file.
12
+ * 2. **Standalone adapter** — pass a separate adapter. Archive tables live
13
+ * in their own database or schema.
14
+ *
15
+ * @module agentos/memory/archive/SqlStorageMemoryArchive
16
+ * @see {@link IMemoryArchive} for the contract definition.
17
+ * @see {@link ../../retrieval/store/SqliteBrain} for the shared-adapter pattern.
18
+ */
19
+ import { sha256 } from '../core/util/crossPlatformCrypto.js';
20
+ // ---------------------------------------------------------------------------
21
+ // DDL — exported for SqliteBrain to include in _initSchema()
22
+ // ---------------------------------------------------------------------------
23
+ /**
24
+ * DDL for the archived_traces table.
25
+ * @internal
26
+ */
27
+ export const DDL_ARCHIVED_TRACES = `
28
+ CREATE TABLE IF NOT EXISTS archived_traces (
29
+ trace_id TEXT PRIMARY KEY,
30
+ agent_id TEXT NOT NULL,
31
+ verbatim_content TEXT NOT NULL,
32
+ content_hash TEXT NOT NULL,
33
+ trace_type TEXT NOT NULL,
34
+ emotional_context TEXT NOT NULL DEFAULT '{}',
35
+ entities TEXT NOT NULL DEFAULT '[]',
36
+ tags TEXT NOT NULL DEFAULT '[]',
37
+ created_at INTEGER NOT NULL,
38
+ archived_at INTEGER NOT NULL,
39
+ archive_reason TEXT NOT NULL,
40
+ byte_size INTEGER NOT NULL DEFAULT 0
41
+ );
42
+ `;
43
+ /**
44
+ * Index on agent_id + archived_at for retention sweeps.
45
+ * @internal
46
+ */
47
+ export const DDL_ARCHIVED_TRACES_IDX_AGENT_TIME = `
48
+ CREATE INDEX IF NOT EXISTS idx_archived_traces_agent_time
49
+ ON archived_traces (agent_id, archived_at);
50
+ `;
51
+ /**
52
+ * Index on archive_reason for analytics queries.
53
+ * @internal
54
+ */
55
+ export const DDL_ARCHIVED_TRACES_IDX_REASON = `
56
+ CREATE INDEX IF NOT EXISTS idx_archived_traces_reason
57
+ ON archived_traces (archive_reason);
58
+ `;
59
+ /**
60
+ * DDL for the archive_access_log table (rehydration tracking).
61
+ * @internal
62
+ */
63
+ export const DDL_ARCHIVE_ACCESS_LOG = `
64
+ CREATE TABLE IF NOT EXISTS archive_access_log (
65
+ trace_id TEXT NOT NULL,
66
+ accessed_at INTEGER NOT NULL,
67
+ request_context TEXT,
68
+ PRIMARY KEY (trace_id, accessed_at)
69
+ );
70
+ `;
71
+ /**
72
+ * Index for recency queries on the access log.
73
+ * @internal
74
+ */
75
+ export const DDL_ARCHIVE_ACCESS_LOG_IDX = `
76
+ CREATE INDEX IF NOT EXISTS idx_archive_access_recency
77
+ ON archive_access_log (trace_id, accessed_at DESC);
78
+ `;
79
+ // ---------------------------------------------------------------------------
80
+ // Implementation
81
+ // ---------------------------------------------------------------------------
82
+ /**
83
+ * Default `IMemoryArchive` implementation using `@framers/sql-storage-adapter`.
84
+ *
85
+ * @example Shared adapter with SqliteBrain
86
+ * ```ts
87
+ * const brain = await SqliteBrain.open('/path/to/brain.sqlite');
88
+ * const archive = new SqlStorageMemoryArchive(brain.adapter, brain.features);
89
+ * await archive.initialize();
90
+ * ```
91
+ *
92
+ * @example Standalone Postgres adapter
93
+ * ```ts
94
+ * const pgAdapter = await resolveStorageAdapter({
95
+ * postgres: { connectionString: process.env.DATABASE_URL },
96
+ * });
97
+ * const features = createStorageFeatures(pgAdapter);
98
+ * const archive = new SqlStorageMemoryArchive(pgAdapter, features);
99
+ * await archive.initialize();
100
+ * ```
101
+ */
102
+ export class SqlStorageMemoryArchive {
103
+ /**
104
+ * Create an archive backed by the given storage adapter.
105
+ *
106
+ * @param adapter - An initialized `StorageAdapter` instance. Can be shared
107
+ * with `SqliteBrain` (same DB) or standalone (own DB).
108
+ * @param features - Platform-aware feature bundle for dialect-portable SQL.
109
+ */
110
+ constructor(adapter, features) {
111
+ this.adapter = adapter;
112
+ this.features = features;
113
+ }
114
+ /**
115
+ * Create the `archived_traces` and `archive_access_log` tables.
116
+ * Uses `CREATE TABLE/INDEX IF NOT EXISTS` — safe to call repeatedly.
117
+ */
118
+ async initialize() {
119
+ await this.adapter.exec(DDL_ARCHIVED_TRACES);
120
+ await this.adapter.exec(DDL_ARCHIVED_TRACES_IDX_AGENT_TIME);
121
+ await this.adapter.exec(DDL_ARCHIVED_TRACES_IDX_REASON);
122
+ await this.adapter.exec(DDL_ARCHIVE_ACCESS_LOG);
123
+ await this.adapter.exec(DDL_ARCHIVE_ACCESS_LOG_IDX);
124
+ }
125
+ /**
126
+ * Persist the verbatim trace content and identifying metadata.
127
+ *
128
+ * Idempotent: a second `store()` call with the same `traceId` is a no-op
129
+ * and returns `{ success: true, bytesWritten: 0 }`.
130
+ *
131
+ * @param trace - The archived trace record to persist.
132
+ * @returns Write result with success flag and bytes written.
133
+ */
134
+ async store(trace) {
135
+ // Idempotent: skip if already stored
136
+ const existing = await this.adapter.get('SELECT trace_id FROM archived_traces WHERE trace_id = ?', [trace.traceId]);
137
+ if (existing) {
138
+ return { success: true, traceId: trace.traceId, bytesWritten: 0 };
139
+ }
140
+ const byteSize = new TextEncoder().encode(trace.verbatimContent).byteLength;
141
+ await this.adapter.run(`INSERT INTO archived_traces
142
+ (trace_id, agent_id, verbatim_content, content_hash, trace_type,
143
+ emotional_context, entities, tags, created_at, archived_at,
144
+ archive_reason, byte_size)
145
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
146
+ trace.traceId,
147
+ trace.agentId,
148
+ trace.verbatimContent,
149
+ trace.contentHash,
150
+ trace.traceType,
151
+ JSON.stringify(trace.emotionalContext),
152
+ JSON.stringify(trace.entities),
153
+ JSON.stringify(trace.tags),
154
+ trace.createdAt,
155
+ trace.archivedAt,
156
+ trace.archiveReason,
157
+ byteSize,
158
+ ]);
159
+ return { success: true, traceId: trace.traceId, bytesWritten: byteSize };
160
+ }
161
+ /**
162
+ * Return the verbatim content for a trace id, or `null` if not archived.
163
+ *
164
+ * Verifies content integrity via SHA-256 hash comparison. Returns `null`
165
+ * (rather than throwing) on hash mismatch. Writes a row to the access log
166
+ * on successful rehydration.
167
+ *
168
+ * @param traceId - The trace id to rehydrate.
169
+ * @param requestContext - Optional caller hint for audit.
170
+ * @returns The rehydrated trace data, or `null`.
171
+ */
172
+ async rehydrate(traceId, requestContext) {
173
+ const row = await this.adapter.get('SELECT verbatim_content, content_hash, archived_at, archive_reason FROM archived_traces WHERE trace_id = ?', [traceId]);
174
+ if (!row)
175
+ return null;
176
+ // Integrity check: verify hash matches stored content
177
+ const computedHash = await sha256(row.verbatim_content);
178
+ if (computedHash !== row.content_hash) {
179
+ return null;
180
+ }
181
+ // Write access log entry for retention awareness
182
+ await this.adapter.run('INSERT INTO archive_access_log (trace_id, accessed_at, request_context) VALUES (?, ?, ?)', [traceId, Date.now(), requestContext ?? null]);
183
+ return {
184
+ traceId,
185
+ verbatimContent: row.verbatim_content,
186
+ contentHash: row.content_hash,
187
+ archivedAt: row.archived_at,
188
+ archiveReason: row.archive_reason,
189
+ };
190
+ }
191
+ /**
192
+ * Remove archived content and its access log entries for a trace id.
193
+ * No-op if the trace id is not found.
194
+ *
195
+ * @param traceId - The trace id to remove from the archive.
196
+ */
197
+ async drop(traceId) {
198
+ await this.adapter.run('DELETE FROM archived_traces WHERE trace_id = ?', [traceId]);
199
+ await this.adapter.run('DELETE FROM archive_access_log WHERE trace_id = ?', [traceId]);
200
+ }
201
+ /**
202
+ * Return archived trace metadata matching optional filters.
203
+ *
204
+ * @param options - Optional filters for agent, age, and result limit.
205
+ * @returns Array of archive list entries (metadata only, no content).
206
+ */
207
+ async list(options) {
208
+ const conditions = [];
209
+ const params = [];
210
+ if (options?.agentId) {
211
+ conditions.push('agent_id = ?');
212
+ params.push(options.agentId);
213
+ }
214
+ if (options?.olderThanMs) {
215
+ const cutoff = Date.now() - options.olderThanMs;
216
+ conditions.push('archived_at < ?');
217
+ params.push(cutoff);
218
+ }
219
+ const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
220
+ const limit = options?.limit ? `LIMIT ${options.limit}` : '';
221
+ const rows = await this.adapter.all(`SELECT trace_id, agent_id, archived_at, archive_reason, byte_size
222
+ FROM archived_traces ${where}
223
+ ORDER BY archived_at ASC ${limit}`, params);
224
+ return rows.map((r) => ({
225
+ traceId: r.trace_id,
226
+ agentId: r.agent_id,
227
+ archivedAt: r.archived_at,
228
+ archiveReason: r.archive_reason,
229
+ byteSize: r.byte_size,
230
+ }));
231
+ }
232
+ /**
233
+ * Return the most recent access timestamp for a trace id.
234
+ *
235
+ * @param traceId - The trace id to check.
236
+ * @returns Unix ms of the most recent rehydration, or `null` if never rehydrated.
237
+ */
238
+ async lastAccessedAt(traceId) {
239
+ const row = await this.adapter.get('SELECT accessed_at FROM archive_access_log WHERE trace_id = ? ORDER BY accessed_at DESC LIMIT 1', [traceId]);
240
+ return row?.accessed_at ?? null;
241
+ }
242
+ }
243
+ //# sourceMappingURL=SqlStorageMemoryArchive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqlStorageMemoryArchive.js","sourceRoot":"","sources":["../../../src/memory/archive/SqlStorageMemoryArchive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @fileoverview Memory archive module — cold storage for verbatim memory content.
3
+ *
4
+ * @module agentos/memory/archive
5
+ */
6
+ export type { IMemoryArchive, ArchivedTrace, RehydratedTrace, ArchiveWriteResult, ArchiveListEntry, ArchiveReason, MemoryArchiveRetentionConfig, } from './IMemoryArchive.js';
7
+ export { SqlStorageMemoryArchive } from './SqlStorageMemoryArchive.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/archive/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview Memory archive module — cold storage for verbatim memory content.
3
+ *
4
+ * @module agentos/memory/archive
5
+ */
6
+ export { SqlStorageMemoryArchive } from './SqlStorageMemoryArchive.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/archive/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -224,6 +224,17 @@ export interface CognitiveMemoryConfig {
224
224
  * @default undefined (no reranking)
225
225
  */
226
226
  rerankerService?: import('../../rag/reranking/RerankerService.js').RerankerService;
227
+ /**
228
+ * Optional memory archive for write-ahead verbatim preservation.
229
+ *
230
+ * When provided, TemporalGist preserves the original content in cold
231
+ * storage before overwriting with the gist. Enables on-demand rehydration
232
+ * via `CognitiveMemoryManager.rehydrate()`.
233
+ *
234
+ * @default undefined (no archive — gist is destructive)
235
+ * @see {@link IMemoryArchive} — the archive contract
236
+ */
237
+ archive?: import('../archive/IMemoryArchive.js').IMemoryArchive;
227
238
  }
228
239
  export declare const DEFAULT_ENCODING_CONFIG: EncodingConfig;
229
240
  export declare const DEFAULT_DECAY_CONFIG: DecayConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/memory/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/memory/core/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/memory/core/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2GH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwE;IACvG,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,GAAG;IAChB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;CACzB,CAAC;AAyKF,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,GAAG;IACvB,2BAA2B,EAAE,GAAG;IAChC,4BAA4B,EAAE,GAAG;IACjC,eAAe,EAAE,OAAS;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,QAAU;IAC7B,qBAAqB,EAAE,GAAG;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;CACvB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/memory/core/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2GH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwE;IACvG,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,GAAG;IAChB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;CACzB,CAAC;AAqLF,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,GAAG;IACvB,2BAA2B,EAAE,GAAG;IAChC,4BAA4B,EAAE,GAAG;IACjC,eAAe,EAAE,OAAS;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,QAAU;IAC7B,qBAAqB,EAAE,GAAG;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;CACvB,CAAC"}
@@ -36,6 +36,12 @@ export interface MemoryToolsExtensionOptions {
36
36
  * @default '1.0.0'
37
37
  */
38
38
  version?: string;
39
+ /**
40
+ * Include the `rehydrate_memory` tool for inflating gisted/archived traces.
41
+ * Requires an `IMemoryArchive` to be provided via the archive option.
42
+ * Defaults to `false`.
43
+ */
44
+ includeRehydrate?: boolean;
39
45
  }
40
46
  /**
41
47
  * Convert a standalone `Memory` facade's built-in tool set into extension
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryToolsExtension.d.ts","sourceRoot":"","sources":["../../../../src/memory/io/extension/MemoryToolsExtension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAqBD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,gBAAgB,GAAG,UAAU,CAAC,GACzE,cAAc,EAAE,CAIlB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EACnC,OAAO,CAAC,EAAE,2BAA2B,GACpC,aAAa,CAMf"}
1
+ {"version":3,"file":"MemoryToolsExtension.d.ts","sourceRoot":"","sources":["../../../../src/memory/io/extension/MemoryToolsExtension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAqBD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,gBAAgB,GAAG,UAAU,CAAC,GACzE,cAAc,EAAE,CAIlB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EACnC,OAAO,CAAC,EAAE,2BAA2B,GACpC,aAAa,CAMf"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryToolsExtension.js","sourceRoot":"","sources":["../../../../src/memory/io/extension/MemoryToolsExtension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EACL,mBAAmB,GAEpB,MAAM,8BAA8B,CAAC;AAgCtC,SAAS,gBAAgB,CAAC,IAAW,EAAE,QAAiB;IACtD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI;QACb,IAAI,EAAE,mBAAmB;QACzB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,mBAAmB;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ;SACpC;QACD,YAAY,EAAE,KAAK,IAAI,EAAE;YACvB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAmC,EACnC,OAA0E;IAE1E,OAAO,MAAM;SACV,WAAW,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;SACxD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAmC,EACnC,OAAqC;IAErC,OAAO;QACL,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,sBAAsB;QAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO;QACpC,WAAW,EAAE,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC;KAC1D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MemoryToolsExtension.js","sourceRoot":"","sources":["../../../../src/memory/io/extension/MemoryToolsExtension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EACL,mBAAmB,GAEpB,MAAM,8BAA8B,CAAC;AAuCtC,SAAS,gBAAgB,CAAC,IAAW,EAAE,QAAiB;IACtD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI;QACb,IAAI,EAAE,mBAAmB;QACzB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,mBAAmB;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ;SACpC;QACD,YAAY,EAAE,KAAK,IAAI,EAAE;YACvB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAmC,EACnC,OAA0E;IAE1E,OAAO,MAAM;SACV,WAAW,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;SACxD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAmC,EACnC,OAAqC;IAErC,OAAO;QACL,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,sBAAsB;QAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO;QACpC,WAAW,EAAE,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC;KAC1D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @fileoverview RehydrateMemoryTool — lets an agent inflate a gisted memory trace.
3
+ *
4
+ * Exposes `rehydrate_memory` as an opt-in agent tool. When a gisted memory
5
+ * appears in the assembled context and the summary lacks detail, the LLM can
6
+ * call this tool to retrieve the original verbatim content from the archive.
7
+ *
8
+ * Registration is opt-in: consumers pass `{ includeRehydrate: true }` to the
9
+ * `MemoryToolsExtension`. The default tool surface is unchanged for agents
10
+ * that don't adopt the archive.
11
+ *
12
+ * @module memory/tools/RehydrateMemoryTool
13
+ * @see {@link IMemoryArchive} for the underlying archive contract.
14
+ */
15
+ import type { ITool, ToolExecutionResult, ToolExecutionContext, JSONSchemaObject } from '../../../core/tools/ITool.js';
16
+ import type { IMemoryArchive } from '../../archive/IMemoryArchive.js';
17
+ /**
18
+ * Input arguments for {@link RehydrateMemoryTool}.
19
+ *
20
+ * @property traceId - ID of the trace to rehydrate.
21
+ */
22
+ export interface RehydrateMemoryInput extends Record<string, any> {
23
+ traceId: string;
24
+ }
25
+ /**
26
+ * Output returned by {@link RehydrateMemoryTool}.
27
+ *
28
+ * @property verbatimContent - The original verbatim content, or `null` if
29
+ * the trace is not archived or integrity verification failed.
30
+ * @property archivedAt - Unix ms when the trace was archived, or `null`.
31
+ */
32
+ export interface RehydrateMemoryOutput {
33
+ verbatimContent: string | null;
34
+ archivedAt: number | null;
35
+ }
36
+ /**
37
+ * ITool implementation that retrieves the original verbatim content of a
38
+ * gisted or archived memory trace from the agent's memory archive.
39
+ *
40
+ * **Usage:**
41
+ * ```ts
42
+ * const tool = new RehydrateMemoryTool(archive);
43
+ * const result = await tool.execute({ traceId: 'mt_abc123' }, context);
44
+ * // result.output.verbatimContent → 'The dragon attacked...' or null
45
+ * ```
46
+ */
47
+ export declare class RehydrateMemoryTool implements ITool<RehydrateMemoryInput, RehydrateMemoryOutput> {
48
+ private readonly archive;
49
+ /** Globally unique tool identifier. */
50
+ readonly id = "rehydrate-memory-v1";
51
+ /** LLM-facing tool name. */
52
+ readonly name = "rehydrate_memory";
53
+ /** Human-readable display name. */
54
+ readonly displayName = "Rehydrate Memory";
55
+ /** LLM-facing description. */
56
+ readonly description: string;
57
+ /** Logical category for discovery and grouping. */
58
+ readonly category = "memory";
59
+ /** This tool reads from the archive and writes an access-log entry. */
60
+ readonly hasSideEffects = true;
61
+ /** JSON schema for input validation and LLM tool-call construction. */
62
+ readonly inputSchema: JSONSchemaObject;
63
+ /**
64
+ * @param archive - The agent's IMemoryArchive instance.
65
+ */
66
+ constructor(archive: IMemoryArchive);
67
+ /**
68
+ * Retrieve the original verbatim content for a gisted/archived trace.
69
+ *
70
+ * Delegates to `IMemoryArchive.rehydrate()`, which performs integrity
71
+ * verification and writes an access-log entry. Returns `null` for both
72
+ * verbatimContent and archivedAt if the trace is not found or integrity
73
+ * verification fails.
74
+ *
75
+ * @param args - Rehydrate input (traceId).
76
+ * @param _context - Tool execution context (not used by this tool).
77
+ * @returns The rehydrated content or nulls, wrapped in ToolExecutionResult.
78
+ */
79
+ execute(args: RehydrateMemoryInput, _context: ToolExecutionContext): Promise<ToolExecutionResult<RehydrateMemoryOutput>>;
80
+ }
81
+ //# sourceMappingURL=RehydrateMemoryTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RehydrateMemoryTool.d.ts","sourceRoot":"","sources":["../../../../src/memory/io/tools/RehydrateMemoryTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACvH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC/D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAMD;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,YAAW,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAoChF,OAAO,CAAC,QAAQ,CAAC,OAAO;IAnCpC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,yBAAyB;IAEpC,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,sBAAsB;IAEnC,mCAAmC;IACnC,QAAQ,CAAC,WAAW,sBAAsB;IAE1C,8BAA8B;IAC9B,QAAQ,CAAC,WAAW,SAEwD;IAE5E,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,YAAY;IAE7B,uEAAuE;IACvE,QAAQ,CAAC,cAAc,QAAQ;IAE/B,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CASpC;IAEF;;OAEG;gBAC0B,OAAO,EAAE,cAAc;IAMpD;;;;;;;;;;;OAWG;IACG,OAAO,CACX,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;CAiBvD"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @fileoverview RehydrateMemoryTool — lets an agent inflate a gisted memory trace.
3
+ *
4
+ * Exposes `rehydrate_memory` as an opt-in agent tool. When a gisted memory
5
+ * appears in the assembled context and the summary lacks detail, the LLM can
6
+ * call this tool to retrieve the original verbatim content from the archive.
7
+ *
8
+ * Registration is opt-in: consumers pass `{ includeRehydrate: true }` to the
9
+ * `MemoryToolsExtension`. The default tool surface is unchanged for agents
10
+ * that don't adopt the archive.
11
+ *
12
+ * @module memory/tools/RehydrateMemoryTool
13
+ * @see {@link IMemoryArchive} for the underlying archive contract.
14
+ */
15
+ // ---------------------------------------------------------------------------
16
+ // RehydrateMemoryTool
17
+ // ---------------------------------------------------------------------------
18
+ /**
19
+ * ITool implementation that retrieves the original verbatim content of a
20
+ * gisted or archived memory trace from the agent's memory archive.
21
+ *
22
+ * **Usage:**
23
+ * ```ts
24
+ * const tool = new RehydrateMemoryTool(archive);
25
+ * const result = await tool.execute({ traceId: 'mt_abc123' }, context);
26
+ * // result.output.verbatimContent → 'The dragon attacked...' or null
27
+ * ```
28
+ */
29
+ export class RehydrateMemoryTool {
30
+ /**
31
+ * @param archive - The agent's IMemoryArchive instance.
32
+ */
33
+ constructor(archive) {
34
+ this.archive = archive;
35
+ /** Globally unique tool identifier. */
36
+ this.id = 'rehydrate-memory-v1';
37
+ /** LLM-facing tool name. */
38
+ this.name = 'rehydrate_memory';
39
+ /** Human-readable display name. */
40
+ this.displayName = 'Rehydrate Memory';
41
+ /** LLM-facing description. */
42
+ this.description = "Look up the full original content of a memory whose summary you've seen. " +
43
+ 'Use this when a gisted memory is relevant and the summary lacks detail.';
44
+ /** Logical category for discovery and grouping. */
45
+ this.category = 'memory';
46
+ /** This tool reads from the archive and writes an access-log entry. */
47
+ this.hasSideEffects = true;
48
+ /** JSON schema for input validation and LLM tool-call construction. */
49
+ this.inputSchema = {
50
+ type: 'object',
51
+ properties: {
52
+ traceId: {
53
+ type: 'string',
54
+ description: 'The unique ID of the memory trace to rehydrate.',
55
+ },
56
+ },
57
+ required: ['traceId'],
58
+ };
59
+ }
60
+ // ---------------------------------------------------------------------------
61
+ // execute
62
+ // ---------------------------------------------------------------------------
63
+ /**
64
+ * Retrieve the original verbatim content for a gisted/archived trace.
65
+ *
66
+ * Delegates to `IMemoryArchive.rehydrate()`, which performs integrity
67
+ * verification and writes an access-log entry. Returns `null` for both
68
+ * verbatimContent and archivedAt if the trace is not found or integrity
69
+ * verification fails.
70
+ *
71
+ * @param args - Rehydrate input (traceId).
72
+ * @param _context - Tool execution context (not used by this tool).
73
+ * @returns The rehydrated content or nulls, wrapped in ToolExecutionResult.
74
+ */
75
+ async execute(args, _context) {
76
+ try {
77
+ const result = await this.archive.rehydrate(args.traceId, 'rehydrate_memory_tool');
78
+ return {
79
+ success: true,
80
+ output: {
81
+ verbatimContent: result?.verbatimContent ?? null,
82
+ archivedAt: result?.archivedAt ?? null,
83
+ },
84
+ };
85
+ }
86
+ catch (err) {
87
+ return {
88
+ success: false,
89
+ error: err instanceof Error ? err.message : String(err),
90
+ };
91
+ }
92
+ }
93
+ }
94
+ //# sourceMappingURL=RehydrateMemoryTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RehydrateMemoryTool.js","sourceRoot":"","sources":["../../../../src/memory/io/tools/RehydrateMemoryTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA8BH,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,OAAO,mBAAmB;IAiC9B;;OAEG;IACH,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;QAnCpD,uCAAuC;QAC9B,OAAE,GAAG,qBAAqB,CAAC;QAEpC,4BAA4B;QACnB,SAAI,GAAG,kBAAkB,CAAC;QAEnC,mCAAmC;QAC1B,gBAAW,GAAG,kBAAkB,CAAC;QAE1C,8BAA8B;QACrB,gBAAW,GAClB,2EAA2E;YAC3E,yEAAyE,CAAC;QAE5E,mDAAmD;QAC1C,aAAQ,GAAG,QAAQ,CAAC;QAE7B,uEAAuE;QAC9D,mBAAc,GAAG,IAAI,CAAC;QAE/B,uEAAuE;QAC9D,gBAAW,GAAqB;YACvC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iDAAiD;iBAC/D;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB,CAAC;IAKqD,CAAC;IAExD,8EAA8E;IAC9E,UAAU;IACV,8EAA8E;IAE9E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,OAAO,CACX,IAA0B,EAC1B,QAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;YACnF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE;oBACN,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,IAAI;oBAChD,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI;iBACvC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -29,4 +29,7 @@ export { MemorySearchTool } from './MemorySearchTool.js';
29
29
  export type { MemorySearchInput, MemorySearchOutput, MemorySearchResult } from './MemorySearchTool.js';
30
30
  export { MemoryReflectTool } from './MemoryReflectTool.js';
31
31
  export type { MemoryReflectInput } from './MemoryReflectTool.js';
32
+ /** Opt-in tool for rehydrating gisted/archived memory traces. */
33
+ export { RehydrateMemoryTool } from './RehydrateMemoryTool.js';
34
+ export type { RehydrateMemoryInput, RehydrateMemoryOutput } from './RehydrateMemoryTool.js';
32
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/memory/io/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/memory/io/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,iEAAiE;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -23,4 +23,6 @@ export { MemoryDeleteTool } from './MemoryDeleteTool.js';
23
23
  export { MemoryMergeTool } from './MemoryMergeTool.js';
24
24
  export { MemorySearchTool } from './MemorySearchTool.js';
25
25
  export { MemoryReflectTool } from './MemoryReflectTool.js';
26
+ /** Opt-in tool for rehydrating gisted/archived memory traces. */
27
+ export { RehydrateMemoryTool } from './RehydrateMemoryTool.js';
26
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/memory/io/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/memory/io/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,iEAAiE;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TemporalGist.d.ts","sourceRoot":"","sources":["../../../../src/memory/mechanisms/consolidation/TemporalGist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAqB,MAAM,aAAa,CAAC;AAsCjF;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,0BAA0B,EAClC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC,CAmEjB"}
1
+ {"version":3,"file":"TemporalGist.d.ts","sourceRoot":"","sources":["../../../../src/memory/mechanisms/consolidation/TemporalGist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAqB,MAAM,aAAa,CAAC;AAsCjF;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,0BAA0B,EAClC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC,CAyFjB"}
@@ -81,6 +81,27 @@ export async function applyTemporalGist(traces, config, llmFn) {
81
81
  continue;
82
82
  // Store original content hash for audit
83
83
  const originalHash = await sha256(trace.content);
84
+ // Write-ahead archive: preserve verbatim content before gist overwrites it.
85
+ // Archive failure is fatal for this trace's gist cycle — the trace keeps
86
+ // its verbatim content and the next cycle will retry.
87
+ if (config.archive) {
88
+ const writeResult = await config.archive.store({
89
+ traceId: trace.id,
90
+ agentId: config.archiveAgentId ?? 'unknown',
91
+ verbatimContent: trace.content,
92
+ contentHash: originalHash,
93
+ traceType: trace.type,
94
+ emotionalContext: trace.emotionalContext,
95
+ entities: trace.entities,
96
+ tags: trace.tags,
97
+ createdAt: trace.createdAt,
98
+ archivedAt: Date.now(),
99
+ archiveReason: 'temporal_gist',
100
+ });
101
+ if (!writeResult.success) {
102
+ continue;
103
+ }
104
+ }
84
105
  // Extract gist
85
106
  let gist;
86
107
  if (llmFn) {
@@ -1 +1 @@
1
- {"version":3,"file":"TemporalGist.js","sourceRoot":"","sources":["../../../../src/memory/mechanisms/consolidation/TemporalGist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemporalGist.js","sourceRoot":"","sources":["../../../../src/memory/mechanisms/consolidation/TemporalGist.ts"],"names":[],"mappings":"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"}
@@ -181,6 +181,10 @@ export interface ResolvedTemporalGistConfig {
181
181
  minRetrievalCount: number;
182
182
  preserveEntities: boolean;
183
183
  preserveEmotionalContext: boolean;
184
+ /** Optional archive for write-ahead verbatim preservation before gisting. */
185
+ archive?: import('../archive/IMemoryArchive.js').IMemoryArchive;
186
+ /** Agent ID for archive records. Required when archive is set. */
187
+ archiveAgentId?: string;
184
188
  }
185
189
  export interface ResolvedSchemaEncodingConfig {
186
190
  enabled: boolean;