@sashabogi/foundation 2.1.0 → 2.3.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.
Files changed (57) hide show
  1. package/dist/cli.js +236 -2
  2. package/dist/cli.js.map +1 -1
  3. package/dist/tools/demerzel/engine.d.ts +3 -2
  4. package/dist/tools/demerzel/engine.d.ts.map +1 -1
  5. package/dist/tools/demerzel/engine.js +7 -7
  6. package/dist/tools/demerzel/engine.js.map +1 -1
  7. package/dist/tools/demerzel/enhanced-snapshot.d.ts +10 -2
  8. package/dist/tools/demerzel/enhanced-snapshot.d.ts.map +1 -1
  9. package/dist/tools/demerzel/enhanced-snapshot.js +156 -77
  10. package/dist/tools/demerzel/enhanced-snapshot.js.map +1 -1
  11. package/dist/tools/demerzel/index.d.ts +1 -1
  12. package/dist/tools/demerzel/index.d.ts.map +1 -1
  13. package/dist/tools/demerzel/index.js +53 -36
  14. package/dist/tools/demerzel/index.js.map +1 -1
  15. package/dist/tools/demerzel/semantic-search.d.ts +2 -2
  16. package/dist/tools/demerzel/semantic-search.d.ts.map +1 -1
  17. package/dist/tools/demerzel/semantic-search.js +4 -3
  18. package/dist/tools/demerzel/semantic-search.js.map +1 -1
  19. package/dist/tools/demerzel/snapshot.d.ts +34 -1
  20. package/dist/tools/demerzel/snapshot.d.ts.map +1 -1
  21. package/dist/tools/demerzel/snapshot.js +70 -34
  22. package/dist/tools/demerzel/snapshot.js.map +1 -1
  23. package/dist/tools/demerzel/zstd-io.d.ts +40 -0
  24. package/dist/tools/demerzel/zstd-io.d.ts.map +1 -0
  25. package/dist/tools/demerzel/zstd-io.js +69 -0
  26. package/dist/tools/demerzel/zstd-io.js.map +1 -0
  27. package/dist/tools/gaia/index.d.ts +5 -4
  28. package/dist/tools/gaia/index.d.ts.map +1 -1
  29. package/dist/tools/gaia/index.js +155 -8
  30. package/dist/tools/gaia/index.js.map +1 -1
  31. package/dist/tools/gaia/storage.d.ts +31 -2
  32. package/dist/tools/gaia/storage.d.ts.map +1 -1
  33. package/dist/tools/gaia/storage.js +110 -6
  34. package/dist/tools/gaia/storage.js.map +1 -1
  35. package/dist/tools/gaia/transcript-ingester.d.ts +81 -0
  36. package/dist/tools/gaia/transcript-ingester.d.ts.map +1 -0
  37. package/dist/tools/gaia/transcript-ingester.js +418 -0
  38. package/dist/tools/gaia/transcript-ingester.js.map +1 -0
  39. package/dist/vault/dashboard.d.ts +10 -0
  40. package/dist/vault/dashboard.d.ts.map +1 -0
  41. package/dist/vault/dashboard.js +145 -0
  42. package/dist/vault/dashboard.js.map +1 -0
  43. package/dist/vault/sync.d.ts +64 -0
  44. package/dist/vault/sync.d.ts.map +1 -0
  45. package/dist/vault/sync.js +372 -0
  46. package/dist/vault/sync.js.map +1 -0
  47. package/dist/vault/transform.d.ts +25 -0
  48. package/dist/vault/transform.d.ts.map +1 -0
  49. package/dist/vault/transform.js +155 -0
  50. package/dist/vault/transform.js.map +1 -0
  51. package/package.json +2 -1
  52. package/packages/ui/dist/assets/index-BCBAHIpG.css +1 -0
  53. package/packages/ui/dist/assets/index-CxRK0aqp.js +387 -0
  54. package/packages/ui/dist/index.html +2 -2
  55. package/docs/foundation +0 -0
  56. package/packages/ui/dist/assets/index-DVS_pYGH.css +0 -1
  57. package/packages/ui/dist/assets/index-WNO_oIqP.js +0 -312
@@ -83,10 +83,13 @@ export class MemoriaStorage {
83
83
  // Memory links table
84
84
  this.db.exec(`
85
85
  CREATE TABLE IF NOT EXISTS memory_links (
86
+ link_id TEXT NOT NULL UNIQUE,
86
87
  from_memory_id TEXT NOT NULL,
87
88
  to_memory_id TEXT NOT NULL,
88
89
  link_type TEXT NOT NULL CHECK(link_type IN ('depends_on', 'extends', 'reverts', 'related', 'contradicts')),
89
90
  created_at INTEGER NOT NULL,
91
+ valid_from INTEGER NOT NULL DEFAULT 0,
92
+ invalidated_at INTEGER,
90
93
  PRIMARY KEY (from_memory_id, to_memory_id, link_type),
91
94
  FOREIGN KEY (from_memory_id) REFERENCES memories(id) ON DELETE CASCADE,
92
95
  FOREIGN KEY (to_memory_id) REFERENCES memories(id) ON DELETE CASCADE
@@ -94,7 +97,11 @@ export class MemoriaStorage {
94
97
 
95
98
  CREATE INDEX IF NOT EXISTS idx_link_from ON memory_links(from_memory_id);
96
99
  CREATE INDEX IF NOT EXISTS idx_link_to ON memory_links(to_memory_id);
100
+ CREATE INDEX IF NOT EXISTS idx_links_valid_from ON memory_links(valid_from);
101
+ CREATE INDEX IF NOT EXISTS idx_links_invalidated_at ON memory_links(invalidated_at);
97
102
  `);
103
+ // Idempotent migration: add temporal columns + link_id to existing databases
104
+ this._migrateLinksSchema();
98
105
  // Metadata table
99
106
  this.db.exec(`
100
107
  CREATE TABLE IF NOT EXISTS metadata (
@@ -105,6 +112,39 @@ export class MemoriaStorage {
105
112
  INSERT OR IGNORE INTO metadata (key, value) VALUES ('schema_version', '1');
106
113
  `);
107
114
  }
115
+ /**
116
+ * Idempotent migration: ensures the memory_links table has link_id,
117
+ * valid_from, and invalidated_at columns. Safe to run on both fresh DBs
118
+ * (where the table was just created with all columns) and existing DBs
119
+ * (where these columns may be absent).
120
+ */
121
+ _migrateLinksSchema() {
122
+ const tableInfo = this.db.prepare(`PRAGMA table_info(memory_links)`).all();
123
+ const columnNames = new Set(tableInfo.map(col => col.name));
124
+ if (!columnNames.has('link_id')) {
125
+ this.db.exec(`ALTER TABLE memory_links ADD COLUMN link_id TEXT NOT NULL DEFAULT ''`);
126
+ // Backfill link_id for all existing rows
127
+ const rows = this.db.prepare(`SELECT from_memory_id, to_memory_id, link_type FROM memory_links WHERE link_id = ''`).all();
128
+ const updateStmt = this.db.prepare(`UPDATE memory_links SET link_id = ? WHERE from_memory_id = ? AND to_memory_id = ? AND link_type = ?`);
129
+ const backfill = this.db.transaction(() => {
130
+ for (const row of rows) {
131
+ updateStmt.run(`lnk_${nanoid()}`, row.from_memory_id, row.to_memory_id, row.link_type);
132
+ }
133
+ });
134
+ backfill();
135
+ this.db.exec(`CREATE UNIQUE INDEX IF NOT EXISTS idx_link_id ON memory_links(link_id)`);
136
+ }
137
+ if (!columnNames.has('valid_from')) {
138
+ this.db.exec(`ALTER TABLE memory_links ADD COLUMN valid_from INTEGER NOT NULL DEFAULT 0`);
139
+ // Backfill: valid_from = created_at
140
+ this.db.exec(`UPDATE memory_links SET valid_from = created_at WHERE valid_from = 0`);
141
+ this.db.exec(`CREATE INDEX IF NOT EXISTS idx_links_valid_from ON memory_links(valid_from)`);
142
+ }
143
+ if (!columnNames.has('invalidated_at')) {
144
+ this.db.exec(`ALTER TABLE memory_links ADD COLUMN invalidated_at INTEGER`);
145
+ this.db.exec(`CREATE INDEX IF NOT EXISTS idx_links_invalidated_at ON memory_links(invalidated_at)`);
146
+ }
147
+ }
108
148
  // ---------------------------------------------------------------------------
109
149
  // Core Memory Operations
110
150
  // ---------------------------------------------------------------------------
@@ -249,26 +289,59 @@ export class MemoriaStorage {
249
289
  // Cross-Memory Links
250
290
  // ---------------------------------------------------------------------------
251
291
  createLink(link) {
292
+ const now = Date.now();
252
293
  const fullLink = {
253
- ...link,
254
- created_at: Date.now(),
294
+ link_id: `lnk_${nanoid()}`,
295
+ from_memory_id: link.from_memory_id,
296
+ to_memory_id: link.to_memory_id,
297
+ link_type: link.link_type,
298
+ created_at: now,
299
+ valid_from: link.validFrom ?? now,
300
+ invalidated_at: null,
255
301
  };
256
302
  const stmt = this.db.prepare(`
257
- INSERT INTO memory_links (from_memory_id, to_memory_id, link_type, created_at)
258
- VALUES (@from_memory_id, @to_memory_id, @link_type, @created_at)
303
+ INSERT INTO memory_links (link_id, from_memory_id, to_memory_id, link_type, created_at, valid_from, invalidated_at)
304
+ VALUES (@link_id, @from_memory_id, @to_memory_id, @link_type, @created_at, @valid_from, @invalidated_at)
259
305
  ON CONFLICT DO NOTHING
260
306
  `);
261
307
  stmt.run(fullLink);
262
308
  return fullLink;
263
309
  }
264
- getLinks(memoryId) {
310
+ invalidateLink(linkId, at) {
311
+ const ts = at ?? Date.now();
312
+ const existingRow = this.db.prepare(`SELECT * FROM memory_links WHERE link_id = ?`).get(linkId);
313
+ if (!existingRow) {
314
+ return {
315
+ success: false,
316
+ link: { link_id: linkId, from_memory_id: '', to_memory_id: '', link_type: 'related', created_at: 0, valid_from: 0, invalidated_at: null },
317
+ };
318
+ }
319
+ const existing = this.rowToMemoryLink(existingRow);
320
+ if (existing.invalidated_at !== null) {
321
+ return {
322
+ success: true,
323
+ link: existing,
324
+ warning: `Link ${linkId} was already invalidated at ${new Date(existing.invalidated_at).toISOString()}. No change made.`,
325
+ };
326
+ }
327
+ this.db.prepare(`UPDATE memory_links SET invalidated_at = ? WHERE link_id = ?`).run(ts, linkId);
328
+ const updatedRow = this.db.prepare(`SELECT * FROM memory_links WHERE link_id = ?`).get(linkId);
329
+ return {
330
+ success: true,
331
+ link: this.rowToMemoryLink(updatedRow),
332
+ };
333
+ }
334
+ getLinks(memoryId, asOf) {
335
+ const cutoff = asOf ?? Date.now();
265
336
  const stmt = this.db.prepare(`
266
337
  SELECT m.*, ml.link_type
267
338
  FROM memory_links ml
268
339
  JOIN memories m ON m.id = ml.to_memory_id
269
340
  WHERE ml.from_memory_id = ?
341
+ AND ml.valid_from <= ?
342
+ AND (ml.invalidated_at IS NULL OR ml.invalidated_at > ?)
270
343
  `);
271
- const rows = stmt.all(memoryId);
344
+ const rows = stmt.all(memoryId, cutoff, cutoff);
272
345
  const links = {
273
346
  depends_on: [],
274
347
  extends: [],
@@ -604,8 +677,30 @@ export class MemoriaStorage {
604
677
  }
605
678
  }
606
679
  // ---------------------------------------------------------------------------
680
+ // Bulk Read (for vault sync)
681
+ // ---------------------------------------------------------------------------
682
+ getAllMemories() {
683
+ const stmt = this.db.prepare(`SELECT * FROM memories ORDER BY created_at DESC`);
684
+ return stmt.all().map(row => this.rowToMemory(row));
685
+ }
686
+ getAllLinks() {
687
+ const stmt = this.db.prepare(`SELECT * FROM memory_links ORDER BY created_at DESC`);
688
+ return stmt.all().map(row => this.rowToMemoryLink(row));
689
+ }
690
+ // ---------------------------------------------------------------------------
607
691
  // Utility
608
692
  // ---------------------------------------------------------------------------
693
+ rowToMemoryLink(row) {
694
+ return {
695
+ link_id: row.link_id,
696
+ from_memory_id: row.from_memory_id,
697
+ to_memory_id: row.to_memory_id,
698
+ link_type: row.link_type,
699
+ created_at: row.created_at,
700
+ valid_from: row.valid_from,
701
+ invalidated_at: row.invalidated_at ?? null,
702
+ };
703
+ }
609
704
  rowToMemory(row, accessed_at, access_count) {
610
705
  return {
611
706
  id: row.id,
@@ -621,6 +716,15 @@ export class MemoriaStorage {
621
716
  metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
622
717
  };
623
718
  }
719
+ /**
720
+ * Expose the underlying SQLite database handle.
721
+ * Used by TranscriptIngester to create its auxiliary tables
722
+ * (transcript_ingest_state, transcript_dedup) in the same database file
723
+ * without opening a second connection.
724
+ */
725
+ getInternalDb() {
726
+ return this.db;
727
+ }
624
728
  close() {
625
729
  this.db.close();
626
730
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/tools/gaia/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAqEhC,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,MAAM,OAAO,cAAc;IACjB,EAAE,CAAoB;IACtB,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,0BAA0B;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/B,4BAA4B;QAC5B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa;QAEpD,oBAAoB;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,sBAAsB;QACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;KAoBZ,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;KAwBZ,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;KAaZ,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;KAOZ,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,yBAAyB;IACzB,8EAA8E;IAE9E,UAAU,CAAC,KAAyE;QAClF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAW;YACrB,EAAE,EAAE,OAAO,MAAM,EAAE,EAAE;YACrB,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,YAAY,EAAE,CAAC;YACf,GAAG,KAAK;SACT,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC;YACP,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;YACnD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;YACrC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;YACzC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;SACnE,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;KAE5B,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC;QAEhC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,yBAAyB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAIlC,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGjC,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAQ,CAAC;QAE/C,4CAA4C;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC;YAC3B,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,uCAAuC;IACvC,8EAA8E;IAE9E,MAAM,CAAC,OAAsB;QAC3B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAEtD,mBAAmB;QACnB,IAAI,GAAG,GAAG;;;;;;;KAOT,CAAC;QAEF,MAAM,MAAM,GAAU,CAAC,KAAK,CAAC,CAAC;QAE9B,kBAAkB;QAClB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,GAAG,IAAI,mBAAmB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,GAAG,IAAI,4BAA4B,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QAE1C,6BAA6B;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAErC,0CAA0C;YAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YAEnE,sDAAsD;YACtD,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;YACtC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAE9C,sBAAsB;YACtB,MAAM,WAAW,GAA+B;gBAC9C,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,GAAG;gBACZ,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,GAAG;aACjB,CAAC;YACF,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE5C,uBAAuB;YACvB,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,OAAO,EAAE,YAAY,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7D,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,CAAC;YAED,qCAAqC;YACrC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,gCAAgC;YACxD,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC,CAAC;YAEN,kBAAkB;YAClB,MAAM,KAAK,GACT,eAAe,GAAG,IAAI;gBACtB,aAAa,GAAG,IAAI;gBACpB,UAAU,GAAG,IAAI;gBACjB,eAAe,GAAG,IAAI;gBACtB,eAAe,GAAG,IAAI,CAAC;YAEzB,OAAO;gBACL,MAAM;gBACN,KAAK;gBACL,eAAe;gBACf,aAAa;gBACb,UAAU;gBACV,eAAe;gBACf,eAAe;aAChB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QACjC,CAAC;QAED,oCAAoC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,8EAA8E;IAC9E,qBAAqB;IACrB,8EAA8E;IAE9E,UAAU,CAAC,IAAoC;QAC7C,MAAM,QAAQ,GAAe;YAC3B,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;SACvB,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAI5B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,QAAgB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAK5B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAU,CAAC;QAEzC,MAAM,KAAK,GAA+B;YACxC,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,EAAE;SAChB,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACrC,KAAK,CAAC,GAAG,CAAC,SAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E,QAAQ;QACN,iBAAiB;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAC5E,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,GAAG,EAAS,CAAC;QAEzD,UAAU;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;KAEhC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAW,CAAC;QAEzC,MAAM,OAAO,GAA+B;YAC1C,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,CAAC;SACf,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAkB,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QAC9C,CAAC;QAED,cAAc;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAChF,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,GAAG,EAAS,CAAC;QAEtD,gBAAgB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oFAAoF,CAAC,CAAC;QACvH,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAS,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAE3C,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;KAEjC,CAAC,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,EAAS,CAAC;QAElD,OAAO;YACL,cAAc;YACd,OAAO;YACP,WAAW;YACX,aAAa;YACb,aAAa,EAAE,MAAM,IAAI,CAAC;YAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;SAC3B,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,oCAAoC;IACpC,8EAA8E;IAE9E,SAAS,CAAC,UAAoD,EAAE;QAC9D,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,GAAG,GAAG,wBAAwB,CAAC;QACnC,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,GAAG,IAAI,mBAAmB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,GAAG,IAAI,mCAAmC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QAE1C,MAAM,OAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAErC,sDAAsD;YACtD,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;YACtC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAE9C,sBAAsB;YACtB,MAAM,WAAW,GAA+B;gBAC9C,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,GAAG;gBACZ,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,GAAG;aACjB,CAAC;YACF,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE5C,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnD,CAAC,CAAC,CAAC,CAAC;YAEN,MAAM,KAAK,GAAG,aAAa,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC;YAEhF,OAAO;gBACL,MAAM;gBACN,KAAK;gBACL,eAAe,EAAE,CAAC;gBAClB,aAAa;gBACb,UAAU;gBACV,eAAe,EAAE,CAAC;gBAClB,eAAe;aAChB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,oCAAoC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAEO,gBAAgB,CAAC,OAAiD;QACxE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;SAE7B,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAU,CAAC;gBAE3C,MAAM,OAAO,GAAmB,EAAE,CAAC;gBAEnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAEzD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACrF,SAAS;oBACX,CAAC;oBAED,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC9E,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBAEjF,MAAM,MAAM,GAAW;wBACrB,EAAE,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE;wBACtB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBAChE,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;wBACvC,YAAY,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;wBACtC,UAAU,EAAE,WAAW;wBACvB,WAAW,EAAE,YAAY;wBACzB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC;wBACnC,QAAQ,EAAE;4BACR,MAAM,EAAE,WAAW;4BACnB,UAAU,EAAE,GAAG,CAAC,UAAU;4BAC1B,WAAW,EAAE,GAAG,CAAC,EAAE;yBACpB;qBACF,CAAC;oBAEF,MAAM,KAAK,GAAG,GAAG,GAAG,WAAW,CAAC;oBAChC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;oBAE9C,MAAM,WAAW,GAA+B;wBAC9C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;qBACrE,CAAC;oBACF,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;oBAE3C,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;oBAC1C,MAAM,eAAe,GAAG,WAAW,GAAG,CAAC;wBACrC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;wBAC3C,CAAC,CAAC,CAAC,CAAC;oBAEN,MAAM,KAAK,GAAG,aAAa,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC;oBAEhF,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM;wBACN,KAAK;wBACL,eAAe,EAAE,CAAC;wBAClB,aAAa;wBACb,UAAU;wBACV,eAAe,EAAE,CAAC;wBAClB,eAAe;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,sCAAsC;IACtC,8EAA8E;IAE9E,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACzC,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,CAAC,OAAO,aAAa,CAAC;YAClC,KAAK,UAAU,CAAC,CAAC,OAAO,SAAS,CAAC;YAClC,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC9B,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAa,EAAE,OAItC;QACC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,IAAI,CAAC;gBACH,IAAI,IAAW,CAAC;gBAEhB,6BAA6B;gBAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAC/B,2EAA2E,CAC5E,CAAC,GAAG,EAAS,CAAC;gBAEf,IAAI,QAAQ,EAAE,CAAC;oBACb,mCAAmC;oBACnC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;;WAOvB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAU,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,gBAAgB;oBAChB,MAAM,SAAS,GAAG,IAAI,KAAK,GAAG,CAAC;oBAC/B,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;WAMvB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAU,CAAC;gBACxD,CAAC;gBAED,MAAM,OAAO,GAAmB,EAAE,CAAC;gBAEnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAEzD,+DAA+D;oBAC/D,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACrF,SAAS;oBACX,CAAC;oBAED,uCAAuC;oBACvC,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC9E,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBAEjF,MAAM,MAAM,GAAW;wBACrB,EAAE,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE;wBACtB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBAChE,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;wBACvC,YAAY,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;wBACtC,UAAU,EAAE,WAAW;wBACvB,WAAW,EAAE,YAAY;wBACzB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC;wBACnC,QAAQ,EAAE;4BACR,MAAM,EAAE,WAAW;4BACnB,UAAU,EAAE,GAAG,CAAC,UAAU;4BAC1B,WAAW,EAAE,GAAG,CAAC,EAAE;yBACpB;qBACF,CAAC;oBAEF,0CAA0C;oBAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;oBAEnE,sDAAsD;oBACtD,MAAM,KAAK,GAAG,GAAG,GAAG,WAAW,CAAC;oBAChC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;oBAE9C,sBAAsB;oBACtB,MAAM,WAAW,GAA+B;wBAC9C,OAAO,EAAE,GAAG;wBACZ,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,GAAG;wBACT,WAAW,EAAE,GAAG;qBACjB,CAAC;oBACF,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;oBAE3C,kCAAkC;oBAClC,MAAM,eAAe,GAAG,CAAC,CAAC;oBAE1B,qCAAqC;oBACrC,MAAM,UAAU,GAAG,GAAG,CAAC;oBACvB,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;oBAC1C,MAAM,eAAe,GAAG,WAAW,GAAG,CAAC;wBACrC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;wBACtD,CAAC,CAAC,CAAC,CAAC;oBAEN,yCAAyC;oBACzC,MAAM,KAAK,GACT,eAAe,GAAG,IAAI;wBACtB,aAAa,GAAG,IAAI;wBACpB,UAAU,GAAG,IAAI;wBACjB,eAAe,GAAG,IAAI;wBACtB,eAAe,GAAG,IAAI,CAAC;oBAEzB,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM;wBACN,KAAK;wBACL,eAAe;wBACf,aAAa;wBACb,UAAU;wBACV,eAAe;wBACf,eAAe;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAE1D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAS,CAAC;gBACzF,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CACnC,oEAAoE,CACrE,CAAC,GAAG,EAAW,CAAC;gBAEjB,MAAM,WAAW,GAA2B,EAAE,CAAC;gBAC/C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;gBACxC,CAAC;gBAED,OAAO;oBACL,cAAc,EAAE,QAAQ,CAAC,KAAK;oBAC9B,WAAW;iBACZ,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACjH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,UAAU;IACV,8EAA8E;IAEtE,WAAW,CAAC,GAAQ,EAAE,WAAoB,EAAE,YAAqB;QACvE,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;YAC5C,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,WAAW,IAAI,GAAG,CAAC,WAAW;YAC3C,YAAY,EAAE,YAAY,IAAI,GAAG,CAAC,YAAY;YAC9C,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/tools/gaia/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Transcript Ingester
3
+ *
4
+ * Walks ~/.claude/projects/**‌/*.jsonl, parses Claude Code conversation
5
+ * transcripts, and indexes human + assistant prose into Gaia's FTS5 store.
6
+ *
7
+ * Design:
8
+ * - Streams JSONL line-by-line (never loads full file into memory)
9
+ * - Incremental: tracks last-ingested byte offset per file in SQLite
10
+ * - Dedupes on (file_path, message_index) to survive re-runs
11
+ * - Skips noise: tool_result, system messages, sidechain, pure tool_use-only turns
12
+ */
13
+ import Database from 'better-sqlite3';
14
+ import type { MemoriaStorage } from './storage.js';
15
+ export interface IngestOptions {
16
+ /** Root directory to walk. Defaults to ~/.claude/projects */
17
+ rootDir?: string;
18
+ /** Substring to match against project slug (e.g. "foundation") */
19
+ projectFilter?: string;
20
+ /** Only ingest messages newer than this ISO timestamp */
21
+ since?: string;
22
+ /** Walk and report without writing to DB */
23
+ dryRun?: boolean;
24
+ }
25
+ export interface IngestStats {
26
+ filesFound: number;
27
+ filesSkipped: number;
28
+ messagesIngested: number;
29
+ messagesSkipped: number;
30
+ bytesProcessed: number;
31
+ projectSlugs: string[];
32
+ dateRange: {
33
+ earliest: string | null;
34
+ latest: string | null;
35
+ };
36
+ parseErrors: number;
37
+ parseErrorSamples: string[];
38
+ dryRun: boolean;
39
+ }
40
+ /** A single parsed message ready for indexing */
41
+ export interface ParsedMessage {
42
+ sessionId: string;
43
+ messageIndex: number;
44
+ timestamp: number;
45
+ role: 'user' | 'assistant';
46
+ text: string;
47
+ projectSlug: string;
48
+ cwd: string | null;
49
+ filePath: string;
50
+ lineOffset: number;
51
+ }
52
+ export declare const INGEST_STATE_DDL = "\n CREATE TABLE IF NOT EXISTS transcript_ingest_state (\n file_path TEXT NOT NULL PRIMARY KEY,\n last_byte_offset INTEGER NOT NULL DEFAULT 0,\n last_ingested_at INTEGER NOT NULL,\n messages_ingested INTEGER NOT NULL DEFAULT 0\n );\n\n CREATE TABLE IF NOT EXISTS transcript_dedup (\n file_path TEXT NOT NULL,\n message_index INTEGER NOT NULL,\n memory_id TEXT NOT NULL,\n PRIMARY KEY (file_path, message_index)\n );\n\n CREATE INDEX IF NOT EXISTS idx_dedup_file ON transcript_dedup(file_path);\n";
53
+ export declare class TranscriptIngester {
54
+ private db;
55
+ private memoria;
56
+ constructor(memoriaDb: Database.Database, memoria: MemoriaStorage);
57
+ private ensureSchema;
58
+ ingest(options?: IngestOptions): Promise<IngestStats>;
59
+ private collectJsonlFiles;
60
+ private processFile;
61
+ private streamFile;
62
+ private updateIngestState;
63
+ private updateDateRange;
64
+ /** Returns ingest state rows for testing incremental behavior */
65
+ getIngestState(): Array<{
66
+ file_path: string;
67
+ last_byte_offset: number;
68
+ messages_ingested: number;
69
+ }>;
70
+ /** Returns dedup row count for a given file */
71
+ getDedupCount(filePath: string): number;
72
+ /** Nano-id helper (re-exported so tests can use it) */
73
+ static generateId(): string;
74
+ }
75
+ /**
76
+ * MemoriaStorage keeps its `db` private. We expose it through this module
77
+ * by accepting the db instance directly (tests pass an in-memory DB;
78
+ * the MCP tool passes the real db through getInternalDb).
79
+ */
80
+ export declare function createIngester(db: Database.Database, memoria: MemoriaStorage): TranscriptIngester;
81
+ //# sourceMappingURL=transcript-ingester.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript-ingester.d.ts","sourceRoot":"","sources":["../../../src/tools/gaia/transcript-ingester.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAOD,eAAO,MAAM,gBAAgB,ghBAgB5B,CAAC;AA2HF,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,OAAO,CAAiB;gBAEpB,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc;IAMjE,OAAO,CAAC,YAAY;IAQd,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IA2D/D,OAAO,CAAC,iBAAiB;YA4CX,WAAW;IAwGzB,OAAO,CAAC,UAAU;IA+DlB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,eAAe;IAiBvB,iEAAiE;IACjE,cAAc,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IAMnG,+CAA+C;IAC/C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOvC,uDAAuD;IACvD,MAAM,CAAC,UAAU,IAAI,MAAM;CAG5B;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAEjG"}