@signetai/connector-forge 0.184.0 → 0.185.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 +143 -27
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -10513,6 +10513,50 @@ function up115(db) {
10513
10513
  ON cross_agent_message_receipts(agent_id, acknowledged_at, message_id);
10514
10514
  `);
10515
10515
  }
10516
+ function hasColumn21(db, table, column) {
10517
+ return db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === column);
10518
+ }
10519
+ function addColumnIfMissing24(db, column, definition) {
10520
+ if (!hasColumn21(db, "cross_agent_messages", column)) {
10521
+ db.exec(`ALTER TABLE cross_agent_messages ADD COLUMN ${column} ${definition}`);
10522
+ }
10523
+ }
10524
+ function up116(db) {
10525
+ const table = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'cross_agent_messages'").get();
10526
+ if (table == null)
10527
+ return;
10528
+ addColumnIfMissing24(db, "delivery_state", "TEXT NOT NULL DEFAULT 'pending'");
10529
+ addColumnIfMissing24(db, "delivery_attempt_id", "TEXT");
10530
+ addColumnIfMissing24(db, "delivery_attempts", "INTEGER NOT NULL DEFAULT 0");
10531
+ addColumnIfMissing24(db, "delivery_lease_token", "TEXT");
10532
+ addColumnIfMissing24(db, "delivery_lease_expires_at", "TEXT");
10533
+ addColumnIfMissing24(db, "delivery_attempt_started_at", "TEXT");
10534
+ addColumnIfMissing24(db, "delivery_updated_at", "TEXT");
10535
+ addColumnIfMissing24(db, "acp_base_url", "TEXT");
10536
+ addColumnIfMissing24(db, "acp_target_agent_name", "TEXT");
10537
+ addColumnIfMissing24(db, "acp_timeout_ms", "INTEGER");
10538
+ addColumnIfMissing24(db, "acp_metadata_json", "TEXT");
10539
+ db.exec(`
10540
+ UPDATE cross_agent_messages
10541
+ SET delivery_state = CASE delivery_status
10542
+ WHEN 'delivered' THEN 'delivered'
10543
+ WHEN 'failed' THEN 'failed'
10544
+ ELSE 'pending'
10545
+ END
10546
+ WHERE delivery_state = 'pending';
10547
+
10548
+ UPDATE cross_agent_messages
10549
+ SET delivery_attempt_id = id
10550
+ WHERE delivery_attempt_id IS NULL;
10551
+
10552
+ UPDATE cross_agent_messages
10553
+ SET delivery_updated_at = created_at
10554
+ WHERE delivery_updated_at IS NULL;
10555
+
10556
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_messages_delivery_reconciliation
10557
+ ON cross_agent_messages(delivery_path, delivery_state, delivery_lease_expires_at, delivery_updated_at);
10558
+ `);
10559
+ }
10516
10560
  var MIGRATIONS = [
10517
10561
  {
10518
10562
  version: 1,
@@ -11438,6 +11482,20 @@ var MIGRATIONS = [
11438
11482
  artifacts: {
11439
11483
  tables: ["cross_agent_messages", "cross_agent_message_receipts"]
11440
11484
  }
11485
+ },
11486
+ {
11487
+ version: 116,
11488
+ name: "acp-delivery-reconciliation",
11489
+ up: up116,
11490
+ artifacts: {
11491
+ columns: [
11492
+ { table: "cross_agent_messages", column: "delivery_state" },
11493
+ { table: "cross_agent_messages", column: "delivery_attempt_id" },
11494
+ { table: "cross_agent_messages", column: "delivery_lease_expires_at" },
11495
+ { table: "cross_agent_messages", column: "acp_base_url" },
11496
+ { table: "cross_agent_messages", column: "acp_target_agent_name" }
11497
+ ]
11498
+ }
11441
11499
  }
11442
11500
  ];
11443
11501
  var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
@@ -18959,7 +19017,7 @@ function memoriesFtsNeedsTokenizerRepair2(sql) {
18959
19017
  return true;
18960
19018
  return !normalized.includes(`tokenize='${MEMORIES_FTS_TOKENIZER2}'`);
18961
19019
  }
18962
- function up116(db) {
19020
+ function up117(db) {
18963
19021
  db.exec(`
18964
19022
  CREATE TABLE IF NOT EXISTS schema_migrations (
18965
19023
  version INTEGER PRIMARY KEY,
@@ -19048,31 +19106,31 @@ function up116(db) {
19048
19106
  } catch {}
19049
19107
  createMemoriesFts2(db);
19050
19108
  }
19051
- function hasColumn21(db, table, column) {
19109
+ function hasColumn22(db, table, column) {
19052
19110
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
19053
19111
  return rows.some((r) => r.name === column);
19054
19112
  }
19055
- function addColumnIfMissing24(db, table, column, definition) {
19056
- if (!hasColumn21(db, table, column)) {
19113
+ function addColumnIfMissing25(db, table, column, definition) {
19114
+ if (!hasColumn22(db, table, column)) {
19057
19115
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
19058
19116
  }
19059
19117
  }
19060
19118
  function up210(db) {
19061
- addColumnIfMissing24(db, "memories", "content_hash", "TEXT");
19062
- addColumnIfMissing24(db, "memories", "normalized_content", "TEXT");
19063
- addColumnIfMissing24(db, "memories", "is_deleted", "INTEGER DEFAULT 0");
19064
- addColumnIfMissing24(db, "memories", "deleted_at", "TEXT");
19065
- addColumnIfMissing24(db, "memories", "extraction_status", "TEXT DEFAULT 'none'");
19066
- addColumnIfMissing24(db, "memories", "embedding_model", "TEXT");
19067
- addColumnIfMissing24(db, "memories", "extraction_model", "TEXT");
19068
- addColumnIfMissing24(db, "memories", "update_count", "INTEGER DEFAULT 0");
19069
- addColumnIfMissing24(db, "memories", "who", "TEXT");
19070
- addColumnIfMissing24(db, "memories", "why", "TEXT");
19071
- addColumnIfMissing24(db, "memories", "project", "TEXT");
19072
- addColumnIfMissing24(db, "memories", "pinned", "INTEGER DEFAULT 0");
19073
- addColumnIfMissing24(db, "memories", "importance", "REAL DEFAULT 0.5");
19074
- addColumnIfMissing24(db, "memories", "last_accessed", "TEXT");
19075
- addColumnIfMissing24(db, "memories", "access_count", "INTEGER DEFAULT 0");
19119
+ addColumnIfMissing25(db, "memories", "content_hash", "TEXT");
19120
+ addColumnIfMissing25(db, "memories", "normalized_content", "TEXT");
19121
+ addColumnIfMissing25(db, "memories", "is_deleted", "INTEGER DEFAULT 0");
19122
+ addColumnIfMissing25(db, "memories", "deleted_at", "TEXT");
19123
+ addColumnIfMissing25(db, "memories", "extraction_status", "TEXT DEFAULT 'none'");
19124
+ addColumnIfMissing25(db, "memories", "embedding_model", "TEXT");
19125
+ addColumnIfMissing25(db, "memories", "extraction_model", "TEXT");
19126
+ addColumnIfMissing25(db, "memories", "update_count", "INTEGER DEFAULT 0");
19127
+ addColumnIfMissing25(db, "memories", "who", "TEXT");
19128
+ addColumnIfMissing25(db, "memories", "why", "TEXT");
19129
+ addColumnIfMissing25(db, "memories", "project", "TEXT");
19130
+ addColumnIfMissing25(db, "memories", "pinned", "INTEGER DEFAULT 0");
19131
+ addColumnIfMissing25(db, "memories", "importance", "REAL DEFAULT 0.5");
19132
+ addColumnIfMissing25(db, "memories", "last_accessed", "TEXT");
19133
+ addColumnIfMissing25(db, "memories", "access_count", "INTEGER DEFAULT 0");
19076
19134
  db.exec(`
19077
19135
  CREATE TABLE IF NOT EXISTS memory_history (
19078
19136
  id TEXT PRIMARY KEY,
@@ -19168,7 +19226,7 @@ function up210(db) {
19168
19226
  ON memory_entity_mentions(entity_id);
19169
19227
  `);
19170
19228
  }
19171
- function addColumnIfMissing25(db, table, column, definition) {
19229
+ function addColumnIfMissing26(db, table, column, definition) {
19172
19230
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
19173
19231
  if (rows.some((r) => r.name === column))
19174
19232
  return false;
@@ -19176,8 +19234,8 @@ function addColumnIfMissing25(db, table, column, definition) {
19176
19234
  return true;
19177
19235
  }
19178
19236
  function up310(db) {
19179
- addColumnIfMissing25(db, "memories", "why", "TEXT");
19180
- addColumnIfMissing25(db, "memories", "project", "TEXT");
19237
+ addColumnIfMissing26(db, "memories", "why", "TEXT");
19238
+ addColumnIfMissing26(db, "memories", "project", "TEXT");
19181
19239
  db.exec(`DROP INDEX IF EXISTS idx_memories_content_hash`);
19182
19240
  db.exec(`
19183
19241
  UPDATE memories
@@ -19203,12 +19261,12 @@ function up310(db) {
19203
19261
  WHERE content_hash IS NOT NULL AND is_deleted = 0
19204
19262
  `);
19205
19263
  }
19206
- function hasColumn22(db, table, column) {
19264
+ function hasColumn23(db, table, column) {
19207
19265
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
19208
19266
  return rows.some((r) => r.name === column);
19209
19267
  }
19210
19268
  function addColumnIfMissing32(db, table, column, definition) {
19211
- if (!hasColumn22(db, table, column)) {
19269
+ if (!hasColumn23(db, table, column)) {
19212
19270
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
19213
19271
  }
19214
19272
  }
@@ -19382,7 +19440,7 @@ function up1010(db) {
19382
19440
  )
19383
19441
  `);
19384
19442
  }
19385
- function up117(db) {
19443
+ function up118(db) {
19386
19444
  db.exec(`
19387
19445
  CREATE TABLE IF NOT EXISTS session_scores (
19388
19446
  id TEXT PRIMARY KEY,
@@ -22491,11 +22549,55 @@ function up1152(db) {
22491
22549
  ON cross_agent_message_receipts(agent_id, acknowledged_at, message_id);
22492
22550
  `);
22493
22551
  }
22552
+ function hasColumn212(db, table, column) {
22553
+ return db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === column);
22554
+ }
22555
+ function addColumnIfMissing242(db, column, definition) {
22556
+ if (!hasColumn212(db, "cross_agent_messages", column)) {
22557
+ db.exec(`ALTER TABLE cross_agent_messages ADD COLUMN ${column} ${definition}`);
22558
+ }
22559
+ }
22560
+ function up1162(db) {
22561
+ const table = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'cross_agent_messages'").get();
22562
+ if (table == null)
22563
+ return;
22564
+ addColumnIfMissing242(db, "delivery_state", "TEXT NOT NULL DEFAULT 'pending'");
22565
+ addColumnIfMissing242(db, "delivery_attempt_id", "TEXT");
22566
+ addColumnIfMissing242(db, "delivery_attempts", "INTEGER NOT NULL DEFAULT 0");
22567
+ addColumnIfMissing242(db, "delivery_lease_token", "TEXT");
22568
+ addColumnIfMissing242(db, "delivery_lease_expires_at", "TEXT");
22569
+ addColumnIfMissing242(db, "delivery_attempt_started_at", "TEXT");
22570
+ addColumnIfMissing242(db, "delivery_updated_at", "TEXT");
22571
+ addColumnIfMissing242(db, "acp_base_url", "TEXT");
22572
+ addColumnIfMissing242(db, "acp_target_agent_name", "TEXT");
22573
+ addColumnIfMissing242(db, "acp_timeout_ms", "INTEGER");
22574
+ addColumnIfMissing242(db, "acp_metadata_json", "TEXT");
22575
+ db.exec(`
22576
+ UPDATE cross_agent_messages
22577
+ SET delivery_state = CASE delivery_status
22578
+ WHEN 'delivered' THEN 'delivered'
22579
+ WHEN 'failed' THEN 'failed'
22580
+ ELSE 'pending'
22581
+ END
22582
+ WHERE delivery_state = 'pending';
22583
+
22584
+ UPDATE cross_agent_messages
22585
+ SET delivery_attempt_id = id
22586
+ WHERE delivery_attempt_id IS NULL;
22587
+
22588
+ UPDATE cross_agent_messages
22589
+ SET delivery_updated_at = created_at
22590
+ WHERE delivery_updated_at IS NULL;
22591
+
22592
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_messages_delivery_reconciliation
22593
+ ON cross_agent_messages(delivery_path, delivery_state, delivery_lease_expires_at, delivery_updated_at);
22594
+ `);
22595
+ }
22494
22596
  var MIGRATIONS2 = [
22495
22597
  {
22496
22598
  version: 1,
22497
22599
  name: "baseline",
22498
- up: up116,
22600
+ up: up117,
22499
22601
  artifacts: { tables: ["memories", "conversations", "embeddings"] }
22500
22602
  },
22501
22603
  {
@@ -22561,7 +22663,7 @@ var MIGRATIONS2 = [
22561
22663
  {
22562
22664
  version: 11,
22563
22665
  name: "session-scores",
22564
- up: up117,
22666
+ up: up118,
22565
22667
  artifacts: { tables: ["session_scores"] }
22566
22668
  },
22567
22669
  {
@@ -23416,6 +23518,20 @@ var MIGRATIONS2 = [
23416
23518
  artifacts: {
23417
23519
  tables: ["cross_agent_messages", "cross_agent_message_receipts"]
23418
23520
  }
23521
+ },
23522
+ {
23523
+ version: 116,
23524
+ name: "acp-delivery-reconciliation",
23525
+ up: up1162,
23526
+ artifacts: {
23527
+ columns: [
23528
+ { table: "cross_agent_messages", column: "delivery_state" },
23529
+ { table: "cross_agent_messages", column: "delivery_attempt_id" },
23530
+ { table: "cross_agent_messages", column: "delivery_lease_expires_at" },
23531
+ { table: "cross_agent_messages", column: "acp_base_url" },
23532
+ { table: "cross_agent_messages", column: "acp_target_agent_name" }
23533
+ ]
23534
+ }
23419
23535
  }
23420
23536
  ];
23421
23537
  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-forge",
3
- "version": "0.184.0",
3
+ "version": "0.185.0",
4
4
  "description": "Signet connector for ForgeCode - installs MCP, identity, and skills integration",
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.184.0",
28
- "@signetai/core": "0.184.0"
27
+ "@signetai/connector-base": "0.185.0",
28
+ "@signetai/core": "0.185.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^22.0.0",