@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.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +217 -7
- package/hermes-plugin/__init__.py +15 -8
- package/package.json +3 -3
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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
|
|
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:
|
|
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:
|
|
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 = "
|
|
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
|
-
|
|
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 !== "
|
|
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 (
|
|
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",
|
|
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": "
|
|
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
|
|
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
|
|
402
|
-
"
|
|
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 = "
|
|
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.
|
|
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.
|
|
29
|
-
"@signetai/core": "0.161.
|
|
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",
|