@signetai/connector-hermes-agent 0.161.1 → 0.161.3

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,EAAE,MAAM,wBAAwB,CAAC;AAoDjG,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;AAmoBD,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;IAoLjD,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,EAAE,MAAM,wBAAwB,CAAC;AAoDjG,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"}
package/dist/index.js CHANGED
@@ -10250,6 +10250,92 @@ function up104(db) {
10250
10250
  `);
10251
10251
  }
10252
10252
  }
10253
+ function up105(db) {
10254
+ db.exec(`
10255
+ DROP TRIGGER IF EXISTS entities_fts_ai;
10256
+ DROP TRIGGER IF EXISTS entities_fts_ad;
10257
+ DROP TRIGGER IF EXISTS entities_fts_au;
10258
+ `);
10259
+ db.exec(`
10260
+ CREATE TABLE entities_105 (
10261
+ id TEXT PRIMARY KEY,
10262
+ name TEXT NOT NULL,
10263
+ entity_type TEXT NOT NULL,
10264
+ description TEXT,
10265
+ created_at TEXT NOT NULL,
10266
+ updated_at TEXT NOT NULL,
10267
+ canonical_name TEXT,
10268
+ mentions INTEGER DEFAULT 0,
10269
+ embedding BLOB,
10270
+ agent_id TEXT NOT NULL DEFAULT 'default',
10271
+ pinned INTEGER NOT NULL DEFAULT 0,
10272
+ pinned_at TEXT,
10273
+ last_synthesized_at TEXT,
10274
+ community_id TEXT REFERENCES entity_communities(id),
10275
+ source_id TEXT,
10276
+ source_kind TEXT,
10277
+ source_path TEXT,
10278
+ source_root TEXT,
10279
+ status TEXT NOT NULL DEFAULT 'active',
10280
+ archived_at TEXT,
10281
+ archived_by TEXT,
10282
+ archive_reason TEXT,
10283
+ proposal_id TEXT,
10284
+ proposal_evidence TEXT NOT NULL DEFAULT '[]',
10285
+ UNIQUE(agent_id, name)
10286
+ );
10287
+ `);
10288
+ db.exec(`
10289
+ INSERT INTO entities_105 (
10290
+ rowid, id, name, entity_type, description, created_at, updated_at,
10291
+ canonical_name, mentions, embedding, agent_id, pinned, pinned_at,
10292
+ last_synthesized_at, community_id, source_id, source_kind,
10293
+ source_path, source_root, status, archived_at, archived_by,
10294
+ archive_reason, proposal_id, proposal_evidence
10295
+ )
10296
+ SELECT
10297
+ rowid, id, name, entity_type, description, created_at, updated_at,
10298
+ canonical_name, mentions, embedding, agent_id, pinned, pinned_at,
10299
+ last_synthesized_at, community_id, source_id, source_kind,
10300
+ source_path, source_root, status, archived_at, archived_by,
10301
+ archive_reason, proposal_id, proposal_evidence
10302
+ FROM entities;
10303
+ `);
10304
+ db.exec(`
10305
+ DROP TABLE entities;
10306
+ ALTER TABLE entities_105 RENAME TO entities;
10307
+ `);
10308
+ db.exec(`
10309
+ CREATE INDEX IF NOT EXISTS idx_entities_canonical_name ON entities(canonical_name);
10310
+ CREATE INDEX IF NOT EXISTS idx_entities_agent ON entities(agent_id);
10311
+ CREATE INDEX IF NOT EXISTS idx_entities_pinned ON entities(agent_id, pinned, pinned_at DESC);
10312
+ CREATE INDEX IF NOT EXISTS idx_entities_order
10313
+ ON entities(agent_id, pinned DESC, pinned_at DESC, mentions DESC, updated_at DESC, name);
10314
+ CREATE INDEX IF NOT EXISTS idx_entities_extracted_mentions
10315
+ ON entities(entity_type, mentions)
10316
+ WHERE entity_type = 'extracted';
10317
+ CREATE INDEX IF NOT EXISTS idx_entities_source ON entities(agent_id, source_id, source_path);
10318
+ CREATE INDEX IF NOT EXISTS idx_entities_status ON entities(agent_id, status, updated_at DESC);
10319
+ CREATE INDEX IF NOT EXISTS idx_entities_proposal ON entities(agent_id, proposal_id);
10320
+ `);
10321
+ db.exec(`
10322
+ CREATE TRIGGER IF NOT EXISTS entities_fts_ai AFTER INSERT ON entities BEGIN
10323
+ INSERT INTO entities_fts(rowid, name, canonical_name)
10324
+ VALUES (new.rowid, new.name, new.canonical_name);
10325
+ END;
10326
+ CREATE TRIGGER IF NOT EXISTS entities_fts_ad AFTER DELETE ON entities BEGIN
10327
+ INSERT INTO entities_fts(entities_fts, rowid, name, canonical_name)
10328
+ VALUES ('delete', old.rowid, old.name, old.canonical_name);
10329
+ END;
10330
+ CREATE TRIGGER IF NOT EXISTS entities_fts_au AFTER UPDATE ON entities BEGIN
10331
+ INSERT INTO entities_fts(entities_fts, rowid, name, canonical_name)
10332
+ VALUES ('delete', old.rowid, old.name, old.canonical_name);
10333
+ INSERT INTO entities_fts(rowid, name, canonical_name)
10334
+ VALUES (new.rowid, new.name, new.canonical_name);
10335
+ END;
10336
+ INSERT INTO entities_fts(entities_fts) VALUES ('rebuild');
10337
+ `);
10338
+ }
10253
10339
  var MIGRATIONS = [
10254
10340
  {
10255
10341
  version: 1,
@@ -11077,6 +11163,11 @@ var MIGRATIONS = [
11077
11163
  tables: ["derived_memory_sources"],
11078
11164
  columns: [{ table: "memories", column: "stale_at" }]
11079
11165
  }
11166
+ },
11167
+ {
11168
+ version: 105,
11169
+ name: "agent-scoped-entity-name",
11170
+ up: up105
11080
11171
  }
11081
11172
  ];
11082
11173
  var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
@@ -18328,7 +18419,7 @@ function memoriesFtsNeedsTokenizerRepair2(sql) {
18328
18419
  return true;
18329
18420
  return !normalized.includes(`tokenize='${MEMORIES_FTS_TOKENIZER2}'`);
18330
18421
  }
18331
- function up105(db) {
18422
+ function up106(db) {
18332
18423
  db.exec(`
18333
18424
  CREATE TABLE IF NOT EXISTS schema_migrations (
18334
18425
  version INTEGER PRIMARY KEY,
@@ -18740,7 +18831,7 @@ function up910(db) {
18740
18831
  db.exec(`CREATE INDEX IF NOT EXISTS idx_summary_jobs_status
18741
18832
  ON summary_jobs(status)`);
18742
18833
  }
18743
- function up106(db) {
18834
+ function up107(db) {
18744
18835
  db.exec(`
18745
18836
  CREATE TABLE IF NOT EXISTS umap_cache (
18746
18837
  id INTEGER PRIMARY KEY,
@@ -21612,11 +21703,97 @@ function up1042(db) {
21612
21703
  `);
21613
21704
  }
21614
21705
  }
21706
+ function up1052(db) {
21707
+ db.exec(`
21708
+ DROP TRIGGER IF EXISTS entities_fts_ai;
21709
+ DROP TRIGGER IF EXISTS entities_fts_ad;
21710
+ DROP TRIGGER IF EXISTS entities_fts_au;
21711
+ `);
21712
+ db.exec(`
21713
+ CREATE TABLE entities_105 (
21714
+ id TEXT PRIMARY KEY,
21715
+ name TEXT NOT NULL,
21716
+ entity_type TEXT NOT NULL,
21717
+ description TEXT,
21718
+ created_at TEXT NOT NULL,
21719
+ updated_at TEXT NOT NULL,
21720
+ canonical_name TEXT,
21721
+ mentions INTEGER DEFAULT 0,
21722
+ embedding BLOB,
21723
+ agent_id TEXT NOT NULL DEFAULT 'default',
21724
+ pinned INTEGER NOT NULL DEFAULT 0,
21725
+ pinned_at TEXT,
21726
+ last_synthesized_at TEXT,
21727
+ community_id TEXT REFERENCES entity_communities(id),
21728
+ source_id TEXT,
21729
+ source_kind TEXT,
21730
+ source_path TEXT,
21731
+ source_root TEXT,
21732
+ status TEXT NOT NULL DEFAULT 'active',
21733
+ archived_at TEXT,
21734
+ archived_by TEXT,
21735
+ archive_reason TEXT,
21736
+ proposal_id TEXT,
21737
+ proposal_evidence TEXT NOT NULL DEFAULT '[]',
21738
+ UNIQUE(agent_id, name)
21739
+ );
21740
+ `);
21741
+ db.exec(`
21742
+ INSERT INTO entities_105 (
21743
+ rowid, id, name, entity_type, description, created_at, updated_at,
21744
+ canonical_name, mentions, embedding, agent_id, pinned, pinned_at,
21745
+ last_synthesized_at, community_id, source_id, source_kind,
21746
+ source_path, source_root, status, archived_at, archived_by,
21747
+ archive_reason, proposal_id, proposal_evidence
21748
+ )
21749
+ SELECT
21750
+ rowid, id, name, entity_type, description, created_at, updated_at,
21751
+ canonical_name, mentions, embedding, agent_id, pinned, pinned_at,
21752
+ last_synthesized_at, community_id, source_id, source_kind,
21753
+ source_path, source_root, status, archived_at, archived_by,
21754
+ archive_reason, proposal_id, proposal_evidence
21755
+ FROM entities;
21756
+ `);
21757
+ db.exec(`
21758
+ DROP TABLE entities;
21759
+ ALTER TABLE entities_105 RENAME TO entities;
21760
+ `);
21761
+ db.exec(`
21762
+ CREATE INDEX IF NOT EXISTS idx_entities_canonical_name ON entities(canonical_name);
21763
+ CREATE INDEX IF NOT EXISTS idx_entities_agent ON entities(agent_id);
21764
+ CREATE INDEX IF NOT EXISTS idx_entities_pinned ON entities(agent_id, pinned, pinned_at DESC);
21765
+ CREATE INDEX IF NOT EXISTS idx_entities_order
21766
+ ON entities(agent_id, pinned DESC, pinned_at DESC, mentions DESC, updated_at DESC, name);
21767
+ CREATE INDEX IF NOT EXISTS idx_entities_extracted_mentions
21768
+ ON entities(entity_type, mentions)
21769
+ WHERE entity_type = 'extracted';
21770
+ CREATE INDEX IF NOT EXISTS idx_entities_source ON entities(agent_id, source_id, source_path);
21771
+ CREATE INDEX IF NOT EXISTS idx_entities_status ON entities(agent_id, status, updated_at DESC);
21772
+ CREATE INDEX IF NOT EXISTS idx_entities_proposal ON entities(agent_id, proposal_id);
21773
+ `);
21774
+ db.exec(`
21775
+ CREATE TRIGGER IF NOT EXISTS entities_fts_ai AFTER INSERT ON entities BEGIN
21776
+ INSERT INTO entities_fts(rowid, name, canonical_name)
21777
+ VALUES (new.rowid, new.name, new.canonical_name);
21778
+ END;
21779
+ CREATE TRIGGER IF NOT EXISTS entities_fts_ad AFTER DELETE ON entities BEGIN
21780
+ INSERT INTO entities_fts(entities_fts, rowid, name, canonical_name)
21781
+ VALUES ('delete', old.rowid, old.name, old.canonical_name);
21782
+ END;
21783
+ CREATE TRIGGER IF NOT EXISTS entities_fts_au AFTER UPDATE ON entities BEGIN
21784
+ INSERT INTO entities_fts(entities_fts, rowid, name, canonical_name)
21785
+ VALUES ('delete', old.rowid, old.name, old.canonical_name);
21786
+ INSERT INTO entities_fts(rowid, name, canonical_name)
21787
+ VALUES (new.rowid, new.name, new.canonical_name);
21788
+ END;
21789
+ INSERT INTO entities_fts(entities_fts) VALUES ('rebuild');
21790
+ `);
21791
+ }
21615
21792
  var MIGRATIONS2 = [
21616
21793
  {
21617
21794
  version: 1,
21618
21795
  name: "baseline",
21619
- up: up105,
21796
+ up: up106,
21620
21797
  artifacts: { tables: ["memories", "conversations", "embeddings"] }
21621
21798
  },
21622
21799
  {
@@ -21676,7 +21853,7 @@ var MIGRATIONS2 = [
21676
21853
  {
21677
21854
  version: 10,
21678
21855
  name: "umap-cache",
21679
- up: up106,
21856
+ up: up107,
21680
21857
  artifacts: { tables: ["umap_cache"] }
21681
21858
  },
21682
21859
  {
@@ -22439,6 +22616,11 @@ var MIGRATIONS2 = [
22439
22616
  tables: ["derived_memory_sources"],
22440
22617
  columns: [{ table: "memories", column: "stale_at" }]
22441
22618
  }
22619
+ },
22620
+ {
22621
+ version: 105,
22622
+ name: "agent-scoped-entity-name",
22623
+ up: up1052
22442
22624
  }
22443
22625
  ];
22444
22626
  var LATEST_SCHEMA_VERSION2 = MIGRATIONS2[MIGRATIONS2.length - 1]?.version ?? 0;
@@ -23136,6 +23318,27 @@ function configuredAgentReadPolicy(warnings) {
23136
23318
  warnings.push(`Ignoring unsupported SIGNET_AGENT_READ_POLICY '${raw}'. Expected one of: isolated, shared, group.`);
23137
23319
  return "shared";
23138
23320
  }
23321
+ async function resolveDaemonAgentId(daemonUrl) {
23322
+ try {
23323
+ const baseUrl = trimTrailingSlashes(daemonUrl);
23324
+ const token = sanitizedAuthTokenEnv();
23325
+ const headers = {};
23326
+ if (token) {
23327
+ headers.Authorization = `Bearer ${token}`;
23328
+ }
23329
+ const resp = await fetch(`${baseUrl}/api/status`, {
23330
+ headers,
23331
+ signal: AbortSignal.timeout(1000)
23332
+ });
23333
+ if (!resp.ok)
23334
+ return null;
23335
+ const body = await resp.json();
23336
+ const agentId = typeof body.agentId === "string" ? body.agentId.trim() : "";
23337
+ return agentId || null;
23338
+ } catch {
23339
+ return null;
23340
+ }
23341
+ }
23139
23342
  async function ensureNamedAgentRegistered(daemonUrl, agentId, warnings) {
23140
23343
  if (!agentId || agentId === "default" || agentId === "hermes-agent")
23141
23344
  return;
@@ -23242,7 +23445,7 @@ class HermesAgentConnector extends BaseConnector {
23242
23445
  };
23243
23446
  }
23244
23447
  const envPath = join4(hermesHome, ".env");
23245
- let configuredSignetAgentId = "hermes-agent";
23448
+ let configuredSignetAgentId = "default";
23246
23449
  const configuredDaemonUrl = (process.env.SIGNET_DAEMON_URL?.trim() || "http://localhost:3850").replace(/[\r\n]+/g, "");
23247
23450
  try {
23248
23451
  let envContent = "";
@@ -23256,13 +23459,20 @@ class HermesAgentConnector extends BaseConnector {
23256
23459
  if (process.env.SIGNET_TRUSTED_DAEMON_ORIGINS) {
23257
23460
  signetVars.SIGNET_TRUSTED_DAEMON_ORIGINS = sanitizedEnv("SIGNET_TRUSTED_DAEMON_ORIGINS");
23258
23461
  }
23259
- const signetAgentId = sanitizedEnv("SIGNET_AGENT_ID") || "hermes-agent";
23462
+ let signetAgentId = sanitizedEnv("SIGNET_AGENT_ID");
23463
+ if (signetAgentId === "hermes-agent") {
23464
+ warnings.push("SIGNET_AGENT_ID='hermes-agent' is the harness name, not an agent scope. Re-resolving from the daemon.");
23465
+ signetAgentId = "";
23466
+ }
23467
+ if (!signetAgentId) {
23468
+ signetAgentId = await resolveDaemonAgentId(configuredDaemonUrl) || "default";
23469
+ }
23260
23470
  configuredSignetAgentId = signetAgentId;
23261
23471
  signetVars.SIGNET_AGENT_ID = signetAgentId;
23262
23472
  const explicitAgentWorkspace = process.env.SIGNET_AGENT_WORKSPACE?.trim();
23263
23473
  if (explicitAgentWorkspace) {
23264
23474
  signetVars.SIGNET_AGENT_WORKSPACE = expandHome(explicitAgentWorkspace).replace(/[\r\n]+/g, "");
23265
- } else if (signetAgentId && signetAgentId !== "hermes-agent" && signetAgentId !== "default") {
23475
+ } else if (signetAgentId && signetAgentId !== "default") {
23266
23476
  const agentWorkspace = join4(expandedBasePath, "agents", signetAgentId);
23267
23477
  if (existsSync2(agentWorkspace)) {
23268
23478
  signetVars.SIGNET_AGENT_WORKSPACE = agentWorkspace;
@@ -14,7 +14,7 @@ scoring.
14
14
  Config:
15
15
  - SIGNET_HOST / SIGNET_PORT env vars (default: localhost:3850)
16
16
  - SIGNET_DAEMON_URL env var for full URL override
17
- - SIGNET_AGENT_ID env var for agent scoping (default: "hermes-agent")
17
+ - SIGNET_AGENT_ID env var for agent scoping (unset: daemon's configured agent, usually "default")
18
18
  - SIGNET_AGENT_WORKSPACE env var for the active named-agent workspace
19
19
  """
20
20
 
@@ -303,7 +303,7 @@ def _resolve_agent_workspace(agent_id: str, kwargs: Dict[str, Any]) -> str:
303
303
 
304
304
  signet_path = _sanitize_env(os.environ.get("SIGNET_PATH", ""))
305
305
  agents_root = Path(signet_path).expanduser() if signet_path else Path.home() / ".agents"
306
- if agent_id and agent_id not in ("default", "hermes-agent"):
306
+ if agent_id and agent_id not in ("default",):
307
307
  candidate = agents_root / "agents" / agent_id
308
308
  if candidate.exists():
309
309
  return str(candidate)
@@ -379,8 +379,8 @@ class SignetMemoryProvider(MemoryProvider):
379
379
  },
380
380
  {
381
381
  "key": "agent_id",
382
- "description": "Agent scope identifier",
383
- "default": "hermes-agent",
382
+ "description": "Agent scope identifier. Leave empty to use the daemon's configured agent.",
383
+ "default": "",
384
384
  "env_var": "SIGNET_AGENT_ID",
385
385
  },
386
386
  ]
@@ -396,12 +396,19 @@ class SignetMemoryProvider(MemoryProvider):
396
396
  return
397
397
 
398
398
  agent_id = os.environ.get("SIGNET_AGENT_ID", "").strip()
399
- if not agent_id:
399
+ if agent_id == "hermes-agent":
400
+ # The harness name is provenance, never an agent scope. A stale
401
+ # value from an older connector install is healed by letting the
402
+ # daemon resolve the workspace's configured agent instead.
400
403
  logger.warning(
401
- "SIGNET_AGENT_ID is not set; memory will be stored under the 'hermes-agent' "
402
- "scope. Set SIGNET_AGENT_ID to scope memories to a specific agent."
404
+ "SIGNET_AGENT_ID='hermes-agent' is the harness name, not an agent scope; "
405
+ "the daemon's configured agent will be used instead."
403
406
  )
404
- agent_id = "hermes-agent"
407
+ agent_id = ""
408
+ if not agent_id:
409
+ # No explicit agent id: the daemon resolves its configured agent
410
+ # (its own SIGNET_AGENT_ID, or 'default' for the default workspace).
411
+ logger.debug("SIGNET_AGENT_ID is not set; the daemon's configured agent scope applies.")
405
412
 
406
413
  # Skip for cron/flush contexts — no memory injection needed
407
414
  agent_context = kwargs.get("agent_context", "")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/connector-hermes-agent",
3
- "version": "0.161.1",
3
+ "version": "0.161.3",
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.161.1",
29
- "@signetai/core": "0.161.1"
28
+ "@signetai/connector-base": "0.161.3",
29
+ "@signetai/core": "0.161.3"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^22.0.0",