@framers/agentos 0.15.55 → 0.15.57

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 (29) hide show
  1. package/dist/cognition/memory/io/ChatGptImporter.d.ts +44 -5
  2. package/dist/cognition/memory/io/ChatGptImporter.d.ts.map +1 -1
  3. package/dist/cognition/memory/io/ChatGptImporter.js +101 -24
  4. package/dist/cognition/memory/io/ChatGptImporter.js.map +1 -1
  5. package/dist/cognition/memory/io/CsvImporter.d.ts +4 -1
  6. package/dist/cognition/memory/io/CsvImporter.d.ts.map +1 -1
  7. package/dist/cognition/memory/io/CsvImporter.js +10 -5
  8. package/dist/cognition/memory/io/CsvImporter.js.map +1 -1
  9. package/dist/cognition/memory/io/JsonImporter.d.ts +37 -6
  10. package/dist/cognition/memory/io/JsonImporter.d.ts.map +1 -1
  11. package/dist/cognition/memory/io/JsonImporter.js +88 -8
  12. package/dist/cognition/memory/io/JsonImporter.js.map +1 -1
  13. package/dist/cognition/memory/io/SqliteImporter.d.ts +31 -3
  14. package/dist/cognition/memory/io/SqliteImporter.d.ts.map +1 -1
  15. package/dist/cognition/memory/io/SqliteImporter.js +72 -18
  16. package/dist/cognition/memory/io/SqliteImporter.js.map +1 -1
  17. package/dist/cognition/memory/io/facade/types.d.ts +14 -10
  18. package/dist/cognition/memory/io/facade/types.d.ts.map +1 -1
  19. package/dist/cognition/memory/io/importScope.d.ts +62 -2
  20. package/dist/cognition/memory/io/importScope.d.ts.map +1 -1
  21. package/dist/cognition/memory/io/importScope.js +82 -2
  22. package/dist/cognition/memory/io/importScope.js.map +1 -1
  23. package/dist/orchestration/checkpoint/ICheckpointStore.d.ts +13 -1
  24. package/dist/orchestration/checkpoint/ICheckpointStore.d.ts.map +1 -1
  25. package/dist/orchestration/runtime/GraphRuntime.d.ts +18 -4
  26. package/dist/orchestration/runtime/GraphRuntime.d.ts.map +1 -1
  27. package/dist/orchestration/runtime/GraphRuntime.js +84 -19
  28. package/dist/orchestration/runtime/GraphRuntime.js.map +1 -1
  29. package/package.json +1 -1
@@ -7,10 +7,19 @@
7
7
  * ## Import strategy
8
8
  *
9
9
  * For each conversation object in `conversations.json`:
10
- * 1. A row is inserted into the `conversations` table (deduped by title + created_at).
10
+ * 1. The conversation has one row in the `conversations` table, named after
11
+ * it: `cv_chatgpt_` and the SHA-256 of the export's id for it
12
+ * (`conversation_id`, else `id`), else of its title and creation time. A
13
+ * later import of the conversation finds the row by that name, through a
14
+ * rename and without a `create_time` when the export names it by an id; a
15
+ * conversation the export names by neither gets a row of its own at each
16
+ * import. When the export's update time is later than the row's, the row
17
+ * takes it and the conversation's title.
11
18
  * 2. Every user/assistant message pair is encoded as an **episodic memory trace**
12
19
  * whose content is `"[user]: {user_text}\n[assistant]: {assistant_text}"`.
13
20
  * This preserves conversational context in a single retrievable unit.
21
+ * With deduplication on (the default), the trace is named after the brain
22
+ * and its text, `mt_chatgpt_` and their SHA-256.
14
23
  * 3. System messages and tool messages are skipped (they are not episodic memories).
15
24
  *
16
25
  * ## ChatGPT export format
@@ -62,14 +71,39 @@ export declare class ChatGptImporter {
62
71
  /**
63
72
  * Import a single ChatGPT conversation object.
64
73
  *
65
- * Creates a `conversations` row and then iterates through the message
66
- * mapping in tree order (BFS), pairing adjacent user/assistant messages
67
- * into episodic memory traces.
74
+ * Writes the conversation's `conversations` row, or finds the one it has
75
+ * (see `_conversationRow`), and then iterates through the message mapping in
76
+ * tree order (BFS), pairing adjacent user/assistant messages into episodic
77
+ * memory traces whose metadata names that row.
68
78
  *
69
79
  * @param convo - Raw ChatGPT conversation object.
70
80
  * @param result - Mutable result accumulator.
71
81
  */
72
82
  private _importConversation;
83
+ /**
84
+ * The id of a conversation's `conversations` row. A conversation the export
85
+ * names by an id, or by no id but with a `create_time`, has a row named after
86
+ * it (`conversationRowName`), which a later import of it finds by that name:
87
+ * through a rename and without a `create_time` when the export names it by
88
+ * an id. The row is written with an insert that does nothing when the brain
89
+ * holds a row of that name, so two imports that write one conversation's row
90
+ * at the same time, in one process or in two, write one row and both file
91
+ * under it. A row of any other name is never taken, since nothing in it says
92
+ * which conversation it is: the conversation gets the row it names beside it,
93
+ * and the pairs filed under the other keep naming that one. A conversation the
94
+ * export names by neither has nothing to find it by: each import writes it a
95
+ * row of its own. The row then takes the conversation's title and the export's
96
+ * update time when that update time is later than the row's. The row's
97
+ * metadata records the export's id as `chatgpt_id`.
98
+ *
99
+ * @param exportId - The export's id for the conversation, when it names one.
100
+ * @param title - The conversation's title.
101
+ * @param exportedCreatedAt - Its creation time in ms, when the export gives one.
102
+ * @param createdAt - The creation time a new row takes, in ms.
103
+ * @param updatedAt - Its update time, in ms.
104
+ * @returns The row's id.
105
+ */
106
+ private _conversationRow;
73
107
  /**
74
108
  * Insert a single episodic memory trace derived from a message pair.
75
109
  *
@@ -79,7 +113,12 @@ export declare class ChatGptImporter {
79
113
  * duplicate, whichever writer stored it. `import` first files the traces an
80
114
  * older release wrote with `scope_id` `''` under the scope id their metadata
81
115
  * names (`fillScopeIds`), so another scope id's trace is not taken for a
82
- * duplicate.
116
+ * duplicate. With deduplication on, the trace is named after the brain and
117
+ * the pair's text, and written with an insert that does nothing when the
118
+ * brain holds a trace of that name, so two imports that store one pair at the
119
+ * same time, each after finding no duplicate of it, store one trace: the
120
+ * import whose insert wrote nothing counts the pair as a duplicate. With it
121
+ * off, each import stores the pair again, under a random id.
83
122
  *
84
123
  * @param content - The `[user]:...\n[assistant]:...` content string.
85
124
  * @param createdAt - Unix timestamp (ms) of the user message.
@@ -1 +1 @@
1
- {"version":3,"file":"ChatGptImporter.d.ts","sourceRoot":"","sources":["../../../../src/cognition/memory/io/ChatGptImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AA8CzD;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAId,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC;;OAEG;gBAC0B,KAAK,EAAE,KAAK;IAMzC;;;;;;OAMG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IA6C/F;;;;;;;;;OASG;YACW,mBAAmB;IA+GjC;;;;;;;;;;;;;;;OAeG;YACW,oBAAoB;CAiDnC"}
1
+ {"version":3,"file":"ChatGptImporter.d.ts","sourceRoot":"","sources":["../../../../src/cognition/memory/io/ChatGptImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAiFzD;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAId,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC;;OAEG;gBAC0B,KAAK,EAAE,KAAK;IAMzC;;;;;;OAMG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IA6C/F;;;;;;;;;;OAUG;YACW,mBAAmB;IAoGjC;;;;;;;;;;;;;;;;;;;;;;OAsBG;YACW,gBAAgB;IAkC9B;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,oBAAoB;CAuDnC"}
@@ -7,10 +7,19 @@
7
7
  * ## Import strategy
8
8
  *
9
9
  * For each conversation object in `conversations.json`:
10
- * 1. A row is inserted into the `conversations` table (deduped by title + created_at).
10
+ * 1. The conversation has one row in the `conversations` table, named after
11
+ * it: `cv_chatgpt_` and the SHA-256 of the export's id for it
12
+ * (`conversation_id`, else `id`), else of its title and creation time. A
13
+ * later import of the conversation finds the row by that name, through a
14
+ * rename and without a `create_time` when the export names it by an id; a
15
+ * conversation the export names by neither gets a row of its own at each
16
+ * import. When the export's update time is later than the row's, the row
17
+ * takes it and the conversation's title.
11
18
  * 2. Every user/assistant message pair is encoded as an **episodic memory trace**
12
19
  * whose content is `"[user]: {user_text}\n[assistant]: {assistant_text}"`.
13
20
  * This preserves conversational context in a single retrievable unit.
21
+ * With deduplication on (the default), the trace is named after the brain
22
+ * and its text, `mt_chatgpt_` and their SHA-256.
14
23
  * 3. System messages and tool messages are skipped (they are not episodic memories).
15
24
  *
16
25
  * ## ChatGPT export format
@@ -38,6 +47,33 @@ import { sha256 } from '../core/util/crossPlatformCrypto.js';
38
47
  import { v4 as uuidv4 } from 'uuid';
39
48
  import { fillScopeIds } from '../retrieval/store/migrations/v2-to-v3.js';
40
49
  import { duplicateTraceCondition, duplicateTraceParams } from './importScope.js';
50
+ /** The export's id for a conversation: its `conversation_id`, else its `id`, when either is a non-empty string. */
51
+ function exportedConversationId(convo) {
52
+ for (const value of [convo.conversation_id, convo.id]) {
53
+ if (typeof value === 'string' && value !== '')
54
+ return value;
55
+ }
56
+ return undefined;
57
+ }
58
+ /**
59
+ * The name of a conversation's `conversations` row: `cv_chatgpt_` and the SHA-256 of what names the
60
+ * conversation, the export's id for it, else its title and creation time. Undefined for a conversation the
61
+ * export names by neither, an id or a creation time.
62
+ */
63
+ async function conversationRowName(exportId, title, exportedCreatedAt) {
64
+ if (exportId !== undefined)
65
+ return `cv_chatgpt_${await sha256(JSON.stringify(['id', exportId]))}`;
66
+ if (exportedCreatedAt === undefined)
67
+ return undefined;
68
+ return `cv_chatgpt_${await sha256(JSON.stringify(['title', title, exportedCreatedAt]))}`;
69
+ }
70
+ /**
71
+ * An insert of one row into `table` that does nothing when the brain holds a row of its primary key
72
+ * `(brain_id, id)`, on SQLite and PostgreSQL; any other failure, such as a missing value, still fails it.
73
+ */
74
+ function insertUnlessHeld(table, columns, values) {
75
+ return `INSERT INTO ${table} (${columns.join(', ')}) VALUES (${values.join(', ')}) ON CONFLICT (brain_id, id) DO NOTHING`;
76
+ }
41
77
  // ---------------------------------------------------------------------------
42
78
  // ChatGptImporter
43
79
  // ---------------------------------------------------------------------------
@@ -111,9 +147,10 @@ export class ChatGptImporter {
111
147
  /**
112
148
  * Import a single ChatGPT conversation object.
113
149
  *
114
- * Creates a `conversations` row and then iterates through the message
115
- * mapping in tree order (BFS), pairing adjacent user/assistant messages
116
- * into episodic memory traces.
150
+ * Writes the conversation's `conversations` row, or finds the one it has
151
+ * (see `_conversationRow`), and then iterates through the message mapping in
152
+ * tree order (BFS), pairing adjacent user/assistant messages into episodic
153
+ * memory traces whose metadata names that row.
117
154
  *
118
155
  * @param convo - Raw ChatGPT conversation object.
119
156
  * @param result - Mutable result accumulator.
@@ -122,21 +159,12 @@ export class ChatGptImporter {
122
159
  const title = convo.title ?? 'Untitled';
123
160
  const createdAt = convo.create_time ? Math.round(convo.create_time * 1000) : Date.now();
124
161
  const updatedAt = convo.update_time ? Math.round(convo.update_time * 1000) : createdAt;
125
- // Insert the conversation row (ignore duplicates by title + created_at).
126
- const conversationId = `cv_${uuidv4()}`;
162
+ let conversationId;
127
163
  try {
128
- const { dialect } = this.brain.features;
129
- await this.brain.run(dialect.insertOrIgnore('conversations', ['brain_id', 'id', 'title', 'created_at', 'updated_at', 'metadata'], ['?', '?', '?', '?', '?', '?']), [
130
- this.brain.brainId,
131
- conversationId,
132
- title,
133
- createdAt,
134
- updatedAt,
135
- JSON.stringify({ source: 'chatgpt_export' }),
136
- ]);
164
+ conversationId = await this._conversationRow(exportedConversationId(convo), title, convo.create_time ? createdAt : undefined, createdAt, updatedAt);
137
165
  }
138
166
  catch (err) {
139
- result.errors.push(`Conversation insert error for "${title}": ${String(err)}`);
167
+ result.errors.push(`Conversation row error for "${title}": ${String(err)}`);
140
168
  return;
141
169
  }
142
170
  if (!convo.mapping)
@@ -201,6 +229,46 @@ export class ChatGptImporter {
201
229
  }
202
230
  }
203
231
  }
232
+ /**
233
+ * The id of a conversation's `conversations` row. A conversation the export
234
+ * names by an id, or by no id but with a `create_time`, has a row named after
235
+ * it (`conversationRowName`), which a later import of it finds by that name:
236
+ * through a rename and without a `create_time` when the export names it by
237
+ * an id. The row is written with an insert that does nothing when the brain
238
+ * holds a row of that name, so two imports that write one conversation's row
239
+ * at the same time, in one process or in two, write one row and both file
240
+ * under it. A row of any other name is never taken, since nothing in it says
241
+ * which conversation it is: the conversation gets the row it names beside it,
242
+ * and the pairs filed under the other keep naming that one. A conversation the
243
+ * export names by neither has nothing to find it by: each import writes it a
244
+ * row of its own. The row then takes the conversation's title and the export's
245
+ * update time when that update time is later than the row's. The row's
246
+ * metadata records the export's id as `chatgpt_id`.
247
+ *
248
+ * @param exportId - The export's id for the conversation, when it names one.
249
+ * @param title - The conversation's title.
250
+ * @param exportedCreatedAt - Its creation time in ms, when the export gives one.
251
+ * @param createdAt - The creation time a new row takes, in ms.
252
+ * @param updatedAt - Its update time, in ms.
253
+ * @returns The row's id.
254
+ */
255
+ async _conversationRow(exportId, title, exportedCreatedAt, createdAt, updatedAt) {
256
+ const brainId = this.brain.brainId;
257
+ const named = await conversationRowName(exportId, title, exportedCreatedAt);
258
+ const conversationId = named ?? `cv_${uuidv4()}`;
259
+ await this.brain.run(insertUnlessHeld('conversations', ['brain_id', 'id', 'title', 'created_at', 'updated_at', 'metadata'], ['?', '?', '?', '?', '?', '?']), [
260
+ brainId,
261
+ conversationId,
262
+ title,
263
+ createdAt,
264
+ updatedAt,
265
+ JSON.stringify(exportId === undefined ? { source: 'chatgpt_export' } : { source: 'chatgpt_export', chatgpt_id: exportId }),
266
+ ]);
267
+ if (named !== undefined) {
268
+ await this.brain.run('UPDATE conversations SET updated_at = ?, title = ? WHERE brain_id = ? AND id = ? AND updated_at < ?', [updatedAt, title, brainId, conversationId, updatedAt]);
269
+ }
270
+ return conversationId;
271
+ }
204
272
  /**
205
273
  * Insert a single episodic memory trace derived from a message pair.
206
274
  *
@@ -210,7 +278,12 @@ export class ChatGptImporter {
210
278
  * duplicate, whichever writer stored it. `import` first files the traces an
211
279
  * older release wrote with `scope_id` `''` under the scope id their metadata
212
280
  * names (`fillScopeIds`), so another scope id's trace is not taken for a
213
- * duplicate.
281
+ * duplicate. With deduplication on, the trace is named after the brain and
282
+ * the pair's text, and written with an insert that does nothing when the
283
+ * brain holds a trace of that name, so two imports that store one pair at the
284
+ * same time, each after finding no duplicate of it, store one trace: the
285
+ * import whose insert wrote nothing counts the pair as a duplicate. With it
286
+ * off, each import stores the pair again, under a random id.
214
287
  *
215
288
  * @param content - The `[user]:...\n[assistant]:...` content string.
216
289
  * @param createdAt - Unix timestamp (ms) of the user message.
@@ -219,8 +292,9 @@ export class ChatGptImporter {
219
292
  */
220
293
  async _insertEpisodicTrace(content, createdAt, conversationId, result, options) {
221
294
  const hash = await sha256(content);
295
+ const dedup = options?.dedup ?? true;
222
296
  // Dedup check.
223
- if (options?.dedup ?? true) {
297
+ if (dedup) {
224
298
  const existing = await this.brain.get(`SELECT id FROM memory_traces
225
299
  WHERE brain_id = ? AND scope = 'user' AND scope_id = ''
226
300
  AND ${duplicateTraceCondition(this.brain)}
@@ -231,12 +305,12 @@ export class ChatGptImporter {
231
305
  }
232
306
  }
233
307
  try {
234
- await this.brain.run(`INSERT INTO memory_traces
235
- (brain_id, id, type, scope, content, embedding, strength, created_at, last_accessed,
236
- retrieval_count, tags, emotions, metadata, deleted, scope_id)
237
- VALUES (?, ?, 'episodic', 'user', ?, NULL, 1.0, ?, NULL, 0, '[]', '{}', ?, 0, '')`, [
308
+ const written = await this.brain.run(insertUnlessHeld('memory_traces', [
309
+ 'brain_id', 'id', 'type', 'scope', 'content', 'embedding', 'strength', 'created_at', 'last_accessed',
310
+ 'retrieval_count', 'tags', 'emotions', 'metadata', 'deleted', 'scope_id',
311
+ ], ['?', '?', "'episodic'", "'user'", '?', 'NULL', '1.0', '?', 'NULL', '0', "'[]'", "'{}'", '?', '0', "''"]), [
238
312
  this.brain.brainId,
239
- `mt_${uuidv4()}`,
313
+ dedup ? `mt_chatgpt_${await sha256(JSON.stringify([this.brain.brainId, content]))}` : `mt_${uuidv4()}`,
240
314
  content,
241
315
  createdAt,
242
316
  JSON.stringify({
@@ -245,7 +319,10 @@ export class ChatGptImporter {
245
319
  conversation_id: conversationId,
246
320
  }),
247
321
  ]);
248
- result.imported++;
322
+ if (written.changes > 0)
323
+ result.imported++;
324
+ else
325
+ result.skipped++;
249
326
  }
250
327
  catch (err) {
251
328
  result.errors.push(`Trace insert error: ${String(err)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"ChatGptImporter.js","sourceRoot":"","sources":["../../../../src/cognition/memory/io/ChatGptImporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatGptImporter.js","sourceRoot":"","sources":["../../../../src/cognition/memory/io/ChatGptImporter.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,10 @@
27
27
  * it. An imported row stores the hash in `metadata.import_hash`. A trace a
28
28
  * release older than `memory_traces.scope_id` wrote holds `''` in that column
29
29
  * whatever scope id its metadata names; the import files such traces under
30
- * that scope id before its first duplicate check (`fillScopeIds`).
30
+ * that scope id before its first duplicate check (`fillScopeIds`). The import
31
+ * reads the rows whose `deleted` cell is blank or zero before the others
32
+ * (`liveRecordsFirst`), so a text the file holds both forgotten and live
33
+ * arrives live.
31
34
  *
32
35
  * @module memory/io/CsvImporter
33
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CsvImporter.d.ts","sourceRoot":"","sources":["../../../../src/cognition/memory/io/CsvImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAIzD;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEzC;;;;;OAKG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAe/F;;;;;OAKG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,YAAY,CAAC;IAKxB;;;;;;OAMG;YACW,iBAAiB;YA+HjB,OAAO;YAIP,eAAe;IAW7B,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,UAAU;IAsBlB;;;OAGG;IACH,OAAO,CAAC,SAAS;CAsElB"}
1
+ {"version":3,"file":"CsvImporter.d.ts","sourceRoot":"","sources":["../../../../src/cognition/memory/io/CsvImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAIzD;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEzC;;;;;OAKG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAe/F;;;;;OAKG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,YAAY,CAAC;IAKxB;;;;;;OAMG;YACW,iBAAiB;YAmIjB,OAAO;YAIP,eAAe;IAW7B,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,UAAU;IAsBlB;;;OAGG;IACH,OAAO,CAAC,SAAS;CAsElB"}
@@ -27,13 +27,16 @@
27
27
  * it. An imported row stores the hash in `metadata.import_hash`. A trace a
28
28
  * release older than `memory_traces.scope_id` wrote holds `''` in that column
29
29
  * whatever scope id its metadata names; the import files such traces under
30
- * that scope id before its first duplicate check (`fillScopeIds`).
30
+ * that scope id before its first duplicate check (`fillScopeIds`). The import
31
+ * reads the rows whose `deleted` cell is blank or zero before the others
32
+ * (`liveRecordsFirst`), so a text the file holds both forgotten and live
33
+ * arrives live.
31
34
  *
32
35
  * @module memory/io/CsvImporter
33
36
  */
34
37
  import { sha256 } from '../core/util/crossPlatformCrypto.js';
35
38
  import { v4 as uuidv4 } from 'uuid';
36
- import { duplicateTraceCondition, duplicateTraceParams, importedScopeId } from './importScope.js';
39
+ import { duplicateTraceCondition, duplicateTraceParams, importedScopeId, liveRecordsFirst } from './importScope.js';
37
40
  import { fillScopeIds } from '../retrieval/store/migrations/v2-to-v3.js';
38
41
  /**
39
42
  * Imports a flat CSV file into a `Brain`.
@@ -103,6 +106,8 @@ export class CsvImporter {
103
106
  const tagsIndex = indexOf('tags');
104
107
  const metadataIndex = indexOf('metadata');
105
108
  const scopeIdIndex = indexOf('scope_id');
109
+ // A row's `deleted` cell as the trace stores it: blank or not a number is 0, a live trace.
110
+ const deletedOf = (row) => this._toInteger(deletedIndex >= 0 ? row[deletedIndex] ?? '' : '') ?? 0;
106
111
  const brainId = this.brain.brainId;
107
112
  const checkSql = `SELECT id
108
113
  FROM memory_traces
@@ -117,7 +122,8 @@ export class CsvImporter {
117
122
  // A trace an older release wrote holds scope_id '': filed under its scope id first, it is found there.
118
123
  if (options?.dedup ?? true)
119
124
  await fillScopeIds(trx, brainId);
120
- for (const row of dataRows) {
125
+ // The live rows first, so of two rows of one text, the forgotten one is the duplicate of the live one, never the reverse.
126
+ for (const row of liveRecordsFirst(dataRows, (candidate) => deletedOf(candidate) !== 0)) {
121
127
  try {
122
128
  const content = (row[contentIndex] ?? '').trim();
123
129
  if (!content) {
@@ -161,7 +167,6 @@ export class CsvImporter {
161
167
  const rawLastAccessed = lastAccessedIndex >= 0 ? row[lastAccessedIndex] ?? '' : '';
162
168
  const rawRetrievalCount = retrievalCountIndex >= 0 ? row[retrievalCountIndex] ?? '' : '';
163
169
  const rawStrength = strengthIndex >= 0 ? row[strengthIndex] ?? '' : '';
164
- const rawDeleted = deletedIndex >= 0 ? row[deletedIndex] ?? '' : '';
165
170
  const preferredId = this._readCell(row, idIndex) || `mt_${uuidv4()}`;
166
171
  const traceId = await this._resolveTraceId(trx, preferredId);
167
172
  await trx.run(insertSql, [
@@ -176,7 +181,7 @@ export class CsvImporter {
176
181
  this._toInteger(rawRetrievalCount) ?? 0,
177
182
  JSON.stringify(this._parseTags(tagsIndex >= 0 ? row[tagsIndex] ?? '' : '')),
178
183
  JSON.stringify(metadata),
179
- this._toInteger(rawDeleted) ?? 0,
184
+ deletedOf(row),
180
185
  scopeId,
181
186
  ]);
182
187
  result.imported++;
@@ -1 +1 @@
1
- {"version":3,"file":"CsvImporter.js","sourceRoot":"","sources":["../../../../src/cognition/memory/io/CsvImporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CsvImporter.js","sourceRoot":"","sources":["../../../../src/cognition/memory/io/CsvImporter.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,12 @@
12
12
  * `{ dedup: false }` on the importer or `Memory.importFrom`. A trace a release
13
13
  * older than `memory_traces.scope_id` wrote holds `''` in that column whatever
14
14
  * scope id its metadata names; the import files such traces under that scope
15
- * id before its first duplicate check (`fillScopeIds`).
15
+ * id before its first duplicate check (`fillScopeIds`). The import reads the
16
+ * file's live trace records before its forgotten ones (`liveRecordsFirst`), so
17
+ * a text the file holds both forgotten and live arrives live. A trace's
18
+ * memory-graph node comes in with its trace alone, under its trace's id
19
+ * (`memoryGraphNodeImport`): the node of a record merged into another trace is
20
+ * skipped, with the edges that name it.
16
21
  *
17
22
  * @module memory/io/JsonImporter
18
23
  */
@@ -46,8 +51,13 @@ export declare class JsonImporter {
46
51
  * `content` is the record's, or whose metadata names the SHA-256 of that
47
52
  * text as `import_hash` or `content_hash`, makes the record a duplicate,
48
53
  * and it is skipped; a row of another scope id is not a duplicate.
49
- * - For `knowledge_nodes`: SHA-256 of `label` + `type`.
50
- * - For `knowledge_edges`: SHA-256 of `source_id` + `target_id` + `type`.
54
+ * - For `knowledge_nodes`: SHA-256 of `label` + `type`. A memory-graph node
55
+ * (`type` `memory_graph`) is its trace's node instead: it is written
56
+ * under its trace's id for a trace the import wrote or matched under that
57
+ * id, is the duplicate of the node the brain holds under that id, or is
58
+ * skipped (see `memoryGraphNodeImport`).
59
+ * - For `knowledge_edges`: SHA-256 of `source_id` + `target_id` + `type`. An
60
+ * edge that names a memory-graph node the import skipped is skipped.
51
61
  *
52
62
  * @param sourcePath - Absolute path to the JSON file to import.
53
63
  * @returns `ImportResult` with counts of imported, skipped, and errored items.
@@ -88,7 +98,10 @@ export declare class JsonImporter {
88
98
  * Each trace is filed under its scope and scope id (see `importedScopeId`)
89
99
  * and deduplicated inside them (see `duplicateTraceCondition`): if a trace of
90
100
  * the same scope and scope id holds the record's text, or names its hash, the
91
- * record is skipped and its id maps to that trace's.
101
+ * record is skipped and its id maps to that trace's. The live records are
102
+ * read before the forgotten ones (see `liveRecordsFirst`), so of two records
103
+ * of one text, the forgotten one is the duplicate of the live one, never the
104
+ * reverse.
92
105
  *
93
106
  * @param trx - Transactional storage adapter.
94
107
  * @param traces - Array of serialised trace objects from the export.
@@ -98,18 +111,36 @@ export declare class JsonImporter {
98
111
  /**
99
112
  * Import knowledge node records into `knowledge_nodes`.
100
113
  *
101
- * Dedup key: SHA-256 of `label` concatenated with `type`.
114
+ * Dedup key: SHA-256 of `label` concatenated with `type`. A memory-graph
115
+ * node comes in with its trace alone, under its trace's id (see
116
+ * `_importMemoryGraphNode`).
102
117
  *
103
118
  * @param trx - Transactional storage adapter.
104
119
  * @param nodes - Array of serialised node objects.
105
120
  * @param result - Mutable `ImportResult` to accumulate counts.
106
121
  */
107
122
  private _importNodes;
123
+ /**
124
+ * Import a memory-graph node record (`type` `memory_graph`), the node of the
125
+ * trace whose id it carries. It comes in with its trace alone and under that
126
+ * id (see `memoryGraphNodeImport`): written under that id, the duplicate of
127
+ * the node the brain holds under it, whose id the record's edges then name,
128
+ * or skipped, and then the edges that name it are skipped too.
129
+ *
130
+ * @param trx - Transactional storage adapter.
131
+ * @param n - The node record.
132
+ * @param result - Mutable `ImportResult` to accumulate counts.
133
+ * @param context - The import's id maps and the payload's trace ids.
134
+ * @param insertSql - The statement that inserts a knowledge node.
135
+ */
136
+ private _importMemoryGraphNode;
108
137
  /**
109
138
  * Import knowledge edge records into `knowledge_edges`.
110
139
  *
111
140
  * Dedup key: SHA-256 of `source_id + target_id + type`.
112
- * Edges referencing non-existent nodes are silently skipped (FK constraint).
141
+ * Edges referencing non-existent nodes are silently skipped (FK constraint),
142
+ * and an edge that names a memory-graph node the node import skipped is
143
+ * skipped.
113
144
  *
114
145
  * @param trx - Transactional storage adapter.
115
146
  * @param edges - Array of serialised edge objects.
@@ -1 +1 @@
1
- {"version":3,"file":"JsonImporter.d.ts","sourceRoot":"","sources":["../../../../src/cognition/memory/io/JsonImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAyIzD;;;;;;;;;GASG;AACH,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC;;OAEG;gBAC0B,KAAK,EAAE,KAAK;IAMzC;;;;;;;;;;;;;;;;;OAiBG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAgB/F;;;;;OAKG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,YAAY,CAAC;IAKxB;;;;;;OAMG;YACW,aAAa;IAiD3B;;;;;;OAMG;YACW,OAAO;IAIrB;;;;OAIG;YACW,WAAW;IAmBzB;;;;;;;;;;;OAWG;YACW,aAAa;IAiF3B;;;;;;;;OAQG;YACW,YAAY;IA+D1B;;;;;;;;;OASG;YACW,YAAY;IA8D1B;;;;OAIG;YACW,gBAAgB;IA8C9B;;OAEG;YACW,aAAa;IA0D3B;;OAEG;YACW,aAAa;IAwD3B;;;;;OAKG;YACW,oBAAoB;IA4ClC;;OAEG;YACW,eAAe;YA8Cf,gBAAgB;CAY/B"}
1
+ {"version":3,"file":"JsonImporter.d.ts","sourceRoot":"","sources":["../../../../src/cognition/memory/io/JsonImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAuJzD;;;;;;;;;GASG;AACH,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC;;OAEG;gBAC0B,KAAK,EAAE,KAAK;IAMzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAgB/F;;;;;OAKG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,YAAY,CAAC;IAKxB;;;;;;OAMG;YACW,aAAa;IAoD3B;;;;;;OAMG;YACW,OAAO;IAIrB;;;;OAIG;YACW,WAAW;IAmBzB;;;;;;;;;;;;;;OAcG;YACW,aAAa;IAqF3B;;;;;;;;;;OAUG;YACW,YAAY;IAoE1B;;;;;;;;;;;;OAYG;YACW,sBAAsB;IA6CpC;;;;;;;;;;;OAWG;YACW,YAAY;IAsE1B;;;;OAIG;YACW,gBAAgB;IA8C9B;;OAEG;YACW,aAAa;IA0D3B;;OAEG;YACW,aAAa;IAwD3B;;;;;OAKG;YACW,oBAAoB;IA4ClC;;OAEG;YACW,eAAe;YA8Cf,gBAAgB;CAY/B"}