@signetai/connector-base 0.226.26 → 0.228.0

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 (3) hide show
  1. package/dist/agent-dir.js +562 -435
  2. package/dist/index.js +558 -431
  3. package/package.json +3 -3
package/dist/agent-dir.js CHANGED
@@ -33,13 +33,13 @@ var __toESM = (mod, isNodeMode, target) => {
33
33
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
34
34
 
35
35
  // src/agent-dir.ts
36
- import { existsSync, mkdirSync, readFileSync, rmSync as rmSync2, writeFileSync } from "node:fs";
36
+ import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
37
37
  import { homedir } from "node:os";
38
- import { dirname as dirname2, join as join3, resolve as resolve4 } from "node:path";
38
+ import { dirname as dirname2, join as join3, resolve as resolve3 } from "node:path";
39
39
 
40
40
  // ../../platform/core/dist/index.js
41
41
  import { createRequire } from "node:module";
42
- import { dirname, join } from "node:path";
42
+ import { dirname, join, resolve } from "node:path";
43
43
  import { fileURLToPath } from "node:url";
44
44
  import {
45
45
  execFile as nodeExecFile,
@@ -51,29 +51,30 @@ import {
51
51
  import { promisify } from "node:util";
52
52
  import { createHash } from "node:crypto";
53
53
  import { homedir as homedir2 } from "node:os";
54
- import { join as join2, resolve } from "node:path";
54
+ import { join as join2, resolve as resolve2 } from "node:path";
55
+ import { constants as fsConstants } from "node:fs";
55
56
  import {
56
- closeSync as closeSync2,
57
- existsSync as existsSync7,
57
+ closeSync as closeSync3,
58
+ existsSync as existsSync12,
58
59
  fsyncSync as fsyncSync2,
59
- mkdirSync as mkdirSync3,
60
- openSync as openSync2,
61
- readFileSync as readFileSync5,
62
- renameSync as renameSync2,
63
- rmSync,
64
- statSync as statSync3,
60
+ mkdirSync as mkdirSync6,
61
+ openSync as openSync3,
62
+ readFileSync as readFileSync9,
63
+ renameSync as renameSync3,
64
+ rmSync as rmSync3,
65
+ statSync as statSync5,
65
66
  writeSync
66
67
  } from "node:fs";
67
68
  import { homedir as homedir4 } from "node:os";
68
- import { dirname as dirname4, join as join8, resolve as resolve2 } from "node:path";
69
+ import { dirname as dirname5, join as join13, resolve as resolve7 } from "node:path";
69
70
  import { createRequire as createRequire2 } from "node:module";
70
71
  import { homedir as homedir5 } from "node:os";
71
- import { dirname as dirname5, join as join9, resolve as resolve3 } from "node:path";
72
+ import { dirname as dirname6, join as join14, resolve as resolve8 } from "node:path";
72
73
  import { homedir as homedir6, platform as platform2 } from "node:os";
73
- import { basename, dirname as dirname6, resolve as resolve5 } from "node:path";
74
+ import { basename, dirname as dirname7, resolve as resolve9 } from "node:path";
74
75
  import { homedir as homedir8 } from "node:os";
75
- import { existsSync as existsSync14, lstatSync, mkdirSync as mkdirSync8, readdirSync as readdirSync6, symlinkSync, unlinkSync as unlinkSync2 } from "node:fs";
76
- import { join as join14 } from "node:path";
76
+ import { existsSync as existsSync18, lstatSync as lstatSync3, mkdirSync as mkdirSync10, readdirSync as readdirSync9, symlinkSync as symlinkSync2, unlinkSync as unlinkSync2 } from "node:fs";
77
+ import { join as join18 } from "node:path";
77
78
  var __create2 = Object.create;
78
79
  var __getProtoOf2 = Object.getPrototypeOf;
79
80
  var __defProp2 = Object.defineProperty;
@@ -10751,6 +10752,9 @@ function up4(db) {
10751
10752
  WHERE resolved_at IS NULL;
10752
10753
  `);
10753
10754
  }
10755
+ function up5(db) {
10756
+ db.exec("DROP TABLE IF EXISTS mcp_invocations");
10757
+ }
10754
10758
  var MEMORIES_FTS_TOKENIZER = "unicode61";
10755
10759
  var FTS_STATE_TABLE = "memories_fts_state";
10756
10760
  function normalizeSql(sql) {
@@ -10866,7 +10870,7 @@ function memoriesFtsNeedsTokenizerRepair(sql) {
10866
10870
  return true;
10867
10871
  return !normalized.includes(`tokenize='${MEMORIES_FTS_TOKENIZER}'`);
10868
10872
  }
10869
- function up5(db) {
10873
+ function up6(db) {
10870
10874
  db.exec(`
10871
10875
  CREATE TABLE IF NOT EXISTS schema_migrations (
10872
10876
  version INTEGER PRIMARY KEY,
@@ -10964,7 +10968,7 @@ function addColumnIfMissing2(db, table, column, definition) {
10964
10968
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
10965
10969
  }
10966
10970
  }
10967
- function up6(db) {
10971
+ function up7(db) {
10968
10972
  addColumnIfMissing2(db, "memories", "content_hash", "TEXT");
10969
10973
  addColumnIfMissing2(db, "memories", "normalized_content", "TEXT");
10970
10974
  addColumnIfMissing2(db, "memories", "is_deleted", "INTEGER DEFAULT 0");
@@ -11082,7 +11086,7 @@ function addColumnIfMissing3(db, table, column, definition) {
11082
11086
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
11083
11087
  return true;
11084
11088
  }
11085
- function up7(db) {
11089
+ function up8(db) {
11086
11090
  addColumnIfMissing3(db, "memories", "why", "TEXT");
11087
11091
  addColumnIfMissing3(db, "memories", "project", "TEXT");
11088
11092
  db.exec(`DROP INDEX IF EXISTS idx_memories_content_hash`);
@@ -11119,7 +11123,7 @@ function addColumnIfMissing4(db, table, column, definition) {
11119
11123
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
11120
11124
  }
11121
11125
  }
11122
- function up8(db) {
11126
+ function up9(db) {
11123
11127
  addColumnIfMissing4(db, "memory_history", "actor_type", "TEXT");
11124
11128
  addColumnIfMissing4(db, "memory_history", "session_id", "TEXT");
11125
11129
  addColumnIfMissing4(db, "memory_history", "request_id", "TEXT");
@@ -11152,7 +11156,7 @@ function addColumnIfMissing5(db, table, column, definition) {
11152
11156
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
11153
11157
  }
11154
11158
  }
11155
- function up9(db) {
11159
+ function up10(db) {
11156
11160
  addColumnIfMissing5(db, "entities", "canonical_name", "TEXT");
11157
11161
  addColumnIfMissing5(db, "entities", "mentions", "INTEGER DEFAULT 0");
11158
11162
  addColumnIfMissing5(db, "entities", "embedding", "BLOB");
@@ -11169,7 +11173,7 @@ function hasColumn4(db, table, column) {
11169
11173
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
11170
11174
  return rows.some((r2) => r2.name === column);
11171
11175
  }
11172
- function up10(db) {
11176
+ function up11(db) {
11173
11177
  if (!hasColumn4(db, "memories", "idempotency_key")) {
11174
11178
  db.exec("ALTER TABLE memories ADD COLUMN idempotency_key TEXT");
11175
11179
  }
@@ -11184,7 +11188,7 @@ function hasColumn5(db, table, column) {
11184
11188
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
11185
11189
  return rows.some((r2) => r2.name === column);
11186
11190
  }
11187
- function up11(db) {
11191
+ function up12(db) {
11188
11192
  db.exec(`
11189
11193
  CREATE TABLE IF NOT EXISTS documents (
11190
11194
  id TEXT PRIMARY KEY,
@@ -11241,7 +11245,7 @@ function up11(db) {
11241
11245
  db.exec("ALTER TABLE memory_jobs ADD COLUMN document_id TEXT");
11242
11246
  }
11243
11247
  }
11244
- function up12(db) {
11248
+ function up13(db) {
11245
11249
  const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='embeddings'").all();
11246
11250
  if (tables.length === 0)
11247
11251
  return;
@@ -11258,7 +11262,7 @@ function up12(db) {
11258
11262
  ON embeddings(content_hash)
11259
11263
  `);
11260
11264
  }
11261
- function up13(db) {
11265
+ function up14(db) {
11262
11266
  db.exec(`
11263
11267
  CREATE TABLE IF NOT EXISTS summary_jobs (
11264
11268
  id TEXT PRIMARY KEY,
@@ -11278,7 +11282,7 @@ function up13(db) {
11278
11282
  db.exec(`CREATE INDEX IF NOT EXISTS idx_summary_jobs_status
11279
11283
  ON summary_jobs(status)`);
11280
11284
  }
11281
- function up14(db) {
11285
+ function up15(db) {
11282
11286
  db.exec(`
11283
11287
  CREATE TABLE IF NOT EXISTS umap_cache (
11284
11288
  id INTEGER PRIMARY KEY,
@@ -11289,7 +11293,7 @@ function up14(db) {
11289
11293
  )
11290
11294
  `);
11291
11295
  }
11292
- function up15(db) {
11296
+ function up16(db) {
11293
11297
  db.exec(`
11294
11298
  CREATE TABLE IF NOT EXISTS session_scores (
11295
11299
  id TEXT PRIMARY KEY,
@@ -11309,7 +11313,7 @@ function up15(db) {
11309
11313
  ON session_scores(session_key);
11310
11314
  `);
11311
11315
  }
11312
- function up16(db) {
11316
+ function up17(db) {
11313
11317
  db.exec(`
11314
11318
  CREATE TABLE IF NOT EXISTS scheduled_tasks (
11315
11319
  id TEXT PRIMARY KEY,
@@ -11350,7 +11354,7 @@ function addColumnIfMissing6(db, table, column, definition) {
11350
11354
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
11351
11355
  }
11352
11356
  }
11353
- function up17(db) {
11357
+ function up18(db) {
11354
11358
  db.exec(`
11355
11359
  CREATE TABLE IF NOT EXISTS ingestion_jobs (
11356
11360
  id TEXT PRIMARY KEY,
@@ -11376,7 +11380,7 @@ function up17(db) {
11376
11380
  addColumnIfMissing6(db, "memories", "source_path", "TEXT");
11377
11381
  addColumnIfMissing6(db, "memories", "source_section", "TEXT");
11378
11382
  }
11379
- function up18(db) {
11383
+ function up19(db) {
11380
11384
  db.exec(`
11381
11385
  CREATE TABLE IF NOT EXISTS telemetry_events (
11382
11386
  id TEXT PRIMARY KEY,
@@ -11401,7 +11405,7 @@ function addColumnIfMissing7(db, table, column, definition) {
11401
11405
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
11402
11406
  }
11403
11407
  }
11404
- function up19(db) {
11408
+ function up20(db) {
11405
11409
  db.exec(`
11406
11410
  CREATE TABLE IF NOT EXISTS session_memories (
11407
11411
  id TEXT PRIMARY KEY,
@@ -11428,7 +11432,7 @@ function up19(db) {
11428
11432
  addColumnIfMissing7(db, "session_scores", "confidence", "REAL");
11429
11433
  addColumnIfMissing7(db, "session_scores", "continuity_reasoning", "TEXT");
11430
11434
  }
11431
- function up20(db) {
11435
+ function up21(db) {
11432
11436
  db.exec(`
11433
11437
  CREATE TABLE IF NOT EXISTS session_checkpoints (
11434
11438
  id TEXT PRIMARY KEY,
@@ -11450,7 +11454,7 @@ function up20(db) {
11450
11454
  ON session_checkpoints(project_normalized, created_at DESC);
11451
11455
  `);
11452
11456
  }
11453
- function up21(db) {
11457
+ function up22(db) {
11454
11458
  const cols = db.prepare("PRAGMA table_info(scheduled_tasks)").all();
11455
11459
  const colNames = new Set(cols.flatMap((c2) => typeof c2.name === "string" ? [c2.name] : []));
11456
11460
  if (!colNames.has("skill_name")) {
@@ -11461,7 +11465,7 @@ function up21(db) {
11461
11465
  CHECK (skill_mode IN ('inject', 'slash') OR skill_mode IS NULL)`);
11462
11466
  }
11463
11467
  }
11464
- function up22(db) {
11468
+ function up23(db) {
11465
11469
  const existing = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='skill_meta'").get();
11466
11470
  if (existing)
11467
11471
  return;
@@ -11493,7 +11497,7 @@ function up22(db) {
11493
11497
  CREATE INDEX idx_skill_meta_source ON skill_meta(source);
11494
11498
  `);
11495
11499
  }
11496
- function up23(db) {
11500
+ function up24(db) {
11497
11501
  const entityCols = db.prepare("PRAGMA table_info(entities)").all();
11498
11502
  const entityColNames = new Set(entityCols.flatMap((c2) => typeof c2.name === "string" ? [c2.name] : []));
11499
11503
  if (!entityColNames.has("agent_id")) {
@@ -11578,13 +11582,13 @@ function addColumnIfMissing8(db, table, column, definition) {
11578
11582
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
11579
11583
  }
11580
11584
  }
11581
- function up24(db) {
11585
+ function up25(db) {
11582
11586
  addColumnIfMissing8(db, "session_memories", "entity_slot", "INTEGER");
11583
11587
  addColumnIfMissing8(db, "session_memories", "aspect_slot", "INTEGER");
11584
11588
  addColumnIfMissing8(db, "session_memories", "is_constraint", "INTEGER NOT NULL DEFAULT 0");
11585
11589
  addColumnIfMissing8(db, "session_memories", "structural_density", "INTEGER");
11586
11590
  }
11587
- function up25(db) {
11591
+ function up26(db) {
11588
11592
  const columns = db.prepare("PRAGMA table_info(session_checkpoints)").all();
11589
11593
  const columnNames = new Set(columns.flatMap((column) => typeof column.name === "string" ? [column.name] : []));
11590
11594
  if (!columnNames.has("focal_entity_ids")) {
@@ -11609,25 +11613,25 @@ function addColumnIfMissing9(db, table, column, definition) {
11609
11613
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
11610
11614
  }
11611
11615
  }
11612
- function up26(db) {
11616
+ function up27(db) {
11613
11617
  addColumnIfMissing9(db, "entities", "pinned", "INTEGER NOT NULL DEFAULT 0");
11614
11618
  addColumnIfMissing9(db, "entities", "pinned_at", "TEXT");
11615
11619
  db.exec("CREATE INDEX IF NOT EXISTS idx_entities_pinned ON entities(agent_id, pinned, pinned_at DESC)");
11616
11620
  }
11617
- function up27(_db) {}
11618
11621
  function up28(_db) {}
11622
+ function up29(_db) {}
11619
11623
  function addColumnIfMissing10(db, table, column, definition) {
11620
11624
  const cols = db.prepare(`PRAGMA table_info(${table})`).all();
11621
11625
  if (!cols.some((c2) => c2.name === column)) {
11622
11626
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
11623
11627
  }
11624
11628
  }
11625
- function up29(db) {
11629
+ function up30(db) {
11626
11630
  addColumnIfMissing10(db, "session_memories", "agent_relevance_score", "REAL");
11627
11631
  addColumnIfMissing10(db, "session_memories", "agent_feedback_count", "INTEGER DEFAULT 0");
11628
11632
  }
11629
- function up30(_db) {}
11630
- function up31(db) {
11633
+ function up31(_db) {}
11634
+ function up32(db) {
11631
11635
  db.exec(`
11632
11636
  UPDATE entities
11633
11637
  SET canonical_name = REPLACE(REPLACE(REPLACE(
@@ -11636,7 +11640,7 @@ function up31(db) {
11636
11640
  WHERE canonical_name IS NULL
11637
11641
  `);
11638
11642
  }
11639
- function up32(db) {
11643
+ function up33(db) {
11640
11644
  db.exec(`
11641
11645
  CREATE TABLE IF NOT EXISTS memories_cold (
11642
11646
  archive_id TEXT PRIMARY KEY,
@@ -11673,7 +11677,7 @@ function up32(db) {
11673
11677
  CREATE INDEX IF NOT EXISTS idx_cold_source ON memories_cold(cold_source_id);
11674
11678
  `);
11675
11679
  }
11676
- function up33(db) {
11680
+ function up34(db) {
11677
11681
  db.exec(`
11678
11682
  CREATE TABLE IF NOT EXISTS session_summaries (
11679
11683
  id TEXT PRIMARY KEY,
@@ -11718,7 +11722,7 @@ function up33(db) {
11718
11722
  WHERE session_key IS NOT NULL;
11719
11723
  `);
11720
11724
  }
11721
- function up34(db) {
11725
+ function up35(db) {
11722
11726
  db.exec(`
11723
11727
  CREATE TABLE IF NOT EXISTS memory_jobs_new (
11724
11728
  id TEXT PRIMARY KEY,
@@ -11763,7 +11767,7 @@ function up34(db) {
11763
11767
  ON memory_jobs(failed_at);
11764
11768
  `);
11765
11769
  }
11766
- function up35(db) {
11770
+ function up36(db) {
11767
11771
  const depCols = db.prepare("PRAGMA table_info(entity_dependencies)").all();
11768
11772
  if (!depCols.some((c2) => c2.name === "reason")) {
11769
11773
  db.exec("ALTER TABLE entity_dependencies ADD COLUMN reason TEXT");
@@ -11773,7 +11777,7 @@ function up35(db) {
11773
11777
  db.exec("ALTER TABLE entities ADD COLUMN last_synthesized_at TEXT");
11774
11778
  }
11775
11779
  }
11776
- function up36(db) {
11780
+ function up37(db) {
11777
11781
  const cols = db.prepare("PRAGMA table_info(embeddings)").all();
11778
11782
  if (cols.length === 0)
11779
11783
  return;
@@ -11781,14 +11785,14 @@ function up36(db) {
11781
11785
  db.exec("ALTER TABLE embeddings ADD COLUMN vector BLOB");
11782
11786
  }
11783
11787
  }
11784
- function up37(db) {
11788
+ function up38(db) {
11785
11789
  const cols = db.prepare("PRAGMA table_info(memories)").all();
11786
11790
  if (!cols.some((c2) => c2.name === "scope")) {
11787
11791
  db.exec("ALTER TABLE memories ADD COLUMN scope TEXT DEFAULT NULL");
11788
11792
  }
11789
11793
  db.exec("CREATE INDEX IF NOT EXISTS idx_memories_scope ON memories(scope) WHERE scope IS NOT NULL");
11790
11794
  }
11791
- function up38(db) {
11795
+ function up39(db) {
11792
11796
  db.exec("DROP INDEX IF EXISTS idx_memories_content_hash_unique");
11793
11797
  db.exec(`
11794
11798
  CREATE UNIQUE INDEX idx_memories_content_hash_unique
@@ -11796,7 +11800,7 @@ function up38(db) {
11796
11800
  WHERE content_hash IS NOT NULL AND is_deleted = 0
11797
11801
  `);
11798
11802
  }
11799
- function up39(db) {
11803
+ function up40(db) {
11800
11804
  db.exec(`
11801
11805
  CREATE VIRTUAL TABLE IF NOT EXISTS entities_fts USING fts5(
11802
11806
  name, canonical_name,
@@ -11828,13 +11832,13 @@ function up39(db) {
11828
11832
  END
11829
11833
  `);
11830
11834
  }
11831
- function up40(db) {
11835
+ function up41(db) {
11832
11836
  const cols = db.prepare("PRAGMA table_info(entity_dependencies)").all();
11833
11837
  if (!cols.some((c2) => c2.name === "confidence")) {
11834
11838
  db.exec("ALTER TABLE entity_dependencies ADD COLUMN confidence REAL DEFAULT 0.7");
11835
11839
  }
11836
11840
  }
11837
- function up41(db) {
11841
+ function up42(db) {
11838
11842
  db.exec(`
11839
11843
  CREATE TABLE IF NOT EXISTS entity_communities (
11840
11844
  id TEXT PRIMARY KEY,
@@ -11852,7 +11856,7 @@ function up41(db) {
11852
11856
  db.exec("ALTER TABLE entities ADD COLUMN community_id TEXT REFERENCES entity_communities(id)");
11853
11857
  }
11854
11858
  }
11855
- function up42(db) {
11859
+ function up43(db) {
11856
11860
  db.exec(`
11857
11861
  CREATE TABLE IF NOT EXISTS memory_hints (
11858
11862
  id TEXT PRIMARY KEY,
@@ -11892,7 +11896,7 @@ function up42(db) {
11892
11896
  END
11893
11897
  `);
11894
11898
  }
11895
- function up43(db) {
11899
+ function up44(db) {
11896
11900
  db.exec(`
11897
11901
  DELETE FROM entity_dependencies
11898
11902
  WHERE id NOT IN (
@@ -11910,7 +11914,7 @@ function up43(db) {
11910
11914
  )
11911
11915
  `);
11912
11916
  }
11913
- function up44(db) {
11917
+ function up45(db) {
11914
11918
  db.exec(`
11915
11919
  CREATE TABLE IF NOT EXISTS session_transcripts (
11916
11920
  session_key TEXT PRIMARY KEY,
@@ -11933,7 +11937,7 @@ function addColumnIfMissing11(db, table, column, definition) {
11933
11937
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
11934
11938
  }
11935
11939
  }
11936
- function up45(db) {
11940
+ function up46(db) {
11937
11941
  addColumnIfMissing11(db, "session_memories", "path_json", "TEXT");
11938
11942
  db.exec(`
11939
11943
  CREATE TABLE IF NOT EXISTS path_feedback_events (
@@ -12008,7 +12012,7 @@ function addColumnIfMissing12(db, table, column, definition) {
12008
12012
  return;
12009
12013
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
12010
12014
  }
12011
- function up46(db) {
12015
+ function up47(db) {
12012
12016
  addColumnIfMissing12(db, "session_memories", "entity_slot", "INTEGER");
12013
12017
  addColumnIfMissing12(db, "session_memories", "aspect_slot", "INTEGER");
12014
12018
  addColumnIfMissing12(db, "session_memories", "is_constraint", "INTEGER NOT NULL DEFAULT 0");
@@ -12096,7 +12100,7 @@ function addColumnIfMissing13(db, table, column, definition) {
12096
12100
  return;
12097
12101
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
12098
12102
  }
12099
- function up47(db) {
12103
+ function up48(db) {
12100
12104
  db.exec(`
12101
12105
  CREATE TABLE IF NOT EXISTS agents (
12102
12106
  id TEXT PRIMARY KEY,
@@ -12125,7 +12129,7 @@ function addColumnIfMissing14(db, table, column, definition) {
12125
12129
  return;
12126
12130
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
12127
12131
  }
12128
- function up48(db) {
12132
+ function up49(db) {
12129
12133
  addColumnIfMissing14(db, "session_summaries", "source_type", "TEXT");
12130
12134
  addColumnIfMissing14(db, "session_summaries", "source_ref", "TEXT");
12131
12135
  addColumnIfMissing14(db, "session_summaries", "meta_json", "TEXT");
@@ -12151,7 +12155,7 @@ function addColumnIfMissing15(db, table, column, definition) {
12151
12155
  return;
12152
12156
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
12153
12157
  }
12154
- function up49(db) {
12158
+ function up50(db) {
12155
12159
  addColumnIfMissing15(db, "session_transcripts", "updated_at", "TEXT");
12156
12160
  addColumnIfMissing15(db, "summary_jobs", "agent_id", "TEXT NOT NULL DEFAULT 'default'");
12157
12161
  addColumnIfMissing15(db, "session_scores", "agent_id", "TEXT NOT NULL DEFAULT 'default'");
@@ -12222,7 +12226,7 @@ function up49(db) {
12222
12226
  ON memory_md_heads(lease_expires_at);
12223
12227
  `);
12224
12228
  }
12225
- function up50(db) {
12229
+ function up51(db) {
12226
12230
  db.exec(`
12227
12231
  DROP INDEX IF EXISTS idx_summaries_session_depth;
12228
12232
 
@@ -12283,7 +12287,7 @@ function up50(db) {
12283
12287
  AND COALESCE(source_type, 'summary') = 'summary';
12284
12288
  `);
12285
12289
  }
12286
- function up51(db) {
12290
+ function up52(db) {
12287
12291
  db.exec(`
12288
12292
  DROP TRIGGER IF EXISTS session_transcripts_fts_ai;
12289
12293
  DROP TRIGGER IF EXISTS session_transcripts_fts_ad;
@@ -12381,7 +12385,7 @@ function up51(db) {
12381
12385
  AND COALESCE(source_type, 'summary') = 'summary';
12382
12386
  `);
12383
12387
  }
12384
- function up52(db) {
12388
+ function up53(db) {
12385
12389
  db.exec(`
12386
12390
  CREATE TABLE IF NOT EXISTS memory_thread_heads (
12387
12391
  agent_id TEXT NOT NULL DEFAULT 'default',
@@ -12499,7 +12503,7 @@ function up52(db) {
12499
12503
  WHERE excluded.latest_at >= memory_thread_heads.latest_at;
12500
12504
  `);
12501
12505
  }
12502
- function up53(db) {
12506
+ function up54(db) {
12503
12507
  db.exec(`
12504
12508
  CREATE TABLE IF NOT EXISTS session_extract_cursors (
12505
12509
  session_key TEXT NOT NULL,
@@ -12516,7 +12520,7 @@ function hasTable(db, name) {
12516
12520
  WHERE type = 'table' AND name = ?
12517
12521
  LIMIT 1`).get(name) !== undefined;
12518
12522
  }
12519
- function up54(db) {
12523
+ function up55(db) {
12520
12524
  db.exec(`
12521
12525
  CREATE TABLE IF NOT EXISTS entity_dependency_history (
12522
12526
  id TEXT PRIMARY KEY,
@@ -12686,7 +12690,7 @@ function addColumnIfMissing16(db, table, column, definition) {
12686
12690
  return;
12687
12691
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
12688
12692
  }
12689
- function up55(db) {
12693
+ function up56(db) {
12690
12694
  addColumnIfMissing16(db, "summary_jobs", "session_id", "TEXT");
12691
12695
  addColumnIfMissing16(db, "summary_jobs", "trigger", "TEXT NOT NULL DEFAULT 'session_end'");
12692
12696
  addColumnIfMissing16(db, "summary_jobs", "captured_at", "TEXT");
@@ -12778,24 +12782,8 @@ function up55(db) {
12778
12782
  VALUES ('rebuild');
12779
12783
  `);
12780
12784
  }
12781
- function up56(db) {
12782
- db.exec(`
12783
- CREATE TABLE IF NOT EXISTS mcp_invocations (
12784
- id TEXT PRIMARY KEY,
12785
- server_id TEXT NOT NULL,
12786
- tool_name TEXT NOT NULL,
12787
- agent_id TEXT NOT NULL DEFAULT 'default',
12788
- source TEXT NOT NULL CHECK(source IN ('cli','agent','mcp','dashboard')),
12789
- latency_ms INTEGER NOT NULL,
12790
- success INTEGER NOT NULL DEFAULT 1,
12791
- error_text TEXT,
12792
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
12793
- );
12794
- CREATE INDEX IF NOT EXISTS idx_mcp_inv_server ON mcp_invocations(server_id, created_at);
12795
- CREATE INDEX IF NOT EXISTS idx_mcp_inv_agent ON mcp_invocations(agent_id, created_at);
12796
- `);
12797
- }
12798
- function up57(db) {
12785
+ function up57(_db) {}
12786
+ function up58(db) {
12799
12787
  db.exec(`
12800
12788
  CREATE TABLE IF NOT EXISTS skill_invocations (
12801
12789
  id TEXT PRIMARY KEY,
@@ -12811,7 +12799,7 @@ function up57(db) {
12811
12799
  CREATE INDEX IF NOT EXISTS idx_skill_inv_agent ON skill_invocations(agent_id, created_at);
12812
12800
  `);
12813
12801
  }
12814
- function up58(db) {
12802
+ function up59(db) {
12815
12803
  db.exec(`
12816
12804
  CREATE TABLE IF NOT EXISTS task_scope_hints (
12817
12805
  task_id TEXT PRIMARY KEY REFERENCES scheduled_tasks(id) ON DELETE CASCADE,
@@ -12842,7 +12830,7 @@ function up58(db) {
12842
12830
  ON task_scope_hints(agent_id, updated_at);
12843
12831
  `);
12844
12832
  }
12845
- function up59(db) {
12833
+ function up60(db) {
12846
12834
  db.exec(`
12847
12835
  CREATE TABLE IF NOT EXISTS dreaming_state (
12848
12836
  agent_id TEXT PRIMARY KEY NOT NULL,
@@ -12885,7 +12873,7 @@ function ensureMemoriesScopeColumns(db) {
12885
12873
  if (!names.has("scope"))
12886
12874
  db.exec("ALTER TABLE memories ADD COLUMN scope TEXT");
12887
12875
  }
12888
- function up60(db) {
12876
+ function up61(db) {
12889
12877
  ensureMemoriesScopeColumns(db);
12890
12878
  db.exec("DROP INDEX IF EXISTS idx_memories_content_hash_unique");
12891
12879
  db.exec(`
@@ -12898,20 +12886,20 @@ function up60(db) {
12898
12886
  WHERE content_hash IS NOT NULL AND is_deleted = 0
12899
12887
  `);
12900
12888
  }
12901
- function up61(db) {
12889
+ function up62(db) {
12902
12890
  const sql = readMemoriesFtsSql(db);
12903
12891
  if (sql !== null && !memoriesFtsNeedsTokenizerRepair(sql))
12904
12892
  return;
12905
12893
  recreateMemoriesFts(db);
12906
12894
  }
12907
- function up62(db) {
12895
+ function up63(db) {
12908
12896
  db.exec(`CREATE INDEX IF NOT EXISTS idx_entities_order
12909
12897
  ON entities(agent_id, pinned DESC, pinned_at DESC, mentions DESC, updated_at DESC, name)`);
12910
12898
  db.exec(`CREATE INDEX IF NOT EXISTS idx_entities_extracted_mentions
12911
12899
  ON entities(entity_type, mentions)
12912
12900
  WHERE entity_type = 'extracted'`);
12913
12901
  }
12914
- function up63(db) {
12902
+ function up64(db) {
12915
12903
  const cols = db.prepare("PRAGMA table_info(entity_attributes)").all();
12916
12904
  if (!cols.some((col) => col.name === "claim_key")) {
12917
12905
  db.exec("ALTER TABLE entity_attributes ADD COLUMN claim_key TEXT");
@@ -12920,7 +12908,7 @@ function up63(db) {
12920
12908
  ON entity_attributes(agent_id, aspect_id, claim_key, status)
12921
12909
  WHERE claim_key IS NOT NULL`);
12922
12910
  }
12923
- function up64(db) {
12911
+ function up65(db) {
12924
12912
  const cols = db.prepare("PRAGMA table_info(entity_attributes)").all();
12925
12913
  if (!cols.some((col) => col.name === "group_key")) {
12926
12914
  db.exec("ALTER TABLE entity_attributes ADD COLUMN group_key TEXT");
@@ -12932,13 +12920,13 @@ function up64(db) {
12932
12920
  ON entity_attributes(agent_id, aspect_id, group_key, claim_key, status)
12933
12921
  WHERE claim_key IS NOT NULL`);
12934
12922
  }
12935
- function up65(db) {
12923
+ function up66(db) {
12936
12924
  const cols = db.prepare("PRAGMA table_info(memory_artifacts)").all();
12937
12925
  if (cols.some((col) => col.name === "source_mtime_ms"))
12938
12926
  return;
12939
12927
  db.exec("ALTER TABLE memory_artifacts ADD COLUMN source_mtime_ms REAL");
12940
12928
  }
12941
- function up66(db) {
12929
+ function up67(db) {
12942
12930
  const cols = db.prepare("PRAGMA table_info(memory_artifacts)").all();
12943
12931
  const names = new Set(cols.map((col) => col.name));
12944
12932
  if (!names.has("is_deleted")) {
@@ -12952,7 +12940,7 @@ function up66(db) {
12952
12940
  ON memory_artifacts(agent_id, is_deleted, deleted_at)
12953
12941
  `);
12954
12942
  }
12955
- function up67(db) {
12943
+ function up68(db) {
12956
12944
  db.exec("DROP TRIGGER IF EXISTS memories_au");
12957
12945
  db.exec(`
12958
12946
  CREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE OF content ON memories BEGIN
@@ -12970,7 +12958,7 @@ function addColumnIfMissing17(db, table, column, definition) {
12970
12958
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
12971
12959
  }
12972
12960
  }
12973
- function up68(db) {
12961
+ function up69(db) {
12974
12962
  for (const table of ["entities", "entity_communities", "entity_attributes", "entity_dependencies"]) {
12975
12963
  addColumnIfMissing17(db, table, "source_id", "TEXT");
12976
12964
  addColumnIfMissing17(db, table, "source_kind", "TEXT");
@@ -12990,7 +12978,7 @@ function hasColumn7(db, table, column) {
12990
12978
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
12991
12979
  return rows.some((row) => row.name === column);
12992
12980
  }
12993
- function up69(db) {
12981
+ function up70(db) {
12994
12982
  if (!hasTable2(db, "embeddings"))
12995
12983
  return;
12996
12984
  if (!hasColumn7(db, "embeddings", "agent_id")) {
@@ -12998,7 +12986,7 @@ function up69(db) {
12998
12986
  }
12999
12987
  db.exec("CREATE INDEX IF NOT EXISTS idx_embeddings_agent_source ON embeddings(agent_id, source_type, source_id)");
13000
12988
  }
13001
- function up70(db) {
12989
+ function up71(db) {
13002
12990
  db.exec(`
13003
12991
  CREATE TABLE IF NOT EXISTS memory_search_telemetry (
13004
12992
  id TEXT PRIMARY KEY,
@@ -13039,7 +13027,7 @@ function addColumnIfMissing18(db, table, column, definition) {
13039
13027
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
13040
13028
  }
13041
13029
  }
13042
- function up71(db) {
13030
+ function up72(db) {
13043
13031
  db.exec(`
13044
13032
  CREATE TABLE IF NOT EXISTS ontology_proposals (
13045
13033
  id TEXT PRIMARY KEY,
@@ -13082,7 +13070,7 @@ function up71(db) {
13082
13070
  db.exec(`CREATE INDEX IF NOT EXISTS idx_${table}_proposal ON ${table}(agent_id, proposal_id)`);
13083
13071
  }
13084
13072
  }
13085
- function up72(db) {
13073
+ function up73(db) {
13086
13074
  db.exec(`
13087
13075
  CREATE TABLE IF NOT EXISTS daily_reflections (
13088
13076
  id TEXT PRIMARY KEY,
@@ -13109,7 +13097,7 @@ function up72(db) {
13109
13097
  WHERE content_key IS NOT NULL;
13110
13098
  `);
13111
13099
  }
13112
- function up73(db) {
13100
+ function up74(db) {
13113
13101
  const cols = db.prepare("PRAGMA table_info(daily_reflections)").all();
13114
13102
  const colNames = new Set(cols.flatMap((c2) => typeof c2.name === "string" ? [c2.name] : []));
13115
13103
  if (!colNames.has("content_key")) {
@@ -13146,7 +13134,7 @@ function backfillVersionRoots(db) {
13146
13134
  WHERE version_root_id IS NULL
13147
13135
  `);
13148
13136
  }
13149
- function up74(db) {
13137
+ function up75(db) {
13150
13138
  for (const table of ["entities", "entity_aspects", "entity_dependencies"]) {
13151
13139
  addColumnIfMissing19(db, table, "status", "TEXT NOT NULL DEFAULT 'active'");
13152
13140
  addColumnIfMissing19(db, table, "archived_at", "TEXT");
@@ -13181,7 +13169,7 @@ function up74(db) {
13181
13169
  ON entity_aspects(agent_id, proposal_id);
13182
13170
  `);
13183
13171
  }
13184
- function up75(db) {
13172
+ function up76(db) {
13185
13173
  db.exec(`
13186
13174
  CREATE TABLE IF NOT EXISTS epistemic_assertions (
13187
13175
  id TEXT PRIMARY KEY,
@@ -13237,7 +13225,7 @@ function ensureMemoriesScopeColumns2(db) {
13237
13225
  if (!names.has("runtime_path"))
13238
13226
  db.exec("ALTER TABLE memories ADD COLUMN runtime_path TEXT");
13239
13227
  }
13240
- function up76(db) {
13228
+ function up77(db) {
13241
13229
  ensureMemoriesScopeColumns2(db);
13242
13230
  db.exec("DROP INDEX IF EXISTS idx_memories_idempotency_key");
13243
13231
  db.exec(`
@@ -13251,7 +13239,7 @@ function up76(db) {
13251
13239
  WHERE idempotency_key IS NOT NULL AND is_deleted = 0
13252
13240
  `);
13253
13241
  }
13254
- function up77(db) {
13242
+ function up78(db) {
13255
13243
  db.exec(`
13256
13244
  CREATE TABLE IF NOT EXISTS session_context_epochs (
13257
13245
  session_key TEXT NOT NULL,
@@ -13286,7 +13274,7 @@ function up77(db) {
13286
13274
  ON session_recall_events(item_kind, item_id, created_at DESC);
13287
13275
  `);
13288
13276
  }
13289
- function up78(db) {
13277
+ function up79(db) {
13290
13278
  db.exec(`
13291
13279
  CREATE TABLE IF NOT EXISTS aggregate_memory_sources (
13292
13280
  aggregate_memory_id TEXT NOT NULL,
@@ -13305,7 +13293,7 @@ function addColumnIfMissing20(db, table, column, definition) {
13305
13293
  return;
13306
13294
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
13307
13295
  }
13308
- function up79(db) {
13296
+ function up80(db) {
13309
13297
  addColumnIfMissing20(db, "memory_artifacts", "source_id", "TEXT");
13310
13298
  addColumnIfMissing20(db, "memory_artifacts", "source_root", "TEXT");
13311
13299
  addColumnIfMissing20(db, "memory_artifacts", "source_external_id", "TEXT");
@@ -13318,7 +13306,7 @@ function up79(db) {
13318
13306
  ON memory_artifacts(agent_id, source_id, source_root);
13319
13307
  `);
13320
13308
  }
13321
- function up80(db) {
13309
+ function up81(db) {
13322
13310
  db.exec(`
13323
13311
  CREATE TABLE IF NOT EXISTS temporal_edges (
13324
13312
  id TEXT PRIMARY KEY,
@@ -13341,7 +13329,7 @@ function up80(db) {
13341
13329
  ON temporal_edges(agent_id, subject_type, subject_id);
13342
13330
  `);
13343
13331
  }
13344
- function up81(db) {
13332
+ function up82(db) {
13345
13333
  db.exec(`
13346
13334
  CREATE TABLE IF NOT EXISTS entity_aliases (
13347
13335
  id TEXT PRIMARY KEY,
@@ -13365,7 +13353,7 @@ function up81(db) {
13365
13353
  ON entity_aliases(agent_id, canonical_alias, status);
13366
13354
  `);
13367
13355
  }
13368
- function up82(db) {
13356
+ function up83(db) {
13369
13357
  db.exec(`
13370
13358
  CREATE TABLE IF NOT EXISTS api_keys (
13371
13359
  id TEXT PRIMARY KEY,
@@ -13393,7 +13381,7 @@ function up82(db) {
13393
13381
  ON api_keys(connector, harness);
13394
13382
  `);
13395
13383
  }
13396
- function up83(db) {
13384
+ function up84(db) {
13397
13385
  db.exec(`
13398
13386
  CREATE TABLE IF NOT EXISTS transcript_capture_jobs (
13399
13387
  id TEXT PRIMARY KEY,
@@ -13428,7 +13416,7 @@ function hasColumn10(db, table, column) {
13428
13416
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
13429
13417
  return rows.some((row) => row.name === column);
13430
13418
  }
13431
- function up84(db) {
13419
+ function up85(db) {
13432
13420
  if (!hasColumn10(db, "documents", "agent_id")) {
13433
13421
  db.exec("ALTER TABLE documents ADD COLUMN agent_id TEXT NOT NULL DEFAULT 'default'");
13434
13422
  }
@@ -13514,7 +13502,7 @@ function up84(db) {
13514
13502
  db.exec("CREATE INDEX IF NOT EXISTS idx_documents_agent_project ON documents(agent_id, project)");
13515
13503
  db.exec("CREATE INDEX IF NOT EXISTS idx_documents_source_scope ON documents(source_url, agent_id, project)");
13516
13504
  }
13517
- function up85(db) {
13505
+ function up86(db) {
13518
13506
  db.exec(`
13519
13507
  CREATE TABLE IF NOT EXISTS aggregate_evidence_sources (
13520
13508
  aggregate_memory_id TEXT NOT NULL,
@@ -13536,7 +13524,7 @@ function hasColumn11(db, table, column) {
13536
13524
  return rows.some((row) => row.name === column);
13537
13525
  }
13538
13526
  var COLUMNS = ["harness", "session_id", "tool_use_id", "cwd", "origin", "args"];
13539
- function up86(db) {
13527
+ function up87(db) {
13540
13528
  for (const column of COLUMNS) {
13541
13529
  if (!hasColumn11(db, "skill_invocations", column)) {
13542
13530
  db.exec(`ALTER TABLE skill_invocations ADD COLUMN ${column} TEXT`);
@@ -13617,7 +13605,7 @@ function documentScopeColumnsPreservingExisting(db) {
13617
13605
  `);
13618
13606
  }
13619
13607
  try {
13620
- up84(db);
13608
+ up85(db);
13621
13609
  if (preserveAgentId) {
13622
13610
  db.exec(`
13623
13611
  UPDATE documents
@@ -13637,12 +13625,12 @@ function documentScopeColumnsPreservingExisting(db) {
13637
13625
  db.exec("DROP TABLE IF EXISTS temp.__signet_doc_project_guard");
13638
13626
  }
13639
13627
  }
13640
- function up87(db) {
13641
- up83(db);
13628
+ function up88(db) {
13629
+ up84(db);
13642
13630
  if (hasTable3(db, "documents")) {
13643
13631
  documentScopeColumnsPreservingExisting(db);
13644
13632
  }
13645
- up85(db);
13633
+ up86(db);
13646
13634
  addColumnIfMissing21(db, "memories", "superseded_by", "TEXT");
13647
13635
  addColumnIfMissing21(db, "memories", "superseded_at", "TEXT");
13648
13636
  addColumnIfMissing21(db, "memories", "superseded_reason", "TEXT");
@@ -13699,7 +13687,7 @@ function up87(db) {
13699
13687
  AND ${sourceAgentId} = ${targetAgentId}
13700
13688
  `);
13701
13689
  }
13702
- function up88(db) {
13690
+ function up89(db) {
13703
13691
  db.exec(`
13704
13692
  CREATE TABLE IF NOT EXISTS legacy_markdown_imports (
13705
13693
  path TEXT PRIMARY KEY,
@@ -13729,7 +13717,7 @@ function up88(db) {
13729
13717
  ON legacy_markdown_chunks(memory_id);
13730
13718
  `);
13731
13719
  }
13732
- function up89(db) {
13720
+ function up90(db) {
13733
13721
  const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name IN ('relations', 'entity_dependencies')").all();
13734
13722
  const tableNames = new Set(tables.map((r2) => String(r2.name)));
13735
13723
  if (!tableNames.has("relations") || !tableNames.has("entity_dependencies"))
@@ -13788,7 +13776,7 @@ function addColumnIfMissing22(db, table, column, definition) {
13788
13776
  return;
13789
13777
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
13790
13778
  }
13791
- function up90(db) {
13779
+ function up91(db) {
13792
13780
  addColumnIfMissing22(db, "summary_jobs", "content_hash", "TEXT");
13793
13781
  db.exec(`
13794
13782
  CREATE INDEX IF NOT EXISTS idx_summary_jobs_agent_session_content_hash
@@ -13801,14 +13789,14 @@ function addColumnIfMissing23(db, table, column, definition) {
13801
13789
  return;
13802
13790
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
13803
13791
  }
13804
- function up91(db) {
13792
+ function up92(db) {
13805
13793
  addColumnIfMissing23(db, "summary_jobs", "boundary_reason", "TEXT");
13806
13794
  db.exec(`
13807
13795
  CREATE INDEX IF NOT EXISTS idx_summary_jobs_boundary_reason
13808
13796
  ON summary_jobs(agent_id, session_key, boundary_reason)
13809
13797
  `);
13810
13798
  }
13811
- function up92(db) {
13799
+ function up93(db) {
13812
13800
  db.exec(`
13813
13801
  CREATE TABLE IF NOT EXISTS transcript_recovery_files (
13814
13802
  agent_id TEXT NOT NULL,
@@ -13826,7 +13814,7 @@ function up92(db) {
13826
13814
  ON transcript_capture_jobs(agent_id, session_id, status);
13827
13815
  `);
13828
13816
  }
13829
- function up93(db) {
13817
+ function up94(db) {
13830
13818
  db.exec(`
13831
13819
  CREATE TABLE IF NOT EXISTS job_cancellations (
13832
13820
  id TEXT PRIMARY KEY,
@@ -13854,7 +13842,7 @@ function indexExists(db, table, indexName) {
13854
13842
  const rows = db.prepare(`PRAGMA index_list(${table})`).all();
13855
13843
  return rows.some((row) => row.name === indexName);
13856
13844
  }
13857
- function up94(db) {
13845
+ function up95(db) {
13858
13846
  db.exec(`
13859
13847
  CREATE TABLE IF NOT EXISTS job_archive (
13860
13848
  id TEXT PRIMARY KEY,
@@ -13881,7 +13869,7 @@ function indexExists2(db, table, indexName) {
13881
13869
  const rows = db.prepare(`PRAGMA index_list(${table})`).all();
13882
13870
  return rows.some((row) => row.name === indexName);
13883
13871
  }
13884
- function up95(db) {
13872
+ function up96(db) {
13885
13873
  db.exec(`
13886
13874
  CREATE TABLE IF NOT EXISTS embedding_index_state (
13887
13875
  id INTEGER PRIMARY KEY CHECK (id = 1),
@@ -13894,7 +13882,7 @@ function up95(db) {
13894
13882
  )
13895
13883
  `);
13896
13884
  }
13897
- function up96(db) {
13885
+ function up97(db) {
13898
13886
  db.exec(`
13899
13887
  CREATE TABLE IF NOT EXISTS embeddings_staging (
13900
13888
  id TEXT PRIMARY KEY,
@@ -13913,7 +13901,7 @@ function up96(db) {
13913
13901
  ON embeddings_staging(agent_id, source_type, source_id);
13914
13902
  `);
13915
13903
  }
13916
- function up97(db) {
13904
+ function up98(db) {
13917
13905
  const columns = db.prepare("PRAGMA table_info(dreaming_state)").all();
13918
13906
  if (!columns.some((column) => column.name === "evidence_cursor")) {
13919
13907
  db.exec("ALTER TABLE dreaming_state ADD COLUMN evidence_cursor TEXT");
@@ -13924,7 +13912,7 @@ function hasColumn13(db, table, column) {
13924
13912
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
13925
13913
  return rows.some((r2) => r2.name === column);
13926
13914
  }
13927
- function up98(db) {
13915
+ function up99(db) {
13928
13916
  const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name = 'memories'").all();
13929
13917
  if (tables.length === 0)
13930
13918
  return;
@@ -13949,23 +13937,23 @@ function up98(db) {
13949
13937
  function hasColumn14(db, table, column) {
13950
13938
  return db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === column);
13951
13939
  }
13952
- function up99(db) {
13940
+ function up100(db) {
13953
13941
  const hasMemories = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'memories'").get();
13954
13942
  if (!hasMemories || !hasColumn14(db, "memories", "memory_kind") || !hasColumn14(db, "memories", "type"))
13955
13943
  return;
13956
13944
  db.exec("UPDATE memories SET memory_kind = NULL WHERE type = 'session_summary'");
13957
13945
  }
13958
- function up100(db) {
13946
+ function up101(db) {
13959
13947
  db.exec("DROP TABLE IF EXISTS ingestion_jobs");
13960
13948
  }
13961
- function up101(db) {
13949
+ function up102(db) {
13962
13950
  const columns = db.prepare("PRAGMA table_info(dreaming_state)").all();
13963
13951
  if (!columns.some((column) => column.name === "last_failure_at")) {
13964
13952
  db.exec("ALTER TABLE dreaming_state ADD COLUMN last_failure_at TEXT");
13965
13953
  }
13966
13954
  db.exec("UPDATE dreaming_state SET last_failure_at = updated_at WHERE consecutive_failures > 0 AND last_failure_at IS NULL");
13967
13955
  }
13968
- function up102(db) {
13956
+ function up103(db) {
13969
13957
  db.exec(`
13970
13958
  CREATE TABLE IF NOT EXISTS dreaming_evidence_exclusions (
13971
13959
  agent_id TEXT NOT NULL,
@@ -13982,7 +13970,7 @@ function up102(db) {
13982
13970
  ON dreaming_evidence_exclusions (agent_id, resolved_at, requeue_requested_at, excluded_at DESC);
13983
13971
  `);
13984
13972
  }
13985
- function up103(db) {
13973
+ function up104(db) {
13986
13974
  db.exec(`
13987
13975
  CREATE TABLE IF NOT EXISTS dreaming_tool_calls (
13988
13976
  id TEXT PRIMARY KEY,
@@ -14002,7 +13990,7 @@ function up103(db) {
14002
13990
  ON dreaming_tool_calls (agent_id, pass_id, sequence ASC);
14003
13991
  `);
14004
13992
  }
14005
- function up104(db) {
13993
+ function up105(db) {
14006
13994
  const columns = db.prepare("PRAGMA table_info(dreaming_passes)").all();
14007
13995
  if (!columns.some((column) => column.name === "evidence_window_json")) {
14008
13996
  db.exec("ALTER TABLE dreaming_passes ADD COLUMN evidence_window_json TEXT");
@@ -14011,7 +13999,7 @@ function up104(db) {
14011
13999
  db.exec("ALTER TABLE dreaming_passes ADD COLUMN runbook_json TEXT");
14012
14000
  }
14013
14001
  }
14014
- function up105(db) {
14002
+ function up106(db) {
14015
14003
  db.exec(`
14016
14004
  CREATE TABLE IF NOT EXISTS dreaming_attention (
14017
14005
  id TEXT PRIMARY KEY,
@@ -14033,7 +14021,7 @@ function up105(db) {
14033
14021
  function hasColumn15(db, table, column) {
14034
14022
  return db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === column);
14035
14023
  }
14036
- function up106(db) {
14024
+ function up107(db) {
14037
14025
  const requiredMemoryColumns = [
14038
14026
  "content_hash",
14039
14027
  "normalized_content",
@@ -14084,7 +14072,7 @@ function up106(db) {
14084
14072
  WHERE EXISTS (SELECT 1 FROM memory_entity_mentions WHERE entity_id = entities.id)
14085
14073
  `);
14086
14074
  }
14087
- function up107(db) {
14075
+ function up108(db) {
14088
14076
  const tables = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name IN ('memories', 'entity_attributes')").all();
14089
14077
  if (tables.length !== 2)
14090
14078
  return;
@@ -14107,7 +14095,7 @@ function tableExists(db, table) {
14107
14095
  function hasColumn16(db, table, column) {
14108
14096
  return db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === column);
14109
14097
  }
14110
- function up108(db) {
14098
+ function up109(db) {
14111
14099
  db.exec(`
14112
14100
  CREATE TABLE IF NOT EXISTS derived_memory_sources (
14113
14101
  derived_memory_id TEXT NOT NULL,
@@ -14150,7 +14138,7 @@ function up108(db) {
14150
14138
  `);
14151
14139
  }
14152
14140
  }
14153
- function up109(db) {
14141
+ function up110(db) {
14154
14142
  db.exec(`
14155
14143
  DROP TRIGGER IF EXISTS entities_fts_ai;
14156
14144
  DROP TRIGGER IF EXISTS entities_fts_ad;
@@ -14239,7 +14227,7 @@ function up109(db) {
14239
14227
  function hasColumn17(db, table, column) {
14240
14228
  return db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === column);
14241
14229
  }
14242
- function up110(db) {
14230
+ function up111(db) {
14243
14231
  if (!hasColumn17(db, "memories", "review_after")) {
14244
14232
  db.exec("ALTER TABLE memories ADD COLUMN review_after TEXT;");
14245
14233
  }
@@ -14255,14 +14243,14 @@ var TOKEN_COLUMNS = [
14255
14243
  ["tokens_cache_write", "INTEGER"],
14256
14244
  ["tokens_cost", "REAL"]
14257
14245
  ];
14258
- function up111(db) {
14246
+ function up112(db) {
14259
14247
  for (const [column, type] of TOKEN_COLUMNS) {
14260
14248
  if (!hasColumn18(db, "dreaming_passes", column)) {
14261
14249
  db.exec(`ALTER TABLE dreaming_passes ADD COLUMN ${column} ${type};`);
14262
14250
  }
14263
14251
  }
14264
14252
  }
14265
- function up112(db) {
14253
+ function up113(db) {
14266
14254
  db.exec(`
14267
14255
  CREATE TABLE IF NOT EXISTS embedding_usage (
14268
14256
  day TEXT NOT NULL,
@@ -14275,7 +14263,7 @@ function up112(db) {
14275
14263
  );
14276
14264
  `);
14277
14265
  }
14278
- function up113(db) {
14266
+ function up114(db) {
14279
14267
  db.exec(`
14280
14268
  CREATE TABLE IF NOT EXISTS telemetry_install (
14281
14269
  id TEXT PRIMARY KEY,
@@ -14283,7 +14271,7 @@ function up113(db) {
14283
14271
  );
14284
14272
  `);
14285
14273
  }
14286
- function up114(db) {
14274
+ function up115(db) {
14287
14275
  db.exec(`
14288
14276
  CREATE INDEX IF NOT EXISTS idx_memory_entity_mentions_entity_memory
14289
14277
  ON memory_entity_mentions(entity_id, memory_id);
@@ -14294,7 +14282,7 @@ function hasColumn19(db, table, column) {
14294
14282
  return rows.some((row) => row.name === column);
14295
14283
  }
14296
14284
  var COLUMNS2 = ["first_remember_at", "first_recall_at"];
14297
- function up115(db) {
14285
+ function up116(db) {
14298
14286
  for (const column of COLUMNS2) {
14299
14287
  if (!hasColumn19(db, "telemetry_install", column)) {
14300
14288
  db.exec(`ALTER TABLE telemetry_install ADD COLUMN ${column} TEXT`);
@@ -14310,7 +14298,7 @@ function addColumnIfMissing24(db, column, definition) {
14310
14298
  db.exec(`ALTER TABLE telemetry_events ADD COLUMN ${column} ${definition}`);
14311
14299
  }
14312
14300
  }
14313
- function up116(db) {
14301
+ function up117(db) {
14314
14302
  addColumnIfMissing24(db, "source", "TEXT NOT NULL DEFAULT 'daemon'");
14315
14303
  addColumnIfMissing24(db, "claim_token", "TEXT");
14316
14304
  addColumnIfMissing24(db, "claimed_at", "TEXT");
@@ -14319,7 +14307,7 @@ function up116(db) {
14319
14307
  ON telemetry_events(source, sent_to_posthog, claimed_at, timestamp);
14320
14308
  `);
14321
14309
  }
14322
- function up117(db) {
14310
+ function up118(db) {
14323
14311
  db.exec(`
14324
14312
  CREATE TABLE IF NOT EXISTS session_claims (
14325
14313
  session_key TEXT NOT NULL,
@@ -14340,7 +14328,7 @@ function up117(db) {
14340
14328
  ON session_claims(agent_id, state, expires_at);
14341
14329
  `);
14342
14330
  }
14343
- function up118(db) {
14331
+ function up119(db) {
14344
14332
  const table = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'entity_attributes'").get();
14345
14333
  if (table == null)
14346
14334
  return;
@@ -14349,7 +14337,7 @@ function up118(db) {
14349
14337
  ON entity_attributes(memory_id, agent_id, status, importance);
14350
14338
  `);
14351
14339
  }
14352
- function up119(db) {
14340
+ function up120(db) {
14353
14341
  db.exec(`
14354
14342
  CREATE TABLE IF NOT EXISTS cross_agent_messages (
14355
14343
  id TEXT PRIMARY KEY,
@@ -14406,7 +14394,7 @@ function addColumnIfMissing25(db, column, definition) {
14406
14394
  db.exec(`ALTER TABLE cross_agent_messages ADD COLUMN ${column} ${definition}`);
14407
14395
  }
14408
14396
  }
14409
- function up120(db) {
14397
+ function up121(db) {
14410
14398
  const table = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'cross_agent_messages'").get();
14411
14399
  if (table == null)
14412
14400
  return;
@@ -14607,7 +14595,7 @@ function backfillTranscriptsFromSummaryJobs(db) {
14607
14595
  insert.run(...values);
14608
14596
  }
14609
14597
  }
14610
- function up121(db) {
14598
+ function up122(db) {
14611
14599
  if (!hasTable4(db, "session_transcripts"))
14612
14600
  return;
14613
14601
  addColumnIfMissing26(db, "session_transcripts", "completed_at", "TEXT");
@@ -14660,7 +14648,7 @@ function up121(db) {
14660
14648
  ON session_transcripts(agent_id, content_hash);
14661
14649
  `);
14662
14650
  }
14663
- function up122(db) {
14651
+ function up123(db) {
14664
14652
  db.exec(`
14665
14653
  CREATE INDEX IF NOT EXISTS idx_memory_jobs_pressure_status
14666
14654
  ON memory_jobs(status)
@@ -14679,12 +14667,12 @@ function up122(db) {
14679
14667
  function hasColumn22(db, table, column) {
14680
14668
  return db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === column);
14681
14669
  }
14682
- function up123(db) {
14670
+ function up124(db) {
14683
14671
  if (!hasColumn22(db, "telemetry_install", "last_seen_version")) {
14684
14672
  db.exec("ALTER TABLE telemetry_install ADD COLUMN last_seen_version TEXT");
14685
14673
  }
14686
14674
  }
14687
- function up124(db) {
14675
+ function up125(db) {
14688
14676
  db.exec(`
14689
14677
  CREATE TABLE IF NOT EXISTS source_lifecycle_state (
14690
14678
  agent_id TEXT NOT NULL,
@@ -14713,7 +14701,7 @@ function addColumnIfMissing27(db, column, definition) {
14713
14701
  db.exec(`ALTER TABLE telemetry_events ADD COLUMN ${column} ${definition}`);
14714
14702
  }
14715
14703
  }
14716
- function up125(db) {
14704
+ function up126(db) {
14717
14705
  addColumnIfMissing27(db, "delivery_attempts", "INTEGER NOT NULL DEFAULT 0");
14718
14706
  addColumnIfMissing27(db, "last_attempt_at", "TEXT");
14719
14707
  addColumnIfMissing27(db, "sent_at", "TEXT");
@@ -14734,7 +14722,7 @@ function up125(db) {
14734
14722
  VALUES (1, CURRENT_TIMESTAMP);
14735
14723
  `);
14736
14724
  }
14737
- function up126(db) {
14725
+ function up127(db) {
14738
14726
  const columns = db.prepare("PRAGMA table_info(dreaming_evidence_exclusions)").all();
14739
14727
  const names = new Set(columns.map((column) => column.name));
14740
14728
  if (!names.has("failure_class")) {
@@ -14751,7 +14739,7 @@ function up126(db) {
14751
14739
  }
14752
14740
  db.exec("CREATE INDEX IF NOT EXISTS idx_dreaming_evidence_exclusions_retry ON dreaming_evidence_exclusions (resolved_at, requeue_requested_at, failure_class, retry_count, last_requeued_at)");
14753
14741
  }
14754
- function up127(db) {
14742
+ function up128(db) {
14755
14743
  db.exec(`
14756
14744
  CREATE TABLE IF NOT EXISTS embedding_index_failures (
14757
14745
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -14775,7 +14763,7 @@ function up127(db) {
14775
14763
  ON embedding_index_failures(source_type, source_id);
14776
14764
  `);
14777
14765
  }
14778
- function up128(db) {
14766
+ function up129(db) {
14779
14767
  db.exec(`
14780
14768
  CREATE TABLE IF NOT EXISTS imported_source_lifecycle (
14781
14769
  id TEXT PRIMARY KEY,
@@ -14825,7 +14813,7 @@ function backfillTable(db, params) {
14825
14813
  FROM ${params.table}${params.where ? ` WHERE ${params.where}` : ""}`).all();
14826
14814
  backfill(db, rows, params.sourceKind, params.scannedAt);
14827
14815
  }
14828
- function up129(db) {
14816
+ function up130(db) {
14829
14817
  db.exec(`
14830
14818
  CREATE TABLE IF NOT EXISTS memory_content_safety (
14831
14819
  agent_id TEXT NOT NULL,
@@ -14882,7 +14870,7 @@ function up129(db) {
14882
14870
  scannedAt
14883
14871
  });
14884
14872
  }
14885
- function up130(db) {
14873
+ function up131(db) {
14886
14874
  const table = db.prepare("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = 'dreaming_attention'").get();
14887
14875
  if (!table)
14888
14876
  return;
@@ -14916,7 +14904,7 @@ function up130(db) {
14916
14904
  ON dreaming_attention (agent_id, resolved_at, priority DESC, created_at ASC);
14917
14905
  `);
14918
14906
  }
14919
- function up131(db) {
14907
+ function up132(db) {
14920
14908
  db.exec(`
14921
14909
  CREATE TABLE IF NOT EXISTS ontology_contradictions (
14922
14910
  id TEXT PRIMARY KEY,
@@ -14972,7 +14960,7 @@ function up131(db) {
14972
14960
  ON ontology_contradictions(agent_id, left_source_id, right_source_id);
14973
14961
  `);
14974
14962
  }
14975
- function up132(db) {
14963
+ function up133(db) {
14976
14964
  db.exec(`
14977
14965
  CREATE INDEX IF NOT EXISTS idx_memory_jobs_diagnostics_status_created_at
14978
14966
  ON memory_jobs(status, created_at)
@@ -14987,7 +14975,7 @@ function up132(db) {
14987
14975
  function tableExists3(db, table) {
14988
14976
  return db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(table) != null;
14989
14977
  }
14990
- function up133(db) {
14978
+ function up134(db) {
14991
14979
  if (!tableExists3(db, "memory_jobs"))
14992
14980
  return;
14993
14981
  if (!tableExists3(db, "job_cancellations")) {
@@ -15036,7 +15024,7 @@ function up133(db) {
15036
15024
  AND status IN ('pending', 'leased');
15037
15025
  `);
15038
15026
  }
15039
- function up134(db) {
15027
+ function up135(db) {
15040
15028
  db.exec(`
15041
15029
  CREATE TABLE IF NOT EXISTS embedding_repair_budget (
15042
15030
  id INTEGER PRIMARY KEY CHECK (id = 1),
@@ -15076,7 +15064,7 @@ function up134(db) {
15076
15064
  END;
15077
15065
  `);
15078
15066
  }
15079
- function up135(db) {
15067
+ function up136(db) {
15080
15068
  db.exec(`
15081
15069
  CREATE TABLE IF NOT EXISTS dreaming_evidence_consumption (
15082
15070
  agent_id TEXT NOT NULL,
@@ -15099,13 +15087,13 @@ function up135(db) {
15099
15087
  ON dreaming_evidence_consumption(agent_id, pass_id, delivered_offset, source_length);
15100
15088
  `);
15101
15089
  }
15102
- function up136(db) {
15090
+ function up137(db) {
15103
15091
  db.exec(`
15104
15092
  CREATE INDEX IF NOT EXISTS idx_epistemic_assertions_observer_entity
15105
15093
  ON epistemic_assertions(agent_id, subject_entity_id, status, asserted_at DESC, created_at DESC);
15106
15094
  `);
15107
15095
  }
15108
- function up137(db) {
15096
+ function up138(db) {
15109
15097
  db.exec(`
15110
15098
  CREATE TABLE IF NOT EXISTS memory_head_revisions (
15111
15099
  id TEXT PRIMARY KEY,
@@ -15157,7 +15145,7 @@ function up137(db) {
15157
15145
  if (!names.has("format_version"))
15158
15146
  db.exec("ALTER TABLE memory_md_heads ADD COLUMN format_version INTEGER NOT NULL DEFAULT 1");
15159
15147
  }
15160
- function up138(db) {
15148
+ function up139(db) {
15161
15149
  db.exec(`
15162
15150
  CREATE TABLE memory_head_entries_v134 (
15163
15151
  entry_id TEXT NOT NULL, agent_id TEXT NOT NULL, canonical_text TEXT NOT NULL,
@@ -15175,7 +15163,7 @@ function up138(db) {
15175
15163
  ON memory_head_entries(agent_id, entry_id, last_revision DESC);
15176
15164
  `);
15177
15165
  }
15178
- function up139(db) {
15166
+ function up140(db) {
15179
15167
  db.exec(`
15180
15168
  CREATE TABLE IF NOT EXISTS memory_head_publications (
15181
15169
  agent_id TEXT NOT NULL,
@@ -15191,7 +15179,7 @@ function up139(db) {
15191
15179
  ON memory_head_publications(agent_id, status, revision DESC);
15192
15180
  `);
15193
15181
  }
15194
- function up140(db) {
15182
+ function up141(db) {
15195
15183
  const cols = new Set(db.prepare("PRAGMA table_info(memory_head_revisions)").all().map((r2) => r2.name));
15196
15184
  for (const [name, type] of [
15197
15185
  ["entry_id", "TEXT"],
@@ -15205,7 +15193,7 @@ function up140(db) {
15205
15193
  }
15206
15194
  db.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_memory_head_revisions_entry ON memory_head_revisions(agent_id, revision, entry_id)");
15207
15195
  }
15208
- function up141(db) {
15196
+ function up142(db) {
15209
15197
  const cols = new Set(db.prepare("PRAGMA table_info(dreaming_passes)").all().map((r2) => r2.name));
15210
15198
  for (const [name, type] of [
15211
15199
  ["head_revision", "INTEGER"],
@@ -15227,7 +15215,7 @@ function addColumnIfMissing28(db, table, column, definition) {
15227
15215
  if (!hasColumn25(db, table, column))
15228
15216
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
15229
15217
  }
15230
- function up142(db) {
15218
+ function up143(db) {
15231
15219
  addColumnIfMissing28(db, "memories", "manual_override", "INTEGER DEFAULT 0");
15232
15220
  db.exec(`
15233
15221
  CREATE TABLE IF NOT EXISTS transcript_capture_status (
@@ -15532,7 +15520,7 @@ function up142(db) {
15532
15520
  GROUP BY j.agent_id;
15533
15521
  `);
15534
15522
  }
15535
- function up143(db) {
15523
+ function up144(db) {
15536
15524
  db.exec(`
15537
15525
  CREATE TABLE IF NOT EXISTS native_source_sync_state (
15538
15526
  agent_id TEXT NOT NULL,
@@ -15548,7 +15536,7 @@ function up143(db) {
15548
15536
  ON native_source_sync_state(agent_id, status);
15549
15537
  `);
15550
15538
  }
15551
- function up144(db) {
15539
+ function up145(db) {
15552
15540
  db.exec(`
15553
15541
  CREATE TABLE IF NOT EXISTS transcript_recovery_frontiers (
15554
15542
  agent_id TEXT NOT NULL,
@@ -15560,7 +15548,7 @@ function up144(db) {
15560
15548
  );
15561
15549
  `);
15562
15550
  }
15563
- function up145(db) {
15551
+ function up146(db) {
15564
15552
  db.exec(`
15565
15553
  CREATE TABLE IF NOT EXISTS source_sync_checkpoints (
15566
15554
  agent_id TEXT NOT NULL,
@@ -15574,13 +15562,13 @@ function up145(db) {
15574
15562
  );
15575
15563
  `);
15576
15564
  }
15577
- function up146(db) {
15565
+ function up147(db) {
15578
15566
  const columns = db.prepare("PRAGMA table_info(source_sync_checkpoints)").all();
15579
15567
  if (!columns.some((column) => column.name === "frontier")) {
15580
15568
  db.exec("ALTER TABLE source_sync_checkpoints ADD COLUMN frontier TEXT");
15581
15569
  }
15582
15570
  }
15583
- function up147(db) {
15571
+ function up148(db) {
15584
15572
  const columns = new Set(db.prepare("PRAGMA table_info(embedding_index_state)").all().map((row) => row.name).filter((name) => typeof name === "string"));
15585
15573
  const additions = [
15586
15574
  ["migration_phase", "TEXT"],
@@ -15615,13 +15603,13 @@ function up147(db) {
15615
15603
  `);
15616
15604
  }
15617
15605
  }
15618
- function up148(db) {
15606
+ function up149(db) {
15619
15607
  const columns = new Set(db.prepare("PRAGMA table_info(memory_jobs)").all().map((row) => row.name).filter((name) => typeof name === "string"));
15620
15608
  if (!columns.has("lease_token")) {
15621
15609
  db.exec("ALTER TABLE memory_jobs ADD COLUMN lease_token TEXT");
15622
15610
  }
15623
15611
  }
15624
- function up149(db) {
15612
+ function up150(db) {
15625
15613
  db.exec(`
15626
15614
  CREATE TABLE IF NOT EXISTS dreaming_evidence_reviews (
15627
15615
  agent_id TEXT NOT NULL,
@@ -15639,7 +15627,7 @@ function up149(db) {
15639
15627
  ON dreaming_evidence_reviews (agent_id, reviewed_at DESC);
15640
15628
  `);
15641
15629
  }
15642
- function up150(db) {
15630
+ function up151(db) {
15643
15631
  db.exec(`
15644
15632
  CREATE TABLE IF NOT EXISTS source_import_jobs (
15645
15633
  id TEXT PRIMARY KEY, kind TEXT NOT NULL CHECK (kind = 'import'), agent_id TEXT NOT NULL,
@@ -15706,16 +15694,16 @@ function up150(db) {
15706
15694
  }
15707
15695
  db.exec("CREATE INDEX IF NOT EXISTS idx_session_transcripts_agent_source ON session_transcripts(agent_id, source_id)");
15708
15696
  }
15709
- function up151(db) {
15697
+ function up152(db) {
15710
15698
  db.exec("CREATE INDEX IF NOT EXISTS idx_source_import_files_job_state ON source_import_files(job_id, state)");
15711
15699
  }
15712
- function up152(db) {
15700
+ function up153(db) {
15713
15701
  const columns = db.prepare("PRAGMA table_info(source_import_record_attempts)").all();
15714
15702
  if (!columns.some((column) => column.name === "source_id")) {
15715
15703
  db.exec("ALTER TABLE source_import_record_attempts ADD COLUMN source_id TEXT");
15716
15704
  }
15717
15705
  }
15718
- function up153(db) {
15706
+ function up154(db) {
15719
15707
  const addColumn = (table, column, definition) => {
15720
15708
  const statement = db.prepare("SELECT 1 AS found FROM pragma_table_info(?) WHERE name = ?");
15721
15709
  let exists;
@@ -15736,7 +15724,7 @@ function addColumnIfMissing29(db, table, column, definition) {
15736
15724
  if (!columns.some((row) => row.name === column))
15737
15725
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
15738
15726
  }
15739
- function up154(db) {
15727
+ function up155(db) {
15740
15728
  addColumnIfMissing29(db, "memory_md_heads", "is_current", "INTEGER NOT NULL DEFAULT 0");
15741
15729
  addColumnIfMissing29(db, "dreaming_passes", "head_base_revision", "INTEGER");
15742
15730
  db.exec("CREATE INDEX IF NOT EXISTS idx_memory_head_revisions_content_hash ON memory_head_revisions(content_hash)");
@@ -15886,7 +15874,7 @@ function up154(db) {
15886
15874
  `);
15887
15875
  }
15888
15876
  }
15889
- function up155(db) {
15877
+ function up156(db) {
15890
15878
  db.exec(`
15891
15879
  CREATE TABLE IF NOT EXISTS vector_repair_checkpoints (
15892
15880
  operation TEXT NOT NULL CHECK (operation IN ('resync', 'clean-orphans')),
@@ -15911,7 +15899,7 @@ function up155(db) {
15911
15899
  ON vector_repair_checkpoints(status, updated_at);
15912
15900
  `);
15913
15901
  }
15914
- function up156(db) {
15902
+ function up157(db) {
15915
15903
  db.exec(`
15916
15904
  CREATE TABLE IF NOT EXISTS embedding_repair_checkpoints (
15917
15905
  checkpoint_id TEXT PRIMARY KEY,
@@ -15932,7 +15920,7 @@ function up156(db) {
15932
15920
  ON embedding_repair_checkpoints(status, updated_at);
15933
15921
  `);
15934
15922
  }
15935
- function up157(db) {
15923
+ function up158(db) {
15936
15924
  const columns = new Set(db.prepare("PRAGMA table_info(embedding_repair_checkpoints)").all().map((row) => row.name));
15937
15925
  if (!columns.has("profile_fingerprint")) {
15938
15926
  db.exec("ALTER TABLE embedding_repair_checkpoints ADD COLUMN profile_fingerprint TEXT");
@@ -15947,23 +15935,119 @@ function up157(db) {
15947
15935
  );
15948
15936
  `);
15949
15937
  }
15950
- function up158(db) {
15938
+ function up159(db) {
15951
15939
  db.exec(`
15952
15940
  CREATE INDEX IF NOT EXISTS idx_memories_agent_kind
15953
15941
  ON memories(agent_id, memory_kind);
15954
15942
  `);
15955
15943
  }
15944
+ var ledgerColumns = [
15945
+ "key",
15946
+ "agent_id",
15947
+ "workspace_id",
15948
+ "file_name",
15949
+ "status",
15950
+ "original_path",
15951
+ "sha256",
15952
+ "size_bytes",
15953
+ "request_fingerprint",
15954
+ "source_id",
15955
+ "lease_token",
15956
+ "lease_expires_at",
15957
+ "attempt_count",
15958
+ "error",
15959
+ "created_at",
15960
+ "updated_at"
15961
+ ];
15962
+ function columns(db, table) {
15963
+ return new Set(db.prepare(`PRAGMA table_info(${table})`).all().map((row) => String(row.name)));
15964
+ }
15965
+ function addMissingColumns(db, table, definitions) {
15966
+ const present = columns(db, table);
15967
+ for (const definition of definitions) {
15968
+ const name = definition.split(" ", 1)[0];
15969
+ if (!present.has(name))
15970
+ db.exec(`ALTER TABLE ${table} ADD COLUMN ${definition}`);
15971
+ }
15972
+ }
15973
+ function rebuildLedgerWithoutGlobalKeyPrimaryKey(db) {
15974
+ const keyInfo = db.prepare("PRAGMA table_info(import_admission_ledger)").all().find((row) => row.name === "key");
15975
+ if (!keyInfo || Number(keyInfo.pk) === 0)
15976
+ return;
15977
+ const savepoint = "migration_158_rebuild_ledger";
15978
+ db.exec(`SAVEPOINT ${savepoint}`);
15979
+ try {
15980
+ db.exec(`
15981
+ CREATE TABLE import_admission_ledger_v158 (
15982
+ key TEXT NOT NULL, agent_id TEXT NOT NULL DEFAULT '', workspace_id TEXT NOT NULL DEFAULT '',
15983
+ file_name TEXT NOT NULL, status TEXT NOT NULL CHECK (status IN ('pending','processing','imported','duplicate','failed','quarantined','original_unavailable')),
15984
+ original_path TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,
15985
+ request_fingerprint TEXT NOT NULL DEFAULT '', source_id TEXT, lease_token TEXT, lease_expires_at TEXT,
15986
+ attempt_count INTEGER NOT NULL DEFAULT 0, error TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL
15987
+ );
15988
+ INSERT INTO import_admission_ledger_v158 (${ledgerColumns.join(",")})
15989
+ SELECT ${ledgerColumns.join(",")} FROM import_admission_ledger;
15990
+ DROP TABLE import_admission_ledger;
15991
+ ALTER TABLE import_admission_ledger_v158 RENAME TO import_admission_ledger;
15992
+ `);
15993
+ db.exec(`RELEASE ${savepoint}`);
15994
+ } catch (error) {
15995
+ try {
15996
+ db.exec(`ROLLBACK TO SAVEPOINT ${savepoint}`);
15997
+ } finally {
15998
+ try {
15999
+ db.exec(`RELEASE ${savepoint}`);
16000
+ } catch {}
16001
+ }
16002
+ throw error;
16003
+ }
16004
+ }
16005
+ function up160(db) {
16006
+ db.exec(`
16007
+ CREATE TABLE IF NOT EXISTS import_admission_ledger (
16008
+ key TEXT NOT NULL, agent_id TEXT NOT NULL, workspace_id TEXT NOT NULL DEFAULT '', file_name TEXT NOT NULL,
16009
+ status TEXT NOT NULL CHECK (status IN ('pending','processing','imported','duplicate','failed','quarantined','original_unavailable')),
16010
+ original_path TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,
16011
+ request_fingerprint TEXT NOT NULL DEFAULT '', source_id TEXT, lease_token TEXT, lease_expires_at TEXT,
16012
+ attempt_count INTEGER NOT NULL DEFAULT 0, error TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL
16013
+ );
16014
+ CREATE TABLE IF NOT EXISTS import_admission_events (
16015
+ id INTEGER PRIMARY KEY AUTOINCREMENT, admission_key TEXT NOT NULL, agent_id TEXT NOT NULL DEFAULT '',
16016
+ workspace_id TEXT NOT NULL DEFAULT '', event TEXT NOT NULL, created_at TEXT NOT NULL
16017
+ );
16018
+ `);
16019
+ addMissingColumns(db, "import_admission_ledger", [
16020
+ "agent_id TEXT NOT NULL DEFAULT ''",
16021
+ "workspace_id TEXT NOT NULL DEFAULT ''",
16022
+ "request_fingerprint TEXT NOT NULL DEFAULT ''",
16023
+ "source_id TEXT",
16024
+ "lease_token TEXT",
16025
+ "lease_expires_at TEXT",
16026
+ "attempt_count INTEGER NOT NULL DEFAULT 0",
16027
+ "error TEXT"
16028
+ ]);
16029
+ addMissingColumns(db, "import_admission_events", [
16030
+ "agent_id TEXT NOT NULL DEFAULT ''",
16031
+ "workspace_id TEXT NOT NULL DEFAULT ''"
16032
+ ]);
16033
+ rebuildLedgerWithoutGlobalKeyPrimaryKey(db);
16034
+ db.exec(`
16035
+ CREATE UNIQUE INDEX IF NOT EXISTS uq_import_admission_scope_key ON import_admission_ledger(key, agent_id, workspace_id);
16036
+ CREATE INDEX IF NOT EXISTS idx_import_admission_status ON import_admission_ledger(agent_id, workspace_id, status, updated_at);
16037
+ CREATE INDEX IF NOT EXISTS idx_import_admission_events_key ON import_admission_events(admission_key, agent_id, workspace_id, id);
16038
+ `);
16039
+ }
15956
16040
  var MIGRATIONS = [
15957
16041
  {
15958
16042
  version: 1,
15959
16043
  name: "baseline",
15960
- up: up5,
16044
+ up: up6,
15961
16045
  artifacts: { tables: ["memories", "conversations", "embeddings"] }
15962
16046
  },
15963
16047
  {
15964
16048
  version: 2,
15965
16049
  name: "pipeline-v2",
15966
- up: up6,
16050
+ up: up7,
15967
16051
  artifacts: {
15968
16052
  tables: ["memory_history", "memory_jobs", "entities", "relations", "memory_entity_mentions"]
15969
16053
  }
@@ -15971,12 +16055,12 @@ var MIGRATIONS = [
15971
16055
  {
15972
16056
  version: 3,
15973
16057
  name: "unique-content-hash",
15974
- up: up7
16058
+ up: up8
15975
16059
  },
15976
16060
  {
15977
16061
  version: 4,
15978
16062
  name: "history-actor-and-retention",
15979
- up: up8,
16063
+ up: up9,
15980
16064
  artifacts: {
15981
16065
  columns: [{ table: "memory_history", column: "actor_type" }]
15982
16066
  }
@@ -15984,7 +16068,7 @@ var MIGRATIONS = [
15984
16068
  {
15985
16069
  version: 5,
15986
16070
  name: "graph-extended",
15987
- up: up9,
16071
+ up: up10,
15988
16072
  artifacts: {
15989
16073
  columns: [{ table: "entities", column: "canonical_name" }]
15990
16074
  }
@@ -15992,7 +16076,7 @@ var MIGRATIONS = [
15992
16076
  {
15993
16077
  version: 6,
15994
16078
  name: "idempotency-key",
15995
- up: up10,
16079
+ up: up11,
15996
16080
  artifacts: {
15997
16081
  columns: [{ table: "memories", column: "idempotency_key" }]
15998
16082
  }
@@ -16000,42 +16084,42 @@ var MIGRATIONS = [
16000
16084
  {
16001
16085
  version: 7,
16002
16086
  name: "documents-and-connectors",
16003
- up: up11,
16087
+ up: up12,
16004
16088
  artifacts: { tables: ["documents", "document_memories", "connectors"] }
16005
16089
  },
16006
16090
  {
16007
16091
  version: 8,
16008
16092
  name: "embeddings-unique-hash",
16009
- up: up12
16093
+ up: up13
16010
16094
  },
16011
16095
  {
16012
16096
  version: 9,
16013
16097
  name: "summary-jobs",
16014
- up: up13,
16098
+ up: up14,
16015
16099
  artifacts: { tables: ["summary_jobs"] }
16016
16100
  },
16017
16101
  {
16018
16102
  version: 10,
16019
16103
  name: "umap-cache",
16020
- up: up14,
16104
+ up: up15,
16021
16105
  artifacts: { tables: ["umap_cache"] }
16022
16106
  },
16023
16107
  {
16024
16108
  version: 11,
16025
16109
  name: "session-scores",
16026
- up: up15,
16110
+ up: up16,
16027
16111
  artifacts: { tables: ["session_scores"] }
16028
16112
  },
16029
16113
  {
16030
16114
  version: 12,
16031
16115
  name: "scheduled-tasks",
16032
- up: up16,
16116
+ up: up17,
16033
16117
  artifacts: { tables: ["scheduled_tasks", "task_runs"] }
16034
16118
  },
16035
16119
  {
16036
16120
  version: 13,
16037
16121
  name: "ingestion-tracking",
16038
- up: up17,
16122
+ up: up18,
16039
16123
  artifacts: {
16040
16124
  columns: [
16041
16125
  { table: "memories", column: "source_path" },
@@ -16046,13 +16130,13 @@ var MIGRATIONS = [
16046
16130
  {
16047
16131
  version: 14,
16048
16132
  name: "telemetry",
16049
- up: up18,
16133
+ up: up19,
16050
16134
  artifacts: { tables: ["telemetry_events"] }
16051
16135
  },
16052
16136
  {
16053
16137
  version: 15,
16054
16138
  name: "session-memories",
16055
- up: up19,
16139
+ up: up20,
16056
16140
  artifacts: {
16057
16141
  tables: ["session_memories"],
16058
16142
  columns: [
@@ -16064,13 +16148,13 @@ var MIGRATIONS = [
16064
16148
  {
16065
16149
  version: 16,
16066
16150
  name: "session-checkpoints",
16067
- up: up20,
16151
+ up: up21,
16068
16152
  artifacts: { tables: ["session_checkpoints"] }
16069
16153
  },
16070
16154
  {
16071
16155
  version: 17,
16072
16156
  name: "task-skills",
16073
- up: up21,
16157
+ up: up22,
16074
16158
  artifacts: {
16075
16159
  columns: [{ table: "scheduled_tasks", column: "skill_name" }]
16076
16160
  }
@@ -16078,13 +16162,13 @@ var MIGRATIONS = [
16078
16162
  {
16079
16163
  version: 18,
16080
16164
  name: "skill-meta",
16081
- up: up22,
16165
+ up: up23,
16082
16166
  artifacts: { tables: ["skill_meta"] }
16083
16167
  },
16084
16168
  {
16085
16169
  version: 19,
16086
16170
  name: "knowledge-structure",
16087
- up: up23,
16171
+ up: up24,
16088
16172
  artifacts: {
16089
16173
  tables: ["entity_aspects", "entity_attributes", "entity_dependencies", "task_meta"],
16090
16174
  columns: [{ table: "entities", column: "agent_id" }]
@@ -16093,7 +16177,7 @@ var MIGRATIONS = [
16093
16177
  {
16094
16178
  version: 20,
16095
16179
  name: "session-structural-columns",
16096
- up: up24,
16180
+ up: up25,
16097
16181
  artifacts: {
16098
16182
  columns: [
16099
16183
  { table: "session_memories", column: "entity_slot" },
@@ -16106,7 +16190,7 @@ var MIGRATIONS = [
16106
16190
  {
16107
16191
  version: 21,
16108
16192
  name: "checkpoint-structural",
16109
- up: up25,
16193
+ up: up26,
16110
16194
  artifacts: {
16111
16195
  columns: [{ table: "session_checkpoints", column: "focal_entity_ids" }]
16112
16196
  }
@@ -16114,7 +16198,7 @@ var MIGRATIONS = [
16114
16198
  {
16115
16199
  version: 22,
16116
16200
  name: "entity-pinning",
16117
- up: up26,
16201
+ up: up27,
16118
16202
  artifacts: {
16119
16203
  columns: [
16120
16204
  { table: "entities", column: "pinned" },
@@ -16125,17 +16209,17 @@ var MIGRATIONS = [
16125
16209
  {
16126
16210
  version: 23,
16127
16211
  name: "retired-scorer-gap",
16128
- up: up27
16212
+ up: up28
16129
16213
  },
16130
16214
  {
16131
16215
  version: 24,
16132
16216
  name: "retired-scorer-gap",
16133
- up: up28
16217
+ up: up29
16134
16218
  },
16135
16219
  {
16136
16220
  version: 25,
16137
16221
  name: "agent-feedback",
16138
- up: up29,
16222
+ up: up30,
16139
16223
  artifacts: {
16140
16224
  columns: [{ table: "session_memories", column: "agent_relevance_score" }]
16141
16225
  }
@@ -16143,32 +16227,32 @@ var MIGRATIONS = [
16143
16227
  {
16144
16228
  version: 26,
16145
16229
  name: "retired-scorer-gap",
16146
- up: up30
16230
+ up: up31
16147
16231
  },
16148
16232
  {
16149
16233
  version: 27,
16150
16234
  name: "backfill-canonical-names",
16151
- up: up31
16235
+ up: up32
16152
16236
  },
16153
16237
  {
16154
16238
  version: 28,
16155
16239
  name: "lossless-retention",
16156
- up: up32
16240
+ up: up33
16157
16241
  },
16158
16242
  {
16159
16243
  version: 29,
16160
16244
  name: "session-summary-dag",
16161
- up: up33
16245
+ up: up34
16162
16246
  },
16163
16247
  {
16164
16248
  version: 30,
16165
16249
  name: "nullable-memory-job-memory-id",
16166
- up: up34
16250
+ up: up35
16167
16251
  },
16168
16252
  {
16169
16253
  version: 31,
16170
16254
  name: "dependency-reason",
16171
- up: up35,
16255
+ up: up36,
16172
16256
  artifacts: {
16173
16257
  columns: [
16174
16258
  { table: "entity_dependencies", column: "reason" },
@@ -16179,7 +16263,7 @@ var MIGRATIONS = [
16179
16263
  {
16180
16264
  version: 32,
16181
16265
  name: "embeddings-vector-column",
16182
- up: up36,
16266
+ up: up37,
16183
16267
  artifacts: {
16184
16268
  columns: [{ table: "embeddings", column: "vector", optional: true }]
16185
16269
  }
@@ -16187,7 +16271,7 @@ var MIGRATIONS = [
16187
16271
  {
16188
16272
  version: 33,
16189
16273
  name: "scope",
16190
- up: up37,
16274
+ up: up38,
16191
16275
  artifacts: {
16192
16276
  columns: [{ table: "memories", column: "scope" }]
16193
16277
  }
@@ -16195,17 +16279,17 @@ var MIGRATIONS = [
16195
16279
  {
16196
16280
  version: 34,
16197
16281
  name: "scope-aware-dedup",
16198
- up: up38
16282
+ up: up39
16199
16283
  },
16200
16284
  {
16201
16285
  version: 35,
16202
16286
  name: "entity-fts",
16203
- up: up39
16287
+ up: up40
16204
16288
  },
16205
16289
  {
16206
16290
  version: 36,
16207
16291
  name: "dependency-confidence",
16208
- up: up40,
16292
+ up: up41,
16209
16293
  artifacts: {
16210
16294
  columns: [{ table: "entity_dependencies", column: "confidence" }]
16211
16295
  }
@@ -16213,7 +16297,7 @@ var MIGRATIONS = [
16213
16297
  {
16214
16298
  version: 37,
16215
16299
  name: "entity-communities",
16216
- up: up41,
16300
+ up: up42,
16217
16301
  artifacts: {
16218
16302
  tables: ["entity_communities"],
16219
16303
  columns: [{ table: "entities", column: "community_id" }]
@@ -16222,24 +16306,24 @@ var MIGRATIONS = [
16222
16306
  {
16223
16307
  version: 38,
16224
16308
  name: "memory-hints",
16225
- up: up42,
16309
+ up: up43,
16226
16310
  artifacts: { tables: ["memory_hints"] }
16227
16311
  },
16228
16312
  {
16229
16313
  version: 39,
16230
16314
  name: "dedup-entity-dependencies",
16231
- up: up43
16315
+ up: up44
16232
16316
  },
16233
16317
  {
16234
16318
  version: 40,
16235
16319
  name: "session-transcripts",
16236
- up: up44,
16320
+ up: up45,
16237
16321
  artifacts: { tables: ["session_transcripts"] }
16238
16322
  },
16239
16323
  {
16240
16324
  version: 41,
16241
16325
  name: "path-feedback",
16242
- up: up45,
16326
+ up: up46,
16243
16327
  artifacts: {
16244
16328
  tables: [
16245
16329
  "path_feedback_events",
@@ -16254,7 +16338,7 @@ var MIGRATIONS = [
16254
16338
  {
16255
16339
  version: 42,
16256
16340
  name: "session-memories-agent-id",
16257
- up: up46,
16341
+ up: up47,
16258
16342
  artifacts: {
16259
16343
  columns: [{ table: "session_memories", column: "agent_id" }]
16260
16344
  }
@@ -16262,7 +16346,7 @@ var MIGRATIONS = [
16262
16346
  {
16263
16347
  version: 43,
16264
16348
  name: "agents-table",
16265
- up: up47,
16349
+ up: up48,
16266
16350
  artifacts: {
16267
16351
  tables: ["agents"],
16268
16352
  columns: [
@@ -16274,7 +16358,7 @@ var MIGRATIONS = [
16274
16358
  {
16275
16359
  version: 44,
16276
16360
  name: "memory-md-temporal-head",
16277
- up: up48,
16361
+ up: up49,
16278
16362
  artifacts: {
16279
16363
  columns: [
16280
16364
  { table: "session_summaries", column: "source_type" },
@@ -16286,7 +16370,7 @@ var MIGRATIONS = [
16286
16370
  {
16287
16371
  version: 45,
16288
16372
  name: "lossless-working-memory-hardening",
16289
- up: up49,
16373
+ up: up50,
16290
16374
  artifacts: {
16291
16375
  tables: ["session_transcripts_fts", "memory_md_heads"],
16292
16376
  columns: [
@@ -16299,17 +16383,17 @@ var MIGRATIONS = [
16299
16383
  {
16300
16384
  version: 46,
16301
16385
  name: "session-summary-uniqueness",
16302
- up: up50
16386
+ up: up51
16303
16387
  },
16304
16388
  {
16305
16389
  version: 47,
16306
16390
  name: "agent-scoped-temporal-uniqueness",
16307
- up: up51
16391
+ up: up52
16308
16392
  },
16309
16393
  {
16310
16394
  version: 48,
16311
16395
  name: "thread-heads",
16312
- up: up52,
16396
+ up: up53,
16313
16397
  artifacts: {
16314
16398
  tables: ["memory_thread_heads"]
16315
16399
  }
@@ -16317,7 +16401,7 @@ var MIGRATIONS = [
16317
16401
  {
16318
16402
  version: 49,
16319
16403
  name: "session-extract-cursors",
16320
- up: up53,
16404
+ up: up54,
16321
16405
  artifacts: {
16322
16406
  tables: ["session_extract_cursors"]
16323
16407
  }
@@ -16325,7 +16409,7 @@ var MIGRATIONS = [
16325
16409
  {
16326
16410
  version: 50,
16327
16411
  name: "related-to-audit",
16328
- up: up54,
16412
+ up: up55,
16329
16413
  artifacts: {
16330
16414
  tables: ["entity_dependency_history"]
16331
16415
  }
@@ -16333,7 +16417,7 @@ var MIGRATIONS = [
16333
16417
  {
16334
16418
  version: 51,
16335
16419
  name: "memory-md-rolling-window-lineage",
16336
- up: up55,
16420
+ up: up56,
16337
16421
  artifacts: {
16338
16422
  tables: ["memory_artifacts", "memory_artifact_tombstones", "memory_artifacts_fts"],
16339
16423
  columns: [
@@ -16348,15 +16432,12 @@ var MIGRATIONS = [
16348
16432
  {
16349
16433
  version: 52,
16350
16434
  name: "mcp-invocations",
16351
- up: up56,
16352
- artifacts: {
16353
- tables: ["mcp_invocations"]
16354
- }
16435
+ up: up57
16355
16436
  },
16356
16437
  {
16357
16438
  version: 53,
16358
16439
  name: "skill-invocations",
16359
- up: up57,
16440
+ up: up58,
16360
16441
  artifacts: {
16361
16442
  tables: ["skill_invocations"]
16362
16443
  }
@@ -16364,7 +16445,7 @@ var MIGRATIONS = [
16364
16445
  {
16365
16446
  version: 54,
16366
16447
  name: "task-agent-scope",
16367
- up: up58,
16448
+ up: up59,
16368
16449
  artifacts: {
16369
16450
  tables: ["task_scope_hints"]
16370
16451
  }
@@ -16372,7 +16453,7 @@ var MIGRATIONS = [
16372
16453
  {
16373
16454
  version: 55,
16374
16455
  name: "dreaming-state",
16375
- up: up59,
16456
+ up: up60,
16376
16457
  artifacts: {
16377
16458
  tables: ["dreaming_state", "dreaming_passes"]
16378
16459
  }
@@ -16380,22 +16461,22 @@ var MIGRATIONS = [
16380
16461
  {
16381
16462
  version: 56,
16382
16463
  name: "agent-scoped-content-hash",
16383
- up: up60
16464
+ up: up61
16384
16465
  },
16385
16466
  {
16386
16467
  version: 57,
16387
16468
  name: "memories-fts-tokenizer-repair",
16388
- up: up61
16469
+ up: up62
16389
16470
  },
16390
16471
  {
16391
16472
  version: 58,
16392
16473
  name: "knowledge-graph-indices",
16393
- up: up62
16474
+ up: up63
16394
16475
  },
16395
16476
  {
16396
16477
  version: 59,
16397
16478
  name: "entity-attribute-claim-key",
16398
- up: up63,
16479
+ up: up64,
16399
16480
  artifacts: {
16400
16481
  columns: [{ table: "entity_attributes", column: "claim_key" }]
16401
16482
  }
@@ -16403,7 +16484,7 @@ var MIGRATIONS = [
16403
16484
  {
16404
16485
  version: 60,
16405
16486
  name: "entity-attribute-group-key",
16406
- up: up64,
16487
+ up: up65,
16407
16488
  artifacts: {
16408
16489
  columns: [{ table: "entity_attributes", column: "group_key" }]
16409
16490
  }
@@ -16411,7 +16492,7 @@ var MIGRATIONS = [
16411
16492
  {
16412
16493
  version: 61,
16413
16494
  name: "memory-artifact-source-mtime",
16414
- up: up65,
16495
+ up: up66,
16415
16496
  artifacts: {
16416
16497
  columns: [{ table: "memory_artifacts", column: "source_mtime_ms" }]
16417
16498
  }
@@ -16419,7 +16500,7 @@ var MIGRATIONS = [
16419
16500
  {
16420
16501
  version: 62,
16421
16502
  name: "memory-artifact-soft-delete",
16422
- up: up66,
16503
+ up: up67,
16423
16504
  artifacts: {
16424
16505
  columns: [
16425
16506
  { table: "memory_artifacts", column: "is_deleted" },
@@ -16430,12 +16511,12 @@ var MIGRATIONS = [
16430
16511
  {
16431
16512
  version: 63,
16432
16513
  name: "content-only-memories-fts-update",
16433
- up: up67
16514
+ up: up68
16434
16515
  },
16435
16516
  {
16436
16517
  version: 64,
16437
16518
  name: "source-graph-provenance",
16438
- up: up68,
16519
+ up: up69,
16439
16520
  artifacts: {
16440
16521
  columns: [
16441
16522
  { table: "entities", column: "source_path" },
@@ -16448,7 +16529,7 @@ var MIGRATIONS = [
16448
16529
  {
16449
16530
  version: 65,
16450
16531
  name: "source-embedding-agent-scope",
16451
- up: up69,
16532
+ up: up70,
16452
16533
  artifacts: {
16453
16534
  columns: [{ table: "embeddings", column: "agent_id", optional: true }]
16454
16535
  }
@@ -16456,7 +16537,7 @@ var MIGRATIONS = [
16456
16537
  {
16457
16538
  version: 66,
16458
16539
  name: "memory-search-telemetry",
16459
- up: up70,
16540
+ up: up71,
16460
16541
  artifacts: {
16461
16542
  tables: ["memory_search_telemetry"]
16462
16543
  }
@@ -16464,7 +16545,7 @@ var MIGRATIONS = [
16464
16545
  {
16465
16546
  version: 67,
16466
16547
  name: "ontology-proposals",
16467
- up: up71,
16548
+ up: up72,
16468
16549
  artifacts: {
16469
16550
  tables: ["ontology_proposals"],
16470
16551
  columns: [
@@ -16478,7 +16559,7 @@ var MIGRATIONS = [
16478
16559
  {
16479
16560
  version: 68,
16480
16561
  name: "daily-reflections",
16481
- up: up72,
16562
+ up: up73,
16482
16563
  artifacts: {
16483
16564
  tables: ["daily_reflections"]
16484
16565
  }
@@ -16486,7 +16567,7 @@ var MIGRATIONS = [
16486
16567
  {
16487
16568
  version: 69,
16488
16569
  name: "daily-reflections-multiple-insights",
16489
- up: up73,
16570
+ up: up74,
16490
16571
  artifacts: {
16491
16572
  tables: ["daily_reflections"]
16492
16573
  }
@@ -16494,7 +16575,7 @@ var MIGRATIONS = [
16494
16575
  {
16495
16576
  version: 70,
16496
16577
  name: "ontology-control-plane-state",
16497
- up: up74,
16578
+ up: up75,
16498
16579
  artifacts: {
16499
16580
  columns: [
16500
16581
  { table: "entities", column: "status" },
@@ -16509,7 +16590,7 @@ var MIGRATIONS = [
16509
16590
  {
16510
16591
  version: 71,
16511
16592
  name: "epistemic-assertions",
16512
- up: up75,
16593
+ up: up76,
16513
16594
  artifacts: {
16514
16595
  tables: ["epistemic_assertions"]
16515
16596
  }
@@ -16517,7 +16598,7 @@ var MIGRATIONS = [
16517
16598
  {
16518
16599
  version: 72,
16519
16600
  name: "agent-scoped-idempotency-key",
16520
- up: up76,
16601
+ up: up77,
16521
16602
  artifacts: {
16522
16603
  columns: [
16523
16604
  { table: "memories", column: "idempotency_key" },
@@ -16528,7 +16609,7 @@ var MIGRATIONS = [
16528
16609
  {
16529
16610
  version: 73,
16530
16611
  name: "recall-context-dedupe",
16531
- up: up77,
16612
+ up: up78,
16532
16613
  artifacts: {
16533
16614
  tables: ["session_context_epochs", "session_recall_events"]
16534
16615
  }
@@ -16536,7 +16617,7 @@ var MIGRATIONS = [
16536
16617
  {
16537
16618
  version: 74,
16538
16619
  name: "aggregate-memory-links",
16539
- up: up78,
16620
+ up: up79,
16540
16621
  artifacts: {
16541
16622
  tables: ["aggregate_memory_sources"]
16542
16623
  }
@@ -16544,7 +16625,7 @@ var MIGRATIONS = [
16544
16625
  {
16545
16626
  version: 75,
16546
16627
  name: "memory-artifact-source-provenance",
16547
- up: up79,
16628
+ up: up80,
16548
16629
  artifacts: {
16549
16630
  columns: [
16550
16631
  { table: "memory_artifacts", column: "source_id" },
@@ -16558,7 +16639,7 @@ var MIGRATIONS = [
16558
16639
  {
16559
16640
  version: 76,
16560
16641
  name: "temporal-edges",
16561
- up: up80,
16642
+ up: up81,
16562
16643
  artifacts: {
16563
16644
  tables: ["temporal_edges"]
16564
16645
  }
@@ -16566,7 +16647,7 @@ var MIGRATIONS = [
16566
16647
  {
16567
16648
  version: 77,
16568
16649
  name: "entity-aliases",
16569
- up: up81,
16650
+ up: up82,
16570
16651
  artifacts: {
16571
16652
  tables: ["entity_aliases"]
16572
16653
  }
@@ -16574,7 +16655,7 @@ var MIGRATIONS = [
16574
16655
  {
16575
16656
  version: 78,
16576
16657
  name: "api-keys",
16577
- up: up82,
16658
+ up: up83,
16578
16659
  artifacts: {
16579
16660
  tables: ["api_keys"]
16580
16661
  }
@@ -16582,7 +16663,7 @@ var MIGRATIONS = [
16582
16663
  {
16583
16664
  version: 79,
16584
16665
  name: "transcript-capture-jobs",
16585
- up: up83,
16666
+ up: up84,
16586
16667
  artifacts: {
16587
16668
  tables: ["transcript_capture_jobs"]
16588
16669
  }
@@ -16590,7 +16671,7 @@ var MIGRATIONS = [
16590
16671
  {
16591
16672
  version: 80,
16592
16673
  name: "document-scope-columns",
16593
- up: up84,
16674
+ up: up85,
16594
16675
  artifacts: {
16595
16676
  columns: [
16596
16677
  { table: "documents", column: "agent_id" },
@@ -16601,7 +16682,7 @@ var MIGRATIONS = [
16601
16682
  {
16602
16683
  version: 81,
16603
16684
  name: "aggregate-evidence-sources",
16604
- up: up85,
16685
+ up: up86,
16605
16686
  artifacts: {
16606
16687
  tables: ["aggregate_evidence_sources"]
16607
16688
  }
@@ -16609,7 +16690,7 @@ var MIGRATIONS = [
16609
16690
  {
16610
16691
  version: 82,
16611
16692
  name: "skill-invocations-harness",
16612
- up: up86,
16693
+ up: up87,
16613
16694
  artifacts: {
16614
16695
  columns: [
16615
16696
  { table: "skill_invocations", column: "harness" },
@@ -16620,7 +16701,7 @@ var MIGRATIONS = [
16620
16701
  {
16621
16702
  version: 83,
16622
16703
  name: "memory-lifecycle-repair",
16623
- up: up87,
16704
+ up: up88,
16624
16705
  artifacts: {
16625
16706
  tables: ["transcript_capture_jobs", "aggregate_evidence_sources", "entity_dependencies"],
16626
16707
  columns: [
@@ -16635,7 +16716,7 @@ var MIGRATIONS = [
16635
16716
  {
16636
16717
  version: 84,
16637
16718
  name: "legacy-markdown-import-state",
16638
- up: up88,
16719
+ up: up89,
16639
16720
  artifacts: {
16640
16721
  tables: ["legacy_markdown_imports", "legacy_markdown_chunks"]
16641
16722
  }
@@ -16643,7 +16724,7 @@ var MIGRATIONS = [
16643
16724
  {
16644
16725
  version: 85,
16645
16726
  name: "backfill-relations-to-dependencies",
16646
- up: up89,
16727
+ up: up90,
16647
16728
  artifacts: {
16648
16729
  tables: ["entity_dependencies"]
16649
16730
  }
@@ -16651,7 +16732,7 @@ var MIGRATIONS = [
16651
16732
  {
16652
16733
  version: 86,
16653
16734
  name: "summary-jobs-content-hash",
16654
- up: up90,
16735
+ up: up91,
16655
16736
  artifacts: {
16656
16737
  columns: [{ table: "summary_jobs", column: "content_hash" }]
16657
16738
  }
@@ -16659,7 +16740,7 @@ var MIGRATIONS = [
16659
16740
  {
16660
16741
  version: 87,
16661
16742
  name: "summary-jobs-boundary-reason",
16662
- up: up91,
16743
+ up: up92,
16663
16744
  artifacts: {
16664
16745
  columns: [{ table: "summary_jobs", column: "boundary_reason" }]
16665
16746
  }
@@ -16667,7 +16748,7 @@ var MIGRATIONS = [
16667
16748
  {
16668
16749
  version: 88,
16669
16750
  name: "transcript-recovery-files",
16670
- up: up92,
16751
+ up: up93,
16671
16752
  artifacts: {
16672
16753
  tables: ["transcript_recovery_files"]
16673
16754
  }
@@ -16675,7 +16756,7 @@ var MIGRATIONS = [
16675
16756
  {
16676
16757
  version: 89,
16677
16758
  name: "job-cancellations",
16678
- up: up93,
16759
+ up: up94,
16679
16760
  artifacts: {
16680
16761
  tables: ["job_cancellations"]
16681
16762
  }
@@ -16683,7 +16764,7 @@ var MIGRATIONS = [
16683
16764
  {
16684
16765
  version: 90,
16685
16766
  name: "job-archive",
16686
- up: up94,
16767
+ up: up95,
16687
16768
  artifacts: {
16688
16769
  tables: ["job_archive"]
16689
16770
  }
@@ -16691,25 +16772,25 @@ var MIGRATIONS = [
16691
16772
  {
16692
16773
  version: 91,
16693
16774
  name: "embedding-index-generations",
16694
- up: up95,
16775
+ up: up96,
16695
16776
  artifacts: { tables: ["embedding_index_state"] }
16696
16777
  },
16697
16778
  {
16698
16779
  version: 92,
16699
16780
  name: "embedding-staging-store",
16700
- up: up96,
16781
+ up: up97,
16701
16782
  artifacts: { tables: ["embeddings_staging"] }
16702
16783
  },
16703
16784
  {
16704
16785
  version: 93,
16705
16786
  name: "dreaming-evidence-cursor",
16706
- up: up97,
16787
+ up: up98,
16707
16788
  artifacts: { columns: [{ table: "dreaming_state", column: "evidence_cursor" }] }
16708
16789
  },
16709
16790
  {
16710
16791
  version: 94,
16711
16792
  name: "memory-kind",
16712
- up: up98,
16793
+ up: up99,
16713
16794
  artifacts: {
16714
16795
  columns: [
16715
16796
  { table: "memories", column: "memory_kind" },
@@ -16720,35 +16801,35 @@ var MIGRATIONS = [
16720
16801
  {
16721
16802
  version: 95,
16722
16803
  name: "compaction-recall-projections",
16723
- up: up99
16804
+ up: up100
16724
16805
  },
16725
16806
  {
16726
16807
  version: 96,
16727
16808
  name: "retire-legacy-ingestion",
16728
- up: up100
16809
+ up: up101
16729
16810
  },
16730
16811
  {
16731
16812
  version: 97,
16732
16813
  name: "dreaming-failure-backoff",
16733
- up: up101,
16814
+ up: up102,
16734
16815
  artifacts: { columns: [{ table: "dreaming_state", column: "last_failure_at" }] }
16735
16816
  },
16736
16817
  {
16737
16818
  version: 98,
16738
16819
  name: "dreaming-evidence-exclusions",
16739
- up: up102,
16820
+ up: up103,
16740
16821
  artifacts: { tables: ["dreaming_evidence_exclusions"] }
16741
16822
  },
16742
16823
  {
16743
16824
  version: 99,
16744
16825
  name: "dreaming-tool-calls",
16745
- up: up103,
16826
+ up: up104,
16746
16827
  artifacts: { tables: ["dreaming_tool_calls"] }
16747
16828
  },
16748
16829
  {
16749
16830
  version: 100,
16750
16831
  name: "dreaming-runbook",
16751
- up: up104,
16832
+ up: up105,
16752
16833
  artifacts: {
16753
16834
  columns: [
16754
16835
  { table: "dreaming_passes", column: "evidence_window_json" },
@@ -16759,23 +16840,23 @@ var MIGRATIONS = [
16759
16840
  {
16760
16841
  version: 101,
16761
16842
  name: "dreaming-attention",
16762
- up: up105,
16843
+ up: up106,
16763
16844
  artifacts: { tables: ["dreaming_attention"] }
16764
16845
  },
16765
16846
  {
16766
16847
  version: 102,
16767
16848
  name: "attribute-semantic-memories",
16768
- up: up106
16849
+ up: up107
16769
16850
  },
16770
16851
  {
16771
16852
  version: 103,
16772
16853
  name: "semantic-memory-kind",
16773
- up: up107
16854
+ up: up108
16774
16855
  },
16775
16856
  {
16776
16857
  version: 104,
16777
16858
  name: "derived-memory-provenance",
16778
- up: up108,
16859
+ up: up109,
16779
16860
  artifacts: {
16780
16861
  tables: ["derived_memory_sources"],
16781
16862
  columns: [{ table: "memories", column: "stale_at" }]
@@ -16784,12 +16865,12 @@ var MIGRATIONS = [
16784
16865
  {
16785
16866
  version: 105,
16786
16867
  name: "agent-scoped-entity-name",
16787
- up: up109
16868
+ up: up110
16788
16869
  },
16789
16870
  {
16790
16871
  version: 106,
16791
16872
  name: "memory-review-after",
16792
- up: up110,
16873
+ up: up111,
16793
16874
  artifacts: {
16794
16875
  columns: [{ table: "memories", column: "review_after" }]
16795
16876
  }
@@ -16797,7 +16878,7 @@ var MIGRATIONS = [
16797
16878
  {
16798
16879
  version: 107,
16799
16880
  name: "dreaming-pass-usage",
16800
- up: up111,
16881
+ up: up112,
16801
16882
  artifacts: {
16802
16883
  columns: [
16803
16884
  { table: "dreaming_passes", column: "tokens_input" },
@@ -16811,7 +16892,7 @@ var MIGRATIONS = [
16811
16892
  {
16812
16893
  version: 108,
16813
16894
  name: "embedding-usage",
16814
- up: up112,
16895
+ up: up113,
16815
16896
  artifacts: {
16816
16897
  tables: ["embedding_usage"]
16817
16898
  }
@@ -16819,7 +16900,7 @@ var MIGRATIONS = [
16819
16900
  {
16820
16901
  version: 109,
16821
16902
  name: "telemetry-install",
16822
- up: up113,
16903
+ up: up114,
16823
16904
  artifacts: {
16824
16905
  tables: ["telemetry_install"]
16825
16906
  }
@@ -16827,12 +16908,12 @@ var MIGRATIONS = [
16827
16908
  {
16828
16909
  version: 110,
16829
16910
  name: "memory-mention-join-index",
16830
- up: up114
16911
+ up: up115
16831
16912
  },
16832
16913
  {
16833
16914
  version: 111,
16834
16915
  name: "telemetry-first-use",
16835
- up: up115,
16916
+ up: up116,
16836
16917
  artifacts: {
16837
16918
  columns: [
16838
16919
  { table: "telemetry_install", column: "first_remember_at" },
@@ -16843,7 +16924,7 @@ var MIGRATIONS = [
16843
16924
  {
16844
16925
  version: 112,
16845
16926
  name: "telemetry-queue-ownership",
16846
- up: up116,
16927
+ up: up117,
16847
16928
  artifacts: {
16848
16929
  columns: [
16849
16930
  { table: "telemetry_events", column: "source" },
@@ -16855,7 +16936,7 @@ var MIGRATIONS = [
16855
16936
  {
16856
16937
  version: 113,
16857
16938
  name: "session-claims",
16858
- up: up117,
16939
+ up: up118,
16859
16940
  artifacts: {
16860
16941
  tables: ["session_claims"],
16861
16942
  columns: [
@@ -16869,12 +16950,12 @@ var MIGRATIONS = [
16869
16950
  {
16870
16951
  version: 114,
16871
16952
  name: "memory-traversal-hydration-index",
16872
- up: up118
16953
+ up: up119
16873
16954
  },
16874
16955
  {
16875
16956
  version: 115,
16876
16957
  name: "cross-agent-message-notifications",
16877
- up: up119,
16958
+ up: up120,
16878
16959
  artifacts: {
16879
16960
  tables: ["cross_agent_messages", "cross_agent_message_receipts"]
16880
16961
  }
@@ -16882,7 +16963,7 @@ var MIGRATIONS = [
16882
16963
  {
16883
16964
  version: 116,
16884
16965
  name: "acp-delivery-reconciliation",
16885
- up: up120,
16966
+ up: up121,
16886
16967
  artifacts: {
16887
16968
  columns: [
16888
16969
  { table: "cross_agent_messages", column: "delivery_state" },
@@ -16896,7 +16977,7 @@ var MIGRATIONS = [
16896
16977
  {
16897
16978
  version: 117,
16898
16979
  name: "retire-summary-worker",
16899
- up: up121,
16980
+ up: up122,
16900
16981
  artifacts: {
16901
16982
  columns: [
16902
16983
  { table: "session_transcripts", column: "completed_at" },
@@ -16907,24 +16988,24 @@ var MIGRATIONS = [
16907
16988
  {
16908
16989
  version: 118,
16909
16990
  name: "queue-pressure-indices",
16910
- up: up122
16991
+ up: up123
16911
16992
  },
16912
16993
  {
16913
16994
  version: 119,
16914
16995
  name: "telemetry-version-observation",
16915
- up: up123,
16996
+ up: up124,
16916
16997
  artifacts: { columns: [{ table: "telemetry_install", column: "last_seen_version" }] }
16917
16998
  },
16918
16999
  {
16919
17000
  version: 120,
16920
17001
  name: "source-lifecycle-telemetry",
16921
- up: up124,
17002
+ up: up125,
16922
17003
  artifacts: { tables: ["source_lifecycle_state"] }
16923
17004
  },
16924
17005
  {
16925
17006
  version: 121,
16926
17007
  name: "telemetry-delivery-health",
16927
- up: up125,
17008
+ up: up126,
16928
17009
  artifacts: {
16929
17010
  tables: ["telemetry_delivery_state"],
16930
17011
  columns: [
@@ -16938,7 +17019,7 @@ var MIGRATIONS = [
16938
17019
  {
16939
17020
  version: 122,
16940
17021
  name: "dreaming-evidence-retry",
16941
- up: up126,
17022
+ up: up127,
16942
17023
  artifacts: {
16943
17024
  columns: [
16944
17025
  { table: "dreaming_evidence_exclusions", column: "failure_class" },
@@ -16951,13 +17032,13 @@ var MIGRATIONS = [
16951
17032
  {
16952
17033
  version: 123,
16953
17034
  name: "embedding-index-failures",
16954
- up: up127,
17035
+ up: up128,
16955
17036
  artifacts: { tables: ["embedding_index_failures"] }
16956
17037
  },
16957
17038
  {
16958
17039
  version: 124,
16959
17040
  name: "import-derived-lifecycle",
16960
- up: up128,
17041
+ up: up129,
16961
17042
  artifacts: {
16962
17043
  tables: ["imported_source_lifecycle"]
16963
17044
  }
@@ -16965,77 +17046,77 @@ var MIGRATIONS = [
16965
17046
  {
16966
17047
  version: 125,
16967
17048
  name: "memory-content-safety",
16968
- up: up129,
17049
+ up: up130,
16969
17050
  artifacts: { tables: ["memory_content_safety"] }
16970
17051
  },
16971
17052
  {
16972
17053
  version: 126,
16973
17054
  name: "dreaming-surprisal-attention",
16974
- up: up130,
17055
+ up: up131,
16975
17056
  artifacts: { tables: ["dreaming_attention"] }
16976
17057
  },
16977
17058
  {
16978
17059
  version: 127,
16979
17060
  name: "ontology-contradictions",
16980
- up: up131,
17061
+ up: up132,
16981
17062
  artifacts: { tables: ["ontology_contradictions"] }
16982
17063
  },
16983
17064
  {
16984
17065
  version: 128,
16985
17066
  name: "bounded-queue-diagnostics",
16986
- up: up132
17067
+ up: up133
16987
17068
  },
16988
17069
  {
16989
17070
  version: 129,
16990
17071
  name: "retire-structural-jobs",
16991
- up: up133
17072
+ up: up134
16992
17073
  },
16993
17074
  {
16994
17075
  version: 130,
16995
17076
  name: "embedding-repair-state",
16996
- up: up134,
17077
+ up: up135,
16997
17078
  artifacts: { tables: ["embedding_repair_budget", "embedding_repair_backoff"] }
16998
17079
  },
16999
17080
  {
17000
17081
  version: 131,
17001
17082
  name: "dreaming-evidence-consumption",
17002
- up: up135,
17083
+ up: up136,
17003
17084
  artifacts: { tables: ["dreaming_evidence_consumption"] }
17004
17085
  },
17005
17086
  {
17006
17087
  version: 132,
17007
17088
  name: "observer-scoped-epistemic-assertions",
17008
- up: up136,
17089
+ up: up137,
17009
17090
  artifacts: { tables: ["epistemic_assertions"] }
17010
17091
  },
17011
17092
  {
17012
17093
  version: 133,
17013
17094
  name: "dreaming-memory-head",
17014
- up: up137,
17095
+ up: up138,
17015
17096
  artifacts: { tables: ["memory_head_revisions", "memory_head_entries", "memory_head_revision_entries"] }
17016
17097
  },
17017
17098
  {
17018
17099
  version: 134,
17019
17100
  name: "scope-memory-head-entries",
17020
- up: up138,
17101
+ up: up139,
17021
17102
  artifacts: { tables: ["memory_head_entries"] }
17022
17103
  },
17023
17104
  {
17024
17105
  version: 135,
17025
17106
  name: "memory-head-publication",
17026
- up: up139,
17107
+ up: up140,
17027
17108
  artifacts: { tables: ["memory_head_publications"] }
17028
17109
  },
17029
17110
  {
17030
17111
  version: 136,
17031
17112
  name: "memory-head-revisions",
17032
- up: up140,
17113
+ up: up141,
17033
17114
  artifacts: { tables: ["memory_head_revisions"] }
17034
17115
  },
17035
17116
  {
17036
17117
  version: 137,
17037
17118
  name: "dreaming-head-manifest",
17038
- up: up141,
17119
+ up: up142,
17039
17120
  artifacts: {
17040
17121
  columns: [
17041
17122
  { table: "dreaming_passes", column: "head_revision" },
@@ -17046,7 +17127,7 @@ var MIGRATIONS = [
17046
17127
  {
17047
17128
  version: 138,
17048
17129
  name: "bounded-status-projections",
17049
- up: up142,
17130
+ up: up143,
17050
17131
  artifacts: {
17051
17132
  tables: ["transcript_capture_status", "memories_duplicate_hash_counts", "memories_diagnostics_state"]
17052
17133
  }
@@ -17054,31 +17135,31 @@ var MIGRATIONS = [
17054
17135
  {
17055
17136
  version: 139,
17056
17137
  name: "native-source-sync-state",
17057
- up: up143,
17138
+ up: up144,
17058
17139
  artifacts: { tables: ["native_source_sync_state"] }
17059
17140
  },
17060
17141
  {
17061
17142
  version: 140,
17062
17143
  name: "transcript-recovery-frontier",
17063
- up: up144,
17144
+ up: up145,
17064
17145
  artifacts: { tables: ["transcript_recovery_frontiers"] }
17065
17146
  },
17066
17147
  {
17067
17148
  version: 141,
17068
17149
  name: "source-sync-checkpoints",
17069
- up: up145,
17150
+ up: up146,
17070
17151
  artifacts: { tables: ["source_sync_checkpoints"] }
17071
17152
  },
17072
17153
  {
17073
17154
  version: 142,
17074
17155
  name: "source-sync-frontier",
17075
- up: up146,
17156
+ up: up147,
17076
17157
  artifacts: { columns: [{ table: "source_sync_checkpoints", column: "frontier" }] }
17077
17158
  },
17078
17159
  {
17079
17160
  version: 143,
17080
17161
  name: "embedding-index-progress",
17081
- up: up147,
17162
+ up: up148,
17082
17163
  artifacts: {
17083
17164
  columns: [
17084
17165
  { table: "embedding_index_state", column: "migration_phase" },
@@ -17094,19 +17175,19 @@ var MIGRATIONS = [
17094
17175
  {
17095
17176
  version: 144,
17096
17177
  name: "memory-job-lease-token",
17097
- up: up148,
17178
+ up: up149,
17098
17179
  artifacts: { columns: [{ table: "memory_jobs", column: "lease_token" }] }
17099
17180
  },
17100
17181
  {
17101
17182
  version: 145,
17102
17183
  name: "dreaming-evidence-reviews",
17103
- up: up149,
17184
+ up: up150,
17104
17185
  artifacts: { tables: ["dreaming_evidence_reviews"] }
17105
17186
  },
17106
17187
  {
17107
17188
  version: 146,
17108
17189
  name: "source-transcript-import",
17109
- up: up150,
17190
+ up: up151,
17110
17191
  artifacts: {
17111
17192
  tables: [
17112
17193
  "source_import_jobs",
@@ -17125,19 +17206,19 @@ var MIGRATIONS = [
17125
17206
  {
17126
17207
  version: 147,
17127
17208
  name: "source-import-replay-file-slots",
17128
- up: up151,
17209
+ up: up152,
17129
17210
  artifacts: { tables: ["source_import_files"] }
17130
17211
  },
17131
17212
  {
17132
17213
  version: 148,
17133
17214
  name: "source-import-attempt-provenance",
17134
- up: up152,
17215
+ up: up153,
17135
17216
  artifacts: { columns: [{ table: "source_import_record_attempts", column: "source_id" }] }
17136
17217
  },
17137
17218
  {
17138
17219
  version: 149,
17139
17220
  name: "transcript-import-state-machine",
17140
- up: up153,
17221
+ up: up154,
17141
17222
  artifacts: {
17142
17223
  columns: [
17143
17224
  { table: "source_import_jobs", column: "duplicate_mode" },
@@ -17149,7 +17230,7 @@ var MIGRATIONS = [
17149
17230
  {
17150
17231
  version: 150,
17151
17232
  name: "memory-head-freshness",
17152
- up: up154,
17233
+ up: up155,
17153
17234
  artifacts: {
17154
17235
  columns: [
17155
17236
  { table: "memory_md_heads", column: "is_current" },
@@ -17195,7 +17276,7 @@ var MIGRATIONS = [
17195
17276
  {
17196
17277
  version: 153,
17197
17278
  name: "vector-repair-checkpoints",
17198
- up: up155,
17279
+ up: up156,
17199
17280
  artifacts: { tables: ["vector_repair_checkpoints"] }
17200
17281
  },
17201
17282
  {
@@ -17222,13 +17303,13 @@ var MIGRATIONS = [
17222
17303
  {
17223
17304
  version: 156,
17224
17305
  name: "embedding-repair-checkpoints",
17225
- up: up156,
17306
+ up: up157,
17226
17307
  artifacts: { tables: ["embedding_repair_checkpoints"] }
17227
17308
  },
17228
17309
  {
17229
17310
  version: 157,
17230
17311
  name: "embedding-repair-progress",
17231
- up: up157,
17312
+ up: up158,
17232
17313
  artifacts: {
17233
17314
  tables: ["embedding_repair_progress"],
17234
17315
  columns: [{ table: "embedding_repair_checkpoints", column: "profile_fingerprint" }]
@@ -17237,8 +17318,25 @@ var MIGRATIONS = [
17237
17318
  {
17238
17319
  version: 158,
17239
17320
  name: "dreaming-candidate-scan-index",
17240
- up: up158,
17321
+ up: up159,
17241
17322
  artifacts: { indexes: ["idx_memories_agent_kind"] }
17323
+ },
17324
+ {
17325
+ version: 159,
17326
+ name: "retire-obsolete-invocation-ledger",
17327
+ up: up5
17328
+ },
17329
+ {
17330
+ version: 160,
17331
+ name: "import-admission-ledger",
17332
+ up: up160,
17333
+ artifacts: {
17334
+ tables: ["import_admission_ledger", "import_admission_events"],
17335
+ indexes: ["idx_import_admission_status", "idx_import_admission_events_key"],
17336
+ columns: [
17337
+ ...["workspace_id", "request_fingerprint", "source_id", "lease_token", "lease_expires_at", "attempt_count"].map((column) => ({ table: "import_admission_ledger", column }))
17338
+ ]
17339
+ }
17242
17340
  }
17243
17341
  ];
17244
17342
  var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
@@ -17253,6 +17351,98 @@ function expandHome(p2, home = homedir2()) {
17253
17351
  return join2(home, p2.slice(2));
17254
17352
  return p2;
17255
17353
  }
17354
+ var SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
17355
+ var SIGNET_GIT_ALLOWED_DIRECTORIES = ["skills", "tools", "dreaming"];
17356
+ var SIGNET_GIT_PROTECTED_PATHS = [
17357
+ ".daemon",
17358
+ ".secrets",
17359
+ ".shadow",
17360
+ "cache",
17361
+ "data",
17362
+ "files",
17363
+ "runtime",
17364
+ "workspace-layout.json",
17365
+ "node_modules",
17366
+ ":(glob)**/node_modules/**",
17367
+ `${SIGNET_SOURCE_CHECKOUT_DIRNAME}`,
17368
+ "memory/backups",
17369
+ "memory/memories.db",
17370
+ ":(glob)memory/memories.db*",
17371
+ ":(glob)memory/**/*.db",
17372
+ ":(glob)memory/**/*.db-*",
17373
+ ":(glob)memory/**/*.db-journal",
17374
+ ":(glob)memory/**/*.db-shm",
17375
+ ":(glob)memory/**/*.db-wal",
17376
+ ":(glob)memory/**/*.sqlite",
17377
+ ":(glob)memory/**/*.sqlite3",
17378
+ ":(glob)**/*.db",
17379
+ ":(glob)**/*.db-*",
17380
+ ":(glob)**/*.db-journal",
17381
+ ":(glob)**/*.db-shm",
17382
+ ":(glob)**/*.db-wal",
17383
+ ":(glob)**/*.sqlite",
17384
+ ":(glob)**/*.sqlite3"
17385
+ ];
17386
+ var SIGNET_GIT_TRACKED_PATHS = [
17387
+ "*.md",
17388
+ ":(glob)**/*.md",
17389
+ "*.json",
17390
+ ":(glob)**/*.json",
17391
+ "*.jsonl",
17392
+ ":(glob)**/*.jsonl",
17393
+ "*.html",
17394
+ ":(glob)**/*.html",
17395
+ "*.yaml",
17396
+ ":(glob)**/*.yaml",
17397
+ "*.yml",
17398
+ ":(glob)**/*.yml",
17399
+ ...SIGNET_GIT_ALLOWED_DIRECTORIES
17400
+ ];
17401
+ var SIGNET_GITIGNORE_PROTECTED_PATTERNS = [
17402
+ ".daemon/",
17403
+ ".secrets/",
17404
+ ".shadow/",
17405
+ "cache/",
17406
+ "data/",
17407
+ "files/",
17408
+ "runtime/",
17409
+ "workspace-layout.json",
17410
+ "node_modules/",
17411
+ `${SIGNET_SOURCE_CHECKOUT_DIRNAME}/`,
17412
+ "memory/memories.db*",
17413
+ "memory/**/*.db",
17414
+ "memory/**/*.db-*",
17415
+ "memory/**/*.db-journal",
17416
+ "memory/**/*.db-shm",
17417
+ "memory/**/*.db-wal",
17418
+ "memory/**/*.sqlite",
17419
+ "memory/**/*.sqlite3",
17420
+ "memory/backups/",
17421
+ "*.db",
17422
+ "*.db-*",
17423
+ "*.db-journal",
17424
+ "*.db-shm",
17425
+ "*.db-wal",
17426
+ "*.sqlite",
17427
+ "*.sqlite3"
17428
+ ];
17429
+ var DESCRIPTOR_ROOT = process.platform === "linux" ? "/proc/self/fd" : process.platform === "darwin" ? "/dev/fd" : undefined;
17430
+ var DIRECTORY_FLAGS = fsConstants.O_RDONLY | (fsConstants.O_DIRECTORY ?? 0) | (fsConstants.O_NOFOLLOW ?? 0);
17431
+ var FILE_FLAGS = fsConstants.O_RDONLY | (fsConstants.O_NOFOLLOW ?? 0) | (fsConstants.O_NONBLOCK ?? 0);
17432
+ var NOFOLLOW = fsConstants.O_NOFOLLOW ?? 0;
17433
+ var PROTECTION_COMPONENT_IDS = [
17434
+ "root-authored",
17435
+ "skills",
17436
+ "managed-originals",
17437
+ "sqlite",
17438
+ "transcripts",
17439
+ "external-sources",
17440
+ "runtime",
17441
+ "filesystem-cache",
17442
+ "secrets"
17443
+ ];
17444
+ var ORDER = new Map(PROTECTION_COMPONENT_IDS.map((id, index) => [id, index]));
17445
+ var BLOCKING = new Set(["missing", "stale", "degraded"]);
17256
17446
  var STATES = new Set([
17257
17447
  "found",
17258
17448
  "missing",
@@ -17349,7 +17539,7 @@ function resolveSignetDaemonUrl(opts = {}) {
17349
17539
  var WORKSPACE_ENV_KEYS = ["SIGNET_PATH", "SIGNET_WORKSPACE"];
17350
17540
  var DEFAULT_AGENTS_DIRNAME = ".agents";
17351
17541
  function normalizeWorkspacePath(pathValue, home = homedir4()) {
17352
- return resolve2(expandHome(pathValue.trim(), home));
17542
+ return resolve7(expandHome(pathValue.trim(), home));
17353
17543
  }
17354
17544
  function readTrimmedEnv(env, name) {
17355
17545
  const value = env[name];
@@ -17361,13 +17551,13 @@ function readTrimmedEnv(env, name) {
17361
17551
  function readConfigHome(env, home) {
17362
17552
  const raw = env.XDG_CONFIG_HOME;
17363
17553
  if (typeof raw !== "string")
17364
- return join8(home, ".config");
17554
+ return join13(home, ".config");
17365
17555
  const trimmed = raw.trim();
17366
- return trimmed.length > 0 ? normalizeWorkspacePath(trimmed, home) : join8(home, ".config");
17556
+ return trimmed.length > 0 ? normalizeWorkspacePath(trimmed, home) : join13(home, ".config");
17367
17557
  }
17368
17558
  function isExistingDirectory(path) {
17369
17559
  try {
17370
- return statSync3(path).isDirectory();
17560
+ return statSync5(path).isDirectory();
17371
17561
  } catch {
17372
17562
  return false;
17373
17563
  }
@@ -17376,16 +17566,16 @@ function isRecord5(value) {
17376
17566
  return typeof value === "object" && value !== null && !Array.isArray(value);
17377
17567
  }
17378
17568
  function getWorkspaceConfigPath(env = process.env, home = homedir4()) {
17379
- return join8(readConfigHome(env, home), "signet", "workspace.json");
17569
+ return join13(readConfigHome(env, home), "signet", "workspace.json");
17380
17570
  }
17381
17571
  function readConfiguredWorkspacePath(env = process.env, home = homedir4(), options = {}) {
17382
17572
  const strict = options.strict ?? true;
17383
17573
  const configPath = getWorkspaceConfigPath(env, home);
17384
- if (!existsSync7(configPath))
17574
+ if (!existsSync12(configPath))
17385
17575
  return null;
17386
17576
  let raw;
17387
17577
  try {
17388
- raw = JSON.parse(readFileSync5(configPath, "utf-8"));
17578
+ raw = JSON.parse(readFileSync9(configPath, "utf-8"));
17389
17579
  } catch (err) {
17390
17580
  if (!strict)
17391
17581
  return null;
@@ -17430,7 +17620,7 @@ function resolveWorkspacePath(options = {}) {
17430
17620
  };
17431
17621
  }
17432
17622
  return {
17433
- path: join8(home, DEFAULT_AGENTS_DIRNAME),
17623
+ path: join13(home, DEFAULT_AGENTS_DIRNAME),
17434
17624
  source: "default",
17435
17625
  configPath,
17436
17626
  configuredPath: configValue
@@ -17453,81 +17643,18 @@ try {
17453
17643
  const esmRequire = createRequire2(import.meta.url);
17454
17644
  native = esmRequire("@signet/native");
17455
17645
  } catch {}
17456
- var GRAPHIQ_DEFAULT_INSTALL_DIR = join9(homedir5(), ".local", "bin");
17457
- var SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
17458
- var SIGNET_GIT_ALLOWED_DIRECTORIES = ["skills", "tools", "dreaming"];
17459
- var SIGNET_GIT_PROTECTED_PATHS = [
17460
- ".daemon",
17461
- ".shadow",
17462
- "node_modules",
17463
- ":(glob)**/node_modules/**",
17464
- `${SIGNET_SOURCE_CHECKOUT_DIRNAME}`,
17465
- "memory/backups",
17466
- "memory/memories.db",
17467
- ":(glob)memory/memories.db*",
17468
- ":(glob)memory/**/*.db",
17469
- ":(glob)memory/**/*.db-*",
17470
- ":(glob)memory/**/*.db-journal",
17471
- ":(glob)memory/**/*.db-shm",
17472
- ":(glob)memory/**/*.db-wal",
17473
- ":(glob)memory/**/*.sqlite",
17474
- ":(glob)memory/**/*.sqlite3",
17475
- ":(glob)**/*.db",
17476
- ":(glob)**/*.db-*",
17477
- ":(glob)**/*.db-journal",
17478
- ":(glob)**/*.db-shm",
17479
- ":(glob)**/*.db-wal",
17480
- ":(glob)**/*.sqlite",
17481
- ":(glob)**/*.sqlite3"
17482
- ];
17483
- var SIGNET_GIT_TRACKED_PATHS = [
17484
- "*.md",
17485
- ":(glob)**/*.md",
17486
- "*.json",
17487
- ":(glob)**/*.json",
17488
- "*.jsonl",
17489
- ":(glob)**/*.jsonl",
17490
- "*.html",
17491
- ":(glob)**/*.html",
17492
- "*.yaml",
17493
- ":(glob)**/*.yaml",
17494
- "*.yml",
17495
- ":(glob)**/*.yml",
17496
- ...SIGNET_GIT_ALLOWED_DIRECTORIES
17497
- ];
17498
- var SIGNET_GITIGNORE_PROTECTED_PATTERNS = [
17499
- ".daemon/",
17500
- ".shadow/",
17501
- "node_modules/",
17502
- `${SIGNET_SOURCE_CHECKOUT_DIRNAME}/`,
17503
- "memory/memories.db*",
17504
- "memory/**/*.db",
17505
- "memory/**/*.db-*",
17506
- "memory/**/*.db-journal",
17507
- "memory/**/*.db-shm",
17508
- "memory/**/*.db-wal",
17509
- "memory/**/*.sqlite",
17510
- "memory/**/*.sqlite3",
17511
- "memory/backups/",
17512
- "*.db",
17513
- "*.db-*",
17514
- "*.db-journal",
17515
- "*.db-shm",
17516
- "*.db-wal",
17517
- "*.sqlite",
17518
- "*.sqlite3"
17519
- ];
17646
+ var GRAPHIQ_DEFAULT_INSTALL_DIR = join14(homedir5(), ".local", "bin");
17520
17647
  var DEFAULT_DISCORD_DESKTOP_CACHE_PATH = defaultDiscordDesktopCachePath();
17521
17648
  var DEFAULT_GITHUB_RESOURCE_TYPES = ["issues", "pulls", "discussions", "docs"];
17522
17649
  var VALID_GITHUB_RESOURCE_TYPES = new Set(DEFAULT_GITHUB_RESOURCE_TYPES);
17523
17650
  function defaultDiscordDesktopCachePath() {
17524
17651
  switch (platform2()) {
17525
17652
  case "darwin":
17526
- return resolve5(homedir6(), "Library", "Application Support", "discord");
17653
+ return resolve9(homedir6(), "Library", "Application Support", "discord");
17527
17654
  case "win32":
17528
- return resolve5(process.env.APPDATA || resolve5(homedir6(), "AppData", "Roaming"), "discord");
17655
+ return resolve9(process.env.APPDATA || resolve9(homedir6(), "AppData", "Roaming"), "discord");
17529
17656
  default:
17530
- return resolve5(process.env.XDG_CONFIG_HOME || resolve5(homedir6(), ".config"), "discord");
17657
+ return resolve9(process.env.XDG_CONFIG_HOME || resolve9(homedir6(), ".config"), "discord");
17531
17658
  }
17532
17659
  }
17533
17660
  var IDENTITY_FILES = {
@@ -17587,7 +17714,7 @@ var REQUIRED_IDENTITY_KEYS = Object.entries(IDENTITY_FILES).filter(([, spec]) =>
17587
17714
  var OPTIONAL_IDENTITY_KEYS = Object.entries(IDENTITY_FILES).filter(([, spec]) => spec.optional).map(([key]) => key);
17588
17715
  function linkDirSync(target, path) {
17589
17716
  const type = process.platform === "win32" ? "junction" : "dir";
17590
- symlinkSync(target, path, type);
17717
+ symlinkSync2(target, path, type);
17591
17718
  }
17592
17719
  function symlinkSkills(sourceDir, targetDir, options = {}) {
17593
17720
  const result = {
@@ -17595,19 +17722,19 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
17595
17722
  skipped: [],
17596
17723
  errors: []
17597
17724
  };
17598
- if (!existsSync14(sourceDir)) {
17725
+ if (!existsSync18(sourceDir)) {
17599
17726
  return result;
17600
17727
  }
17601
- const targetParent = join14(targetDir, "..");
17602
- if (!existsSync14(targetParent)) {
17603
- mkdirSync8(targetParent, { recursive: true });
17728
+ const targetParent = join18(targetDir, "..");
17729
+ if (!existsSync18(targetParent)) {
17730
+ mkdirSync10(targetParent, { recursive: true });
17604
17731
  }
17605
- if (!existsSync14(targetDir)) {
17606
- mkdirSync8(targetDir, { recursive: true });
17732
+ if (!existsSync18(targetDir)) {
17733
+ mkdirSync10(targetDir, { recursive: true });
17607
17734
  }
17608
17735
  let entries;
17609
17736
  try {
17610
- entries = readdirSync6(sourceDir);
17737
+ entries = readdirSync9(sourceDir);
17611
17738
  } catch (e) {
17612
17739
  result.errors.push({
17613
17740
  path: sourceDir,
@@ -17616,10 +17743,10 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
17616
17743
  return result;
17617
17744
  }
17618
17745
  for (const entry of entries) {
17619
- const srcPath = join14(sourceDir, entry);
17620
- const destPath = join14(targetDir, entry);
17746
+ const srcPath = join18(sourceDir, entry);
17747
+ const destPath = join18(targetDir, entry);
17621
17748
  try {
17622
- const src = lstatSync(srcPath);
17749
+ const src = lstatSync3(srcPath);
17623
17750
  if (src.isSymbolicLink() || !src.isDirectory()) {
17624
17751
  result.skipped.push(srcPath);
17625
17752
  continue;
@@ -17632,7 +17759,7 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
17632
17759
  continue;
17633
17760
  }
17634
17761
  try {
17635
- const destStat = lstatSync(destPath);
17762
+ const destStat = lstatSync3(destPath);
17636
17763
  if (destStat.isSymbolicLink()) {
17637
17764
  if (!options.dryRun) {
17638
17765
  unlinkSync2(destPath);
@@ -17684,7 +17811,7 @@ function normalizePath(pathValue, env, legacyTildeExpansion = false) {
17684
17811
  const trimmed = pathValue.trim();
17685
17812
  const home2 = userHome(env);
17686
17813
  const expanded = legacyTildeExpansion && trimmed.startsWith("~") ? join3(home2, trimmed.slice(1)) : expandHome(trimmed, home2);
17687
- return resolve4(expanded);
17814
+ return resolve3(expanded);
17688
17815
  }
17689
17816
  function readConfigHome2(env, legacyTildeExpansion = false) {
17690
17817
  const configured = readTrimmed(env, "XDG_CONFIG_HOME");
@@ -17736,7 +17863,7 @@ function createAgentDir(config) {
17736
17863
  };
17737
17864
  const clearConfiguredAgentDir = (env = process.env) => {
17738
17865
  try {
17739
- rmSync2(getConfigPath(env), { force: true });
17866
+ rmSync(getConfigPath(env), { force: true });
17740
17867
  } catch {}
17741
17868
  };
17742
17869
  return {