@signetai/connector-hermes-agent 0.182.6 → 0.182.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAuB,MAAM,wBAAwB,CAAC;AAoDtH,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAkqBD,qBAAa,oBAAqB,SAAQ,aAAa;IACtD,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,SAAS,kBAAkB;IAEpC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAIrB,aAAa,IAAI,MAAM;IAIjB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgMjD,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAuD3C,WAAW,IAAI,OAAO;IAQhB,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAS7C;AAED,wBAAsB,yBAAyB,CAAC,IAAI,CAAC,EAAE;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuG9B;AAED,wBAAgB,eAAe,IAAI,oBAAoB,CAEtD;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAuB,MAAM,wBAAwB,CAAC;AAoDtH,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAsrBD,qBAAa,oBAAqB,SAAQ,aAAa;IACtD,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,SAAS,kBAAkB;IAEpC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAIrB,aAAa,IAAI,MAAM;IAIjB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgMjD,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAuD3C,WAAW,IAAI,OAAO;IAQhB,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAS7C;AAED,wBAAsB,yBAAyB,CAAC,IAAI,CAAC,EAAE;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuG9B;AAED,wBAAgB,eAAe,IAAI,oBAAoB,CAEtD;AAED,eAAe,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -10442,6 +10442,15 @@ function up113(db) {
10442
10442
  ON session_claims(agent_id, state, expires_at);
10443
10443
  `);
10444
10444
  }
10445
+ function up114(db) {
10446
+ const table = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'entity_attributes'").get();
10447
+ if (table == null)
10448
+ return;
10449
+ db.exec(`
10450
+ CREATE INDEX IF NOT EXISTS idx_entity_attributes_memory_agent_status
10451
+ ON entity_attributes(memory_id, agent_id, status, importance);
10452
+ `);
10453
+ }
10445
10454
  var MIGRATIONS = [
10446
10455
  {
10447
10456
  version: 1,
@@ -11354,6 +11363,11 @@ var MIGRATIONS = [
11354
11363
  { table: "session_claims", column: "end_marker" }
11355
11364
  ]
11356
11365
  }
11366
+ },
11367
+ {
11368
+ version: 114,
11369
+ name: "memory-traversal-hydration-index",
11370
+ up: up114
11357
11371
  }
11358
11372
  ];
11359
11373
  var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
@@ -18621,7 +18635,7 @@ function memoriesFtsNeedsTokenizerRepair2(sql) {
18621
18635
  return true;
18622
18636
  return !normalized.includes(`tokenize='${MEMORIES_FTS_TOKENIZER2}'`);
18623
18637
  }
18624
- function up114(db) {
18638
+ function up115(db) {
18625
18639
  db.exec(`
18626
18640
  CREATE TABLE IF NOT EXISTS schema_migrations (
18627
18641
  version INTEGER PRIMARY KEY,
@@ -19044,7 +19058,7 @@ function up1010(db) {
19044
19058
  )
19045
19059
  `);
19046
19060
  }
19047
- function up115(db) {
19061
+ function up116(db) {
19048
19062
  db.exec(`
19049
19063
  CREATE TABLE IF NOT EXISTS session_scores (
19050
19064
  id TEXT PRIMARY KEY,
@@ -22095,11 +22109,20 @@ function up1132(db) {
22095
22109
  ON session_claims(agent_id, state, expires_at);
22096
22110
  `);
22097
22111
  }
22112
+ function up1142(db) {
22113
+ const table = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'entity_attributes'").get();
22114
+ if (table == null)
22115
+ return;
22116
+ db.exec(`
22117
+ CREATE INDEX IF NOT EXISTS idx_entity_attributes_memory_agent_status
22118
+ ON entity_attributes(memory_id, agent_id, status, importance);
22119
+ `);
22120
+ }
22098
22121
  var MIGRATIONS2 = [
22099
22122
  {
22100
22123
  version: 1,
22101
22124
  name: "baseline",
22102
- up: up114,
22125
+ up: up115,
22103
22126
  artifacts: { tables: ["memories", "conversations", "embeddings"] }
22104
22127
  },
22105
22128
  {
@@ -22165,7 +22188,7 @@ var MIGRATIONS2 = [
22165
22188
  {
22166
22189
  version: 11,
22167
22190
  name: "session-scores",
22168
- up: up115,
22191
+ up: up116,
22169
22192
  artifacts: { tables: ["session_scores"] }
22170
22193
  },
22171
22194
  {
@@ -23007,6 +23030,11 @@ var MIGRATIONS2 = [
23007
23030
  { table: "session_claims", column: "end_marker" }
23008
23031
  ]
23009
23032
  }
23033
+ },
23034
+ {
23035
+ version: 114,
23036
+ name: "memory-traversal-hydration-index",
23037
+ up: up1142
23010
23038
  }
23011
23039
  ];
23012
23040
  var LATEST_SCHEMA_VERSION2 = MIGRATIONS2[MIGRATIONS2.length - 1]?.version ?? 0;
@@ -23643,33 +23671,47 @@ function probeHermesProvider(hermesRepo) {
23643
23671
  "print(json.dumps({'toolNames': names, 'missing': [name for name in required if name not in names]}))"
23644
23672
  ].join(`
23645
23673
  `);
23646
- const python = process.env.PYTHON?.trim() || "python";
23647
- const result = spawnSync(python, ["-c", script], {
23648
- cwd: hermesRepo,
23649
- env: { ...process.env, PYTHONPATH: hermesRepo },
23650
- encoding: "utf-8",
23651
- timeout: 5000
23652
- });
23653
- if (result.error) {
23654
- return { ok: false, toolNames: [], error: result.error.message };
23655
- }
23656
- if (result.status !== 0) {
23657
- const err = `${result.stderr || result.stdout || `python exited ${result.status}`}`.trim();
23658
- return { ok: false, toolNames: [], error: err };
23659
- }
23660
- try {
23661
- const parsed = JSON.parse(result.stdout.trim());
23662
- const toolNames = Array.isArray(parsed.toolNames) ? parsed.toolNames.filter((name) => typeof name === "string") : [];
23663
- const missing = Array.isArray(parsed.missing) ? parsed.missing.filter((name) => typeof name === "string") : [];
23664
- return {
23665
- ok: missing.length === 0,
23666
- toolNames,
23667
- error: missing.length > 0 ? `Missing tools: ${missing.join(", ")}` : null
23668
- };
23669
- } catch (e) {
23670
- const msg = e instanceof Error ? e.message : String(e);
23671
- return { ok: false, toolNames: [], error: `Could not parse Hermes provider probe output: ${msg}` };
23674
+ const configuredPython = process.env.PYTHON?.trim();
23675
+ const candidates = configuredPython ? [{ command: configuredPython, args: [] }] : process.platform === "win32" ? [
23676
+ { command: "py", args: ["-3"] },
23677
+ { command: "python", args: [] },
23678
+ { command: "python3", args: [] }
23679
+ ] : [
23680
+ { command: "python3", args: [] },
23681
+ { command: "python", args: [] }
23682
+ ];
23683
+ const errors = [];
23684
+ for (const candidate of candidates) {
23685
+ const result = spawnSync(candidate.command, [...candidate.args, "-c", script], {
23686
+ cwd: hermesRepo,
23687
+ env: { ...process.env, PYTHONPATH: hermesRepo },
23688
+ encoding: "utf-8",
23689
+ timeout: 5000
23690
+ });
23691
+ if (result.error) {
23692
+ errors.push(`${candidate.command}: ${result.error.message}`);
23693
+ continue;
23694
+ }
23695
+ if (result.status !== 0) {
23696
+ const err = `${result.stderr || result.stdout || `${candidate.command} exited ${result.status}`}`.trim();
23697
+ errors.push(`${candidate.command}: ${err}`);
23698
+ continue;
23699
+ }
23700
+ try {
23701
+ const parsed = JSON.parse(result.stdout.trim());
23702
+ const toolNames = Array.isArray(parsed.toolNames) ? parsed.toolNames.filter((name) => typeof name === "string") : [];
23703
+ const missing = Array.isArray(parsed.missing) ? parsed.missing.filter((name) => typeof name === "string") : [];
23704
+ return {
23705
+ ok: missing.length === 0,
23706
+ toolNames,
23707
+ error: missing.length > 0 ? `Missing tools: ${missing.join(", ")}` : null
23708
+ };
23709
+ } catch (e) {
23710
+ const msg = e instanceof Error ? e.message : String(e);
23711
+ errors.push(`${candidate.command}: Could not parse Hermes provider probe output: ${msg}`);
23712
+ }
23672
23713
  }
23714
+ return { ok: false, toolNames: [], error: errors.join("; ") || "No Python interpreter found" };
23673
23715
  }
23674
23716
  async function checkDaemon(daemonUrl) {
23675
23717
  const baseUrl = trimTrailingSlashes(daemonUrl);
@@ -30,6 +30,7 @@ Environment variables:
30
30
  - `SIGNET_AGENT_WORKSPACE` — Optional named-agent workspace path (for example `~/.agents/agents/dot`)
31
31
  - `SIGNET_AGENT_READ_POLICY` — Optional named-agent memory policy for first registration: `shared` (default), `isolated`, or `group`
32
32
  - `SIGNET_AGENT_POLICY_GROUP` — Required when `SIGNET_AGENT_READ_POLICY=group`
33
+ - `PYTHON` — Optional Python interpreter command or path for connector probes; defaults to `python3` then `python` on Unix and `py -3`, `python`, then `python3` on Windows
33
34
 
34
35
  ## Tools
35
36
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/connector-hermes-agent",
3
- "version": "0.182.6",
3
+ "version": "0.182.8",
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.182.6",
29
- "@signetai/core": "0.182.6"
28
+ "@signetai/connector-base": "0.182.8",
29
+ "@signetai/core": "0.182.8"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^22.0.0",