@signetai/connector-claude-code 0.146.5 → 0.147.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 (2) hide show
  1. package/dist/index.js +263 -23
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -9770,6 +9770,102 @@ function up83(db) {
9770
9770
  AND ${sourceAgentId} = ${targetAgentId}
9771
9771
  `);
9772
9772
  }
9773
+ function up84(db) {
9774
+ db.exec(`
9775
+ CREATE TABLE IF NOT EXISTS legacy_markdown_imports (
9776
+ path TEXT PRIMARY KEY,
9777
+ mtime_ms INTEGER NOT NULL,
9778
+ ctime_ms INTEGER NOT NULL,
9779
+ size INTEGER NOT NULL,
9780
+ content_hash TEXT NOT NULL,
9781
+ importer_version INTEGER NOT NULL,
9782
+ chunk_count INTEGER NOT NULL DEFAULT 0,
9783
+ last_imported_at TEXT NOT NULL,
9784
+ last_seen_at TEXT NOT NULL,
9785
+ status TEXT NOT NULL DEFAULT 'imported',
9786
+ error TEXT
9787
+ );
9788
+
9789
+ CREATE TABLE IF NOT EXISTS legacy_markdown_chunks (
9790
+ file_path TEXT NOT NULL,
9791
+ chunk_hash TEXT NOT NULL,
9792
+ chunk_index INTEGER NOT NULL,
9793
+ memory_id TEXT,
9794
+ source_id TEXT,
9795
+ created_at TEXT NOT NULL,
9796
+ PRIMARY KEY (file_path, chunk_hash)
9797
+ );
9798
+
9799
+ CREATE INDEX IF NOT EXISTS idx_legacy_markdown_chunks_memory_id
9800
+ ON legacy_markdown_chunks(memory_id);
9801
+ `);
9802
+ }
9803
+ function up85(db) {
9804
+ const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name IN ('relations', 'entity_dependencies')").all();
9805
+ const tableNames = new Set(tables.map((r) => String(r.name)));
9806
+ if (!tableNames.has("relations") || !tableNames.has("entity_dependencies"))
9807
+ return;
9808
+ const relCols = db.prepare("PRAGMA table_info(relations)").all();
9809
+ const depCols = db.prepare("PRAGMA table_info(entity_dependencies)").all();
9810
+ const rel = new Set(relCols.map((c) => String(c.name)));
9811
+ const dep = new Set(depCols.map((c) => String(c.name)));
9812
+ if (!rel.has("source_entity_id") || !rel.has("relation_type"))
9813
+ return;
9814
+ if (!dep.has("source_entity_id") || !dep.has("dependency_type") || !dep.has("agent_id"))
9815
+ return;
9816
+ const hasRelConfidence = rel.has("confidence");
9817
+ const hasRelUpdated = rel.has("updated_at");
9818
+ const hasDepConfidence = dep.has("confidence");
9819
+ const hasDepReason = dep.has("reason");
9820
+ const hasDepStatus = dep.has("status");
9821
+ const selectParts = ["id", "source_entity_id", "target_entity_id"];
9822
+ const colParts = ["id", "source_entity_id", "target_entity_id"];
9823
+ selectParts.push("relation_type");
9824
+ colParts.push("dependency_type");
9825
+ selectParts.push("strength", "created_at");
9826
+ colParts.push("strength", "created_at");
9827
+ selectParts.push("'default'");
9828
+ colParts.push("agent_id");
9829
+ selectParts.push("NULL");
9830
+ colParts.push("aspect_id");
9831
+ if (hasRelConfidence && hasDepConfidence) {
9832
+ selectParts.push("confidence");
9833
+ colParts.push("confidence");
9834
+ }
9835
+ if (hasDepReason) {
9836
+ selectParts.push("'extracted'");
9837
+ colParts.push("reason");
9838
+ }
9839
+ if (hasDepStatus) {
9840
+ selectParts.push("'active'");
9841
+ colParts.push("status");
9842
+ }
9843
+ if (hasRelUpdated && dep.has("updated_at")) {
9844
+ selectParts.push("updated_at");
9845
+ colParts.push("updated_at");
9846
+ }
9847
+ const selectClause = selectParts.join(", ");
9848
+ const colsClause = colParts.join(", ");
9849
+ db.exec(`INSERT OR IGNORE INTO entity_dependencies (${colsClause})
9850
+ SELECT ${selectClause}
9851
+ FROM relations
9852
+ WHERE source_entity_id IS NOT NULL
9853
+ AND target_entity_id IS NOT NULL
9854
+ AND relation_type IS NOT NULL`);
9855
+ }
9856
+ function addColumnIfMissing21(db, table, column, definition) {
9857
+ const cols = db.prepare(`PRAGMA table_info(${table})`).all();
9858
+ if (cols.some((col) => col.name === column))
9859
+ return;
9860
+ db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
9861
+ }
9862
+ function up86(db) {
9863
+ addColumnIfMissing21(db, "summary_jobs", "content_hash", "TEXT");
9864
+ db.exec(`
9865
+ CREATE INDEX IF NOT EXISTS idx_summary_jobs_agent_session_content_hash
9866
+ ON summary_jobs(agent_id, session_key, content_hash)
9867
+ `);
9868
+ }
9773
9869
  var MIGRATIONS = [
9774
9870
  {
9775
9871
  version: 1,
@@ -10449,6 +10545,30 @@ var MIGRATIONS = [
10449
10545
  { table: "memories", column: "superseded_reason" }
10450
10546
  ]
10451
10547
  }
10548
+ },
10549
+ {
10550
+ version: 84,
10551
+ name: "legacy-markdown-import-state",
10552
+ up: up84,
10553
+ artifacts: {
10554
+ tables: ["legacy_markdown_imports", "legacy_markdown_chunks"]
10555
+ }
10556
+ },
10557
+ {
10558
+ version: 85,
10559
+ name: "backfill-relations-to-dependencies",
10560
+ up: up85,
10561
+ artifacts: {
10562
+ tables: ["entity_dependencies"]
10563
+ }
10564
+ },
10565
+ {
10566
+ version: 86,
10567
+ name: "summary-jobs-content-hash",
10568
+ up: up86,
10569
+ artifacts: {
10570
+ columns: [{ table: "summary_jobs", column: "content_hash" }]
10571
+ }
10452
10572
  }
10453
10573
  ];
10454
10574
  var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
@@ -17804,7 +17924,7 @@ function memoriesFtsNeedsTokenizerRepair2(sql) {
17804
17924
  return true;
17805
17925
  return !normalized.includes(`tokenize='${MEMORIES_FTS_TOKENIZER2}'`);
17806
17926
  }
17807
- function up84(db) {
17927
+ function up87(db) {
17808
17928
  db.exec(`
17809
17929
  CREATE TABLE IF NOT EXISTS schema_migrations (
17810
17930
  version INTEGER PRIMARY KEY,
@@ -17897,27 +18017,27 @@ function hasColumn13(db, table, column) {
17897
18017
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
17898
18018
  return rows.some((r) => r.name === column);
17899
18019
  }
17900
- function addColumnIfMissing21(db, table, column, definition) {
18020
+ function addColumnIfMissing22(db, table, column, definition) {
17901
18021
  if (!hasColumn13(db, table, column)) {
17902
18022
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
17903
18023
  }
17904
18024
  }
17905
18025
  function up210(db) {
17906
- addColumnIfMissing21(db, "memories", "content_hash", "TEXT");
17907
- addColumnIfMissing21(db, "memories", "normalized_content", "TEXT");
17908
- addColumnIfMissing21(db, "memories", "is_deleted", "INTEGER DEFAULT 0");
17909
- addColumnIfMissing21(db, "memories", "deleted_at", "TEXT");
17910
- addColumnIfMissing21(db, "memories", "extraction_status", "TEXT DEFAULT 'none'");
17911
- addColumnIfMissing21(db, "memories", "embedding_model", "TEXT");
17912
- addColumnIfMissing21(db, "memories", "extraction_model", "TEXT");
17913
- addColumnIfMissing21(db, "memories", "update_count", "INTEGER DEFAULT 0");
17914
- addColumnIfMissing21(db, "memories", "who", "TEXT");
17915
- addColumnIfMissing21(db, "memories", "why", "TEXT");
17916
- addColumnIfMissing21(db, "memories", "project", "TEXT");
17917
- addColumnIfMissing21(db, "memories", "pinned", "INTEGER DEFAULT 0");
17918
- addColumnIfMissing21(db, "memories", "importance", "REAL DEFAULT 0.5");
17919
- addColumnIfMissing21(db, "memories", "last_accessed", "TEXT");
17920
- addColumnIfMissing21(db, "memories", "access_count", "INTEGER DEFAULT 0");
18026
+ addColumnIfMissing22(db, "memories", "content_hash", "TEXT");
18027
+ addColumnIfMissing22(db, "memories", "normalized_content", "TEXT");
18028
+ addColumnIfMissing22(db, "memories", "is_deleted", "INTEGER DEFAULT 0");
18029
+ addColumnIfMissing22(db, "memories", "deleted_at", "TEXT");
18030
+ addColumnIfMissing22(db, "memories", "extraction_status", "TEXT DEFAULT 'none'");
18031
+ addColumnIfMissing22(db, "memories", "embedding_model", "TEXT");
18032
+ addColumnIfMissing22(db, "memories", "extraction_model", "TEXT");
18033
+ addColumnIfMissing22(db, "memories", "update_count", "INTEGER DEFAULT 0");
18034
+ addColumnIfMissing22(db, "memories", "who", "TEXT");
18035
+ addColumnIfMissing22(db, "memories", "why", "TEXT");
18036
+ addColumnIfMissing22(db, "memories", "project", "TEXT");
18037
+ addColumnIfMissing22(db, "memories", "pinned", "INTEGER DEFAULT 0");
18038
+ addColumnIfMissing22(db, "memories", "importance", "REAL DEFAULT 0.5");
18039
+ addColumnIfMissing22(db, "memories", "last_accessed", "TEXT");
18040
+ addColumnIfMissing22(db, "memories", "access_count", "INTEGER DEFAULT 0");
17921
18041
  db.exec(`
17922
18042
  CREATE TABLE IF NOT EXISTS memory_history (
17923
18043
  id TEXT PRIMARY KEY,
@@ -18013,7 +18133,7 @@ function up210(db) {
18013
18133
  ON memory_entity_mentions(entity_id);
18014
18134
  `);
18015
18135
  }
18016
- function addColumnIfMissing22(db, table, column, definition) {
18136
+ function addColumnIfMissing23(db, table, column, definition) {
18017
18137
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
18018
18138
  if (rows.some((r) => r.name === column))
18019
18139
  return false;
@@ -18021,8 +18141,8 @@ function addColumnIfMissing22(db, table, column, definition) {
18021
18141
  return true;
18022
18142
  }
18023
18143
  function up310(db) {
18024
- addColumnIfMissing22(db, "memories", "why", "TEXT");
18025
- addColumnIfMissing22(db, "memories", "project", "TEXT");
18144
+ addColumnIfMissing23(db, "memories", "why", "TEXT");
18145
+ addColumnIfMissing23(db, "memories", "project", "TEXT");
18026
18146
  db.exec(`DROP INDEX IF EXISTS idx_memories_content_hash`);
18027
18147
  db.exec(`
18028
18148
  UPDATE memories
@@ -18179,7 +18299,7 @@ function up710(db) {
18179
18299
  db.exec("ALTER TABLE memory_jobs ADD COLUMN document_id TEXT");
18180
18300
  }
18181
18301
  }
18182
- function up85(db) {
18302
+ function up88(db) {
18183
18303
  const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='embeddings'").all();
18184
18304
  if (tables.length === 0)
18185
18305
  return;
@@ -20637,11 +20757,107 @@ function up832(db) {
20637
20757
  AND ${sourceAgentId} = ${targetAgentId}
20638
20758
  `);
20639
20759
  }
20760
+ function up842(db) {
20761
+ db.exec(`
20762
+ CREATE TABLE IF NOT EXISTS legacy_markdown_imports (
20763
+ path TEXT PRIMARY KEY,
20764
+ mtime_ms INTEGER NOT NULL,
20765
+ ctime_ms INTEGER NOT NULL,
20766
+ size INTEGER NOT NULL,
20767
+ content_hash TEXT NOT NULL,
20768
+ importer_version INTEGER NOT NULL,
20769
+ chunk_count INTEGER NOT NULL DEFAULT 0,
20770
+ last_imported_at TEXT NOT NULL,
20771
+ last_seen_at TEXT NOT NULL,
20772
+ status TEXT NOT NULL DEFAULT 'imported',
20773
+ error TEXT
20774
+ );
20775
+
20776
+ CREATE TABLE IF NOT EXISTS legacy_markdown_chunks (
20777
+ file_path TEXT NOT NULL,
20778
+ chunk_hash TEXT NOT NULL,
20779
+ chunk_index INTEGER NOT NULL,
20780
+ memory_id TEXT,
20781
+ source_id TEXT,
20782
+ created_at TEXT NOT NULL,
20783
+ PRIMARY KEY (file_path, chunk_hash)
20784
+ );
20785
+
20786
+ CREATE INDEX IF NOT EXISTS idx_legacy_markdown_chunks_memory_id
20787
+ ON legacy_markdown_chunks(memory_id);
20788
+ `);
20789
+ }
20790
+ function up852(db) {
20791
+ const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name IN ('relations', 'entity_dependencies')").all();
20792
+ const tableNames = new Set(tables.map((r) => String(r.name)));
20793
+ if (!tableNames.has("relations") || !tableNames.has("entity_dependencies"))
20794
+ return;
20795
+ const relCols = db.prepare("PRAGMA table_info(relations)").all();
20796
+ const depCols = db.prepare("PRAGMA table_info(entity_dependencies)").all();
20797
+ const rel = new Set(relCols.map((c) => String(c.name)));
20798
+ const dep = new Set(depCols.map((c) => String(c.name)));
20799
+ if (!rel.has("source_entity_id") || !rel.has("relation_type"))
20800
+ return;
20801
+ if (!dep.has("source_entity_id") || !dep.has("dependency_type") || !dep.has("agent_id"))
20802
+ return;
20803
+ const hasRelConfidence = rel.has("confidence");
20804
+ const hasRelUpdated = rel.has("updated_at");
20805
+ const hasDepConfidence = dep.has("confidence");
20806
+ const hasDepReason = dep.has("reason");
20807
+ const hasDepStatus = dep.has("status");
20808
+ const selectParts = ["id", "source_entity_id", "target_entity_id"];
20809
+ const colParts = ["id", "source_entity_id", "target_entity_id"];
20810
+ selectParts.push("relation_type");
20811
+ colParts.push("dependency_type");
20812
+ selectParts.push("strength", "created_at");
20813
+ colParts.push("strength", "created_at");
20814
+ selectParts.push("'default'");
20815
+ colParts.push("agent_id");
20816
+ selectParts.push("NULL");
20817
+ colParts.push("aspect_id");
20818
+ if (hasRelConfidence && hasDepConfidence) {
20819
+ selectParts.push("confidence");
20820
+ colParts.push("confidence");
20821
+ }
20822
+ if (hasDepReason) {
20823
+ selectParts.push("'extracted'");
20824
+ colParts.push("reason");
20825
+ }
20826
+ if (hasDepStatus) {
20827
+ selectParts.push("'active'");
20828
+ colParts.push("status");
20829
+ }
20830
+ if (hasRelUpdated && dep.has("updated_at")) {
20831
+ selectParts.push("updated_at");
20832
+ colParts.push("updated_at");
20833
+ }
20834
+ const selectClause = selectParts.join(", ");
20835
+ const colsClause = colParts.join(", ");
20836
+ db.exec(`INSERT OR IGNORE INTO entity_dependencies (${colsClause})
20837
+ SELECT ${selectClause}
20838
+ FROM relations
20839
+ WHERE source_entity_id IS NOT NULL
20840
+ AND target_entity_id IS NOT NULL
20841
+ AND relation_type IS NOT NULL`);
20842
+ }
20843
+ function addColumnIfMissing212(db, table, column, definition) {
20844
+ const cols = db.prepare(`PRAGMA table_info(${table})`).all();
20845
+ if (cols.some((col) => col.name === column))
20846
+ return;
20847
+ db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
20848
+ }
20849
+ function up862(db) {
20850
+ addColumnIfMissing212(db, "summary_jobs", "content_hash", "TEXT");
20851
+ db.exec(`
20852
+ CREATE INDEX IF NOT EXISTS idx_summary_jobs_agent_session_content_hash
20853
+ ON summary_jobs(agent_id, session_key, content_hash)
20854
+ `);
20855
+ }
20640
20856
  var MIGRATIONS2 = [
20641
20857
  {
20642
20858
  version: 1,
20643
20859
  name: "baseline",
20644
- up: up84,
20860
+ up: up87,
20645
20861
  artifacts: { tables: ["memories", "conversations", "embeddings"] }
20646
20862
  },
20647
20863
  {
@@ -20690,7 +20906,7 @@ var MIGRATIONS2 = [
20690
20906
  {
20691
20907
  version: 8,
20692
20908
  name: "embeddings-unique-hash",
20693
- up: up85
20909
+ up: up88
20694
20910
  },
20695
20911
  {
20696
20912
  version: 9,
@@ -21316,6 +21532,30 @@ var MIGRATIONS2 = [
21316
21532
  { table: "memories", column: "superseded_reason" }
21317
21533
  ]
21318
21534
  }
21535
+ },
21536
+ {
21537
+ version: 84,
21538
+ name: "legacy-markdown-import-state",
21539
+ up: up842,
21540
+ artifacts: {
21541
+ tables: ["legacy_markdown_imports", "legacy_markdown_chunks"]
21542
+ }
21543
+ },
21544
+ {
21545
+ version: 85,
21546
+ name: "backfill-relations-to-dependencies",
21547
+ up: up852,
21548
+ artifacts: {
21549
+ tables: ["entity_dependencies"]
21550
+ }
21551
+ },
21552
+ {
21553
+ version: 86,
21554
+ name: "summary-jobs-content-hash",
21555
+ up: up862,
21556
+ artifacts: {
21557
+ columns: [{ table: "summary_jobs", column: "content_hash" }]
21558
+ }
21319
21559
  }
21320
21560
  ];
21321
21561
  var LATEST_SCHEMA_VERSION2 = MIGRATIONS2[MIGRATIONS2.length - 1]?.version ?? 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/connector-claude-code",
3
- "version": "0.146.5",
3
+ "version": "0.147.0",
4
4
  "description": "Signet connector for Claude Code (Anthropic CLI)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,8 +24,8 @@
24
24
  "typecheck": "tsc --noEmit"
25
25
  },
26
26
  "dependencies": {
27
- "@signetai/connector-base": "0.146.5",
28
- "@signetai/core": "0.146.5"
27
+ "@signetai/connector-base": "0.147.0",
28
+ "@signetai/core": "0.147.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^22.0.0",