@signetai/connector-hermes-agent 0.184.1 → 0.185.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +143 -27
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -10500,6 +10500,50 @@ function up115(db) {
10500
10500
  ON cross_agent_message_receipts(agent_id, acknowledged_at, message_id);
10501
10501
  `);
10502
10502
  }
10503
+ function hasColumn21(db, table, column) {
10504
+ return db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === column);
10505
+ }
10506
+ function addColumnIfMissing24(db, column, definition) {
10507
+ if (!hasColumn21(db, "cross_agent_messages", column)) {
10508
+ db.exec(`ALTER TABLE cross_agent_messages ADD COLUMN ${column} ${definition}`);
10509
+ }
10510
+ }
10511
+ function up116(db) {
10512
+ const table = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'cross_agent_messages'").get();
10513
+ if (table == null)
10514
+ return;
10515
+ addColumnIfMissing24(db, "delivery_state", "TEXT NOT NULL DEFAULT 'pending'");
10516
+ addColumnIfMissing24(db, "delivery_attempt_id", "TEXT");
10517
+ addColumnIfMissing24(db, "delivery_attempts", "INTEGER NOT NULL DEFAULT 0");
10518
+ addColumnIfMissing24(db, "delivery_lease_token", "TEXT");
10519
+ addColumnIfMissing24(db, "delivery_lease_expires_at", "TEXT");
10520
+ addColumnIfMissing24(db, "delivery_attempt_started_at", "TEXT");
10521
+ addColumnIfMissing24(db, "delivery_updated_at", "TEXT");
10522
+ addColumnIfMissing24(db, "acp_base_url", "TEXT");
10523
+ addColumnIfMissing24(db, "acp_target_agent_name", "TEXT");
10524
+ addColumnIfMissing24(db, "acp_timeout_ms", "INTEGER");
10525
+ addColumnIfMissing24(db, "acp_metadata_json", "TEXT");
10526
+ db.exec(`
10527
+ UPDATE cross_agent_messages
10528
+ SET delivery_state = CASE delivery_status
10529
+ WHEN 'delivered' THEN 'delivered'
10530
+ WHEN 'failed' THEN 'failed'
10531
+ ELSE 'pending'
10532
+ END
10533
+ WHERE delivery_state = 'pending';
10534
+
10535
+ UPDATE cross_agent_messages
10536
+ SET delivery_attempt_id = id
10537
+ WHERE delivery_attempt_id IS NULL;
10538
+
10539
+ UPDATE cross_agent_messages
10540
+ SET delivery_updated_at = created_at
10541
+ WHERE delivery_updated_at IS NULL;
10542
+
10543
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_messages_delivery_reconciliation
10544
+ ON cross_agent_messages(delivery_path, delivery_state, delivery_lease_expires_at, delivery_updated_at);
10545
+ `);
10546
+ }
10503
10547
  var MIGRATIONS = [
10504
10548
  {
10505
10549
  version: 1,
@@ -11425,6 +11469,20 @@ var MIGRATIONS = [
11425
11469
  artifacts: {
11426
11470
  tables: ["cross_agent_messages", "cross_agent_message_receipts"]
11427
11471
  }
11472
+ },
11473
+ {
11474
+ version: 116,
11475
+ name: "acp-delivery-reconciliation",
11476
+ up: up116,
11477
+ artifacts: {
11478
+ columns: [
11479
+ { table: "cross_agent_messages", column: "delivery_state" },
11480
+ { table: "cross_agent_messages", column: "delivery_attempt_id" },
11481
+ { table: "cross_agent_messages", column: "delivery_lease_expires_at" },
11482
+ { table: "cross_agent_messages", column: "acp_base_url" },
11483
+ { table: "cross_agent_messages", column: "acp_target_agent_name" }
11484
+ ]
11485
+ }
11428
11486
  }
11429
11487
  ];
11430
11488
  var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
@@ -18692,7 +18750,7 @@ function memoriesFtsNeedsTokenizerRepair2(sql) {
18692
18750
  return true;
18693
18751
  return !normalized.includes(`tokenize='${MEMORIES_FTS_TOKENIZER2}'`);
18694
18752
  }
18695
- function up116(db) {
18753
+ function up117(db) {
18696
18754
  db.exec(`
18697
18755
  CREATE TABLE IF NOT EXISTS schema_migrations (
18698
18756
  version INTEGER PRIMARY KEY,
@@ -18781,31 +18839,31 @@ function up116(db) {
18781
18839
  } catch {}
18782
18840
  createMemoriesFts2(db);
18783
18841
  }
18784
- function hasColumn21(db, table, column) {
18842
+ function hasColumn22(db, table, column) {
18785
18843
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
18786
18844
  return rows.some((r) => r.name === column);
18787
18845
  }
18788
- function addColumnIfMissing24(db, table, column, definition) {
18789
- if (!hasColumn21(db, table, column)) {
18846
+ function addColumnIfMissing25(db, table, column, definition) {
18847
+ if (!hasColumn22(db, table, column)) {
18790
18848
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
18791
18849
  }
18792
18850
  }
18793
18851
  function up210(db) {
18794
- addColumnIfMissing24(db, "memories", "content_hash", "TEXT");
18795
- addColumnIfMissing24(db, "memories", "normalized_content", "TEXT");
18796
- addColumnIfMissing24(db, "memories", "is_deleted", "INTEGER DEFAULT 0");
18797
- addColumnIfMissing24(db, "memories", "deleted_at", "TEXT");
18798
- addColumnIfMissing24(db, "memories", "extraction_status", "TEXT DEFAULT 'none'");
18799
- addColumnIfMissing24(db, "memories", "embedding_model", "TEXT");
18800
- addColumnIfMissing24(db, "memories", "extraction_model", "TEXT");
18801
- addColumnIfMissing24(db, "memories", "update_count", "INTEGER DEFAULT 0");
18802
- addColumnIfMissing24(db, "memories", "who", "TEXT");
18803
- addColumnIfMissing24(db, "memories", "why", "TEXT");
18804
- addColumnIfMissing24(db, "memories", "project", "TEXT");
18805
- addColumnIfMissing24(db, "memories", "pinned", "INTEGER DEFAULT 0");
18806
- addColumnIfMissing24(db, "memories", "importance", "REAL DEFAULT 0.5");
18807
- addColumnIfMissing24(db, "memories", "last_accessed", "TEXT");
18808
- addColumnIfMissing24(db, "memories", "access_count", "INTEGER DEFAULT 0");
18852
+ addColumnIfMissing25(db, "memories", "content_hash", "TEXT");
18853
+ addColumnIfMissing25(db, "memories", "normalized_content", "TEXT");
18854
+ addColumnIfMissing25(db, "memories", "is_deleted", "INTEGER DEFAULT 0");
18855
+ addColumnIfMissing25(db, "memories", "deleted_at", "TEXT");
18856
+ addColumnIfMissing25(db, "memories", "extraction_status", "TEXT DEFAULT 'none'");
18857
+ addColumnIfMissing25(db, "memories", "embedding_model", "TEXT");
18858
+ addColumnIfMissing25(db, "memories", "extraction_model", "TEXT");
18859
+ addColumnIfMissing25(db, "memories", "update_count", "INTEGER DEFAULT 0");
18860
+ addColumnIfMissing25(db, "memories", "who", "TEXT");
18861
+ addColumnIfMissing25(db, "memories", "why", "TEXT");
18862
+ addColumnIfMissing25(db, "memories", "project", "TEXT");
18863
+ addColumnIfMissing25(db, "memories", "pinned", "INTEGER DEFAULT 0");
18864
+ addColumnIfMissing25(db, "memories", "importance", "REAL DEFAULT 0.5");
18865
+ addColumnIfMissing25(db, "memories", "last_accessed", "TEXT");
18866
+ addColumnIfMissing25(db, "memories", "access_count", "INTEGER DEFAULT 0");
18809
18867
  db.exec(`
18810
18868
  CREATE TABLE IF NOT EXISTS memory_history (
18811
18869
  id TEXT PRIMARY KEY,
@@ -18901,7 +18959,7 @@ function up210(db) {
18901
18959
  ON memory_entity_mentions(entity_id);
18902
18960
  `);
18903
18961
  }
18904
- function addColumnIfMissing25(db, table, column, definition) {
18962
+ function addColumnIfMissing26(db, table, column, definition) {
18905
18963
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
18906
18964
  if (rows.some((r) => r.name === column))
18907
18965
  return false;
@@ -18909,8 +18967,8 @@ function addColumnIfMissing25(db, table, column, definition) {
18909
18967
  return true;
18910
18968
  }
18911
18969
  function up310(db) {
18912
- addColumnIfMissing25(db, "memories", "why", "TEXT");
18913
- addColumnIfMissing25(db, "memories", "project", "TEXT");
18970
+ addColumnIfMissing26(db, "memories", "why", "TEXT");
18971
+ addColumnIfMissing26(db, "memories", "project", "TEXT");
18914
18972
  db.exec(`DROP INDEX IF EXISTS idx_memories_content_hash`);
18915
18973
  db.exec(`
18916
18974
  UPDATE memories
@@ -18936,12 +18994,12 @@ function up310(db) {
18936
18994
  WHERE content_hash IS NOT NULL AND is_deleted = 0
18937
18995
  `);
18938
18996
  }
18939
- function hasColumn22(db, table, column) {
18997
+ function hasColumn23(db, table, column) {
18940
18998
  const rows = db.prepare(`PRAGMA table_info(${table})`).all();
18941
18999
  return rows.some((r) => r.name === column);
18942
19000
  }
18943
19001
  function addColumnIfMissing32(db, table, column, definition) {
18944
- if (!hasColumn22(db, table, column)) {
19002
+ if (!hasColumn23(db, table, column)) {
18945
19003
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
18946
19004
  }
18947
19005
  }
@@ -19115,7 +19173,7 @@ function up1010(db) {
19115
19173
  )
19116
19174
  `);
19117
19175
  }
19118
- function up117(db) {
19176
+ function up118(db) {
19119
19177
  db.exec(`
19120
19178
  CREATE TABLE IF NOT EXISTS session_scores (
19121
19179
  id TEXT PRIMARY KEY,
@@ -22224,11 +22282,55 @@ function up1152(db) {
22224
22282
  ON cross_agent_message_receipts(agent_id, acknowledged_at, message_id);
22225
22283
  `);
22226
22284
  }
22285
+ function hasColumn212(db, table, column) {
22286
+ return db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === column);
22287
+ }
22288
+ function addColumnIfMissing242(db, column, definition) {
22289
+ if (!hasColumn212(db, "cross_agent_messages", column)) {
22290
+ db.exec(`ALTER TABLE cross_agent_messages ADD COLUMN ${column} ${definition}`);
22291
+ }
22292
+ }
22293
+ function up1162(db) {
22294
+ const table = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'cross_agent_messages'").get();
22295
+ if (table == null)
22296
+ return;
22297
+ addColumnIfMissing242(db, "delivery_state", "TEXT NOT NULL DEFAULT 'pending'");
22298
+ addColumnIfMissing242(db, "delivery_attempt_id", "TEXT");
22299
+ addColumnIfMissing242(db, "delivery_attempts", "INTEGER NOT NULL DEFAULT 0");
22300
+ addColumnIfMissing242(db, "delivery_lease_token", "TEXT");
22301
+ addColumnIfMissing242(db, "delivery_lease_expires_at", "TEXT");
22302
+ addColumnIfMissing242(db, "delivery_attempt_started_at", "TEXT");
22303
+ addColumnIfMissing242(db, "delivery_updated_at", "TEXT");
22304
+ addColumnIfMissing242(db, "acp_base_url", "TEXT");
22305
+ addColumnIfMissing242(db, "acp_target_agent_name", "TEXT");
22306
+ addColumnIfMissing242(db, "acp_timeout_ms", "INTEGER");
22307
+ addColumnIfMissing242(db, "acp_metadata_json", "TEXT");
22308
+ db.exec(`
22309
+ UPDATE cross_agent_messages
22310
+ SET delivery_state = CASE delivery_status
22311
+ WHEN 'delivered' THEN 'delivered'
22312
+ WHEN 'failed' THEN 'failed'
22313
+ ELSE 'pending'
22314
+ END
22315
+ WHERE delivery_state = 'pending';
22316
+
22317
+ UPDATE cross_agent_messages
22318
+ SET delivery_attempt_id = id
22319
+ WHERE delivery_attempt_id IS NULL;
22320
+
22321
+ UPDATE cross_agent_messages
22322
+ SET delivery_updated_at = created_at
22323
+ WHERE delivery_updated_at IS NULL;
22324
+
22325
+ CREATE INDEX IF NOT EXISTS idx_cross_agent_messages_delivery_reconciliation
22326
+ ON cross_agent_messages(delivery_path, delivery_state, delivery_lease_expires_at, delivery_updated_at);
22327
+ `);
22328
+ }
22227
22329
  var MIGRATIONS2 = [
22228
22330
  {
22229
22331
  version: 1,
22230
22332
  name: "baseline",
22231
- up: up116,
22333
+ up: up117,
22232
22334
  artifacts: { tables: ["memories", "conversations", "embeddings"] }
22233
22335
  },
22234
22336
  {
@@ -22294,7 +22396,7 @@ var MIGRATIONS2 = [
22294
22396
  {
22295
22397
  version: 11,
22296
22398
  name: "session-scores",
22297
- up: up117,
22399
+ up: up118,
22298
22400
  artifacts: { tables: ["session_scores"] }
22299
22401
  },
22300
22402
  {
@@ -23149,6 +23251,20 @@ var MIGRATIONS2 = [
23149
23251
  artifacts: {
23150
23252
  tables: ["cross_agent_messages", "cross_agent_message_receipts"]
23151
23253
  }
23254
+ },
23255
+ {
23256
+ version: 116,
23257
+ name: "acp-delivery-reconciliation",
23258
+ up: up1162,
23259
+ artifacts: {
23260
+ columns: [
23261
+ { table: "cross_agent_messages", column: "delivery_state" },
23262
+ { table: "cross_agent_messages", column: "delivery_attempt_id" },
23263
+ { table: "cross_agent_messages", column: "delivery_lease_expires_at" },
23264
+ { table: "cross_agent_messages", column: "acp_base_url" },
23265
+ { table: "cross_agent_messages", column: "acp_target_agent_name" }
23266
+ ]
23267
+ }
23152
23268
  }
23153
23269
  ];
23154
23270
  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-hermes-agent",
3
- "version": "0.184.1",
3
+ "version": "0.185.1",
4
4
  "description": "Signet connector for Hermes Agent — installs Signet as a pluggable memory provider",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,8 +25,8 @@
25
25
  "typecheck": "tsc --noEmit"
26
26
  },
27
27
  "dependencies": {
28
- "@signetai/connector-base": "0.184.1",
29
- "@signetai/core": "0.184.1"
28
+ "@signetai/connector-base": "0.185.1",
29
+ "@signetai/core": "0.185.1"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^22.0.0",