agenthub-multiagent-mcp 1.28.0 → 1.29.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.
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ import { hookManager } from "./hooks/index.js";
10
10
  import * as brainCapture from "./hooks/brainCapture.js";
11
11
  import * as journal from "./brain/journal.js";
12
12
  import * as state from "./state.js";
13
+ import { planStartup } from "./startup.js";
13
14
  // Environment configuration
14
15
  const AGENTHUB_URL = process.env.AGENTHUB_URL || "https://agenthub.contetial.com";
15
16
  const AGENTHUB_API_KEY = process.env.AGENTHUB_API_KEY || "";
@@ -367,95 +368,91 @@ async function main() {
367
368
  console.error(`[brain/migrate] boot migration crashed: ${e}`);
368
369
  }
369
370
  }
370
- // Auto-register if agent ID is provided via environment
371
+ // Bring the agent online. Reconnect-first (see startup.ts): a returning
372
+ // session re-attaches by its stored connect token instead of re-registering.
373
+ // `register` rotates the connect token server-side, so when two projects share
374
+ // one AGENTHUB_AGENT_ID, each re-registration orphans the other's stored token
375
+ // — the recurring "krishi-dev" failure where `.agenthub/state` had to be wiped
376
+ // (renamed to state.stale-bak-<date>) every few days. The id + stored token is
377
+ // the primary identity; we only register when there is no usable token for it.
371
378
  if (AGENTHUB_AGENT_ID) {
372
- try {
373
- const result = await client.registerAgent(AGENTHUB_AGENT_ID, undefined, undefined, undefined, AGENTHUB_MODEL);
374
- currentAgentId = AGENTHUB_AGENT_ID;
375
- currentWorkingDir = process.cwd();
376
- // Save state so future sessions can reconnect with the token
377
- state.saveState(currentWorkingDir, {
378
- agent_id: AGENTHUB_AGENT_ID,
379
- token: result.token,
380
- name: result.name,
381
- owner: state.getCurrentOwner(),
382
- project_id: "",
383
- project_key: "",
384
- org_id: "",
385
- registered_at: result.registered_at || new Date().toISOString(),
386
- });
387
- client.setConnectToken(result.token);
388
- heartbeat.start(AGENTHUB_AGENT_ID);
389
- if (!AGENTHUB_DISABLE_WEBSOCKET)
390
- wsClient.connect(AGENTHUB_AGENT_ID);
391
- console.error(`Auto-registered as agent: ${AGENTHUB_AGENT_ID}`);
392
- // Report bundled-skill inventory now that we have a connect token.
393
- // Non-fatal — register itself stays the source of truth for online state.
394
- try {
395
- const { reportInstalledSkills } = await import("./skillReporter.js");
396
- await reportInstalledSkills(AGENTHUB_AGENT_ID, { client });
379
+ const workingDir = process.cwd();
380
+ const existingState = state.loadState(workingDir);
381
+ const plan = planStartup(existingState, AGENTHUB_AGENT_ID);
382
+ if (plan.action === "reconnect") {
383
+ const reconnected = await attemptReconnect(workingDir);
384
+ if (reconnected) {
385
+ // attemptReconnect already set currentAgentId/currentWorkingDir, the
386
+ // connect token, and refreshed local state.
387
+ heartbeat.start(AGENTHUB_AGENT_ID);
388
+ if (!AGENTHUB_DISABLE_WEBSOCKET)
389
+ wsClient.connect(AGENTHUB_AGENT_ID);
390
+ console.error(`[AgentHub] Reconnected as: ${reconnected.name || AGENTHUB_AGENT_ID}`);
391
+ try {
392
+ const { reportInstalledSkills } = await import("./skillReporter.js");
393
+ await reportInstalledSkills(AGENTHUB_AGENT_ID, { client });
394
+ }
395
+ catch (e) {
396
+ console.error(`[skills] post-reconnect report crashed: ${e instanceof Error ? e.message : e}`);
397
+ }
397
398
  }
398
- catch (e) {
399
- console.error(`[skills] post-register report crashed: ${e instanceof Error ? e.message : e}`);
399
+ else {
400
+ // We HELD a token but the server rejected it. Do NOT silently
401
+ // disconnect + re-register — that rotates the connect token and, if this
402
+ // id is in use by another session/project, restarts the token ping-pong
403
+ // that orphaned `.agenthub/state`. Leave state intact and surface the
404
+ // real fix instead of clobbering.
405
+ console.error(`[AgentHub] Stored connect token for "${AGENTHUB_AGENT_ID}" was rejected by the server. ` +
406
+ `Not auto-re-registering — that rotates the token and can clobber another session using the ` +
407
+ `same id. If two projects share AGENTHUB_AGENT_ID=${AGENTHUB_AGENT_ID}, give each a unique id. ` +
408
+ `To intentionally take over this id on this machine, run the agent_register tool.`);
400
409
  }
401
410
  }
402
- catch (error) {
403
- const msg = error?.message || String(error);
404
- if (msg.includes("already registered")) {
405
- // Agent exists try disconnect + re-register, or reconnect from saved state
406
- console.error(`[AgentHub] Agent already registered, attempting reconnect...`);
407
- const workingDir = process.cwd();
408
- const existingState = state.loadState(workingDir);
409
- let connected = false;
410
- if (existingState && existingState.agent_id === AGENTHUB_AGENT_ID) {
411
- try {
412
- const rr = await client.reconnectAgent(existingState.agent_id, existingState.token, existingState.owner, AGENTHUB_MODEL);
413
- if (rr.reconnected) {
414
- currentAgentId = AGENTHUB_AGENT_ID;
415
- currentWorkingDir = workingDir;
416
- client.setConnectToken(existingState.token);
417
- heartbeat.start(AGENTHUB_AGENT_ID);
418
- if (!AGENTHUB_DISABLE_WEBSOCKET)
419
- wsClient.connect(AGENTHUB_AGENT_ID);
420
- console.error(`[AgentHub] Reconnected as: ${rr.name || AGENTHUB_AGENT_ID}`);
421
- connected = true;
422
- }
423
- }
424
- catch (reconnectErr) {
425
- console.error(`[AgentHub] Reconnect failed: ${reconnectErr}`);
426
- }
411
+ else {
412
+ // First run for this id (no state, or state belongs to a different id).
413
+ try {
414
+ const result = await client.registerAgent(AGENTHUB_AGENT_ID, undefined, undefined, undefined, AGENTHUB_MODEL);
415
+ currentAgentId = AGENTHUB_AGENT_ID;
416
+ currentWorkingDir = workingDir;
417
+ // Save state so future sessions reconnect with the token.
418
+ state.saveState(workingDir, {
419
+ agent_id: AGENTHUB_AGENT_ID,
420
+ token: result.token,
421
+ name: result.name,
422
+ owner: state.getCurrentOwner(),
423
+ project_id: "",
424
+ project_key: "",
425
+ org_id: "",
426
+ registered_at: result.registered_at || new Date().toISOString(),
427
+ });
428
+ client.setConnectToken(result.token);
429
+ heartbeat.start(AGENTHUB_AGENT_ID);
430
+ if (!AGENTHUB_DISABLE_WEBSOCKET)
431
+ wsClient.connect(AGENTHUB_AGENT_ID);
432
+ console.error(`Auto-registered as agent: ${AGENTHUB_AGENT_ID}`);
433
+ // Report bundled-skill inventory now that we have a connect token.
434
+ // Non-fatal register itself stays the source of truth for online state.
435
+ try {
436
+ const { reportInstalledSkills } = await import("./skillReporter.js");
437
+ await reportInstalledSkills(AGENTHUB_AGENT_ID, { client });
427
438
  }
428
- if (!connected) {
429
- // No saved token or reconnect failed disconnect and re-register
430
- try {
431
- console.error(`[AgentHub] Disconnecting stale registration...`);
432
- await client.disconnect(AGENTHUB_AGENT_ID);
433
- const result = await client.registerAgent(AGENTHUB_AGENT_ID, undefined, undefined, undefined, AGENTHUB_MODEL);
434
- currentAgentId = AGENTHUB_AGENT_ID;
435
- currentWorkingDir = workingDir;
436
- state.saveState(workingDir, {
437
- agent_id: AGENTHUB_AGENT_ID,
438
- token: result.token,
439
- name: result.name,
440
- owner: state.getCurrentOwner(),
441
- project_id: "",
442
- project_key: "",
443
- org_id: "",
444
- registered_at: result.registered_at || new Date().toISOString(),
445
- });
446
- client.setConnectToken(result.token);
447
- heartbeat.start(AGENTHUB_AGENT_ID);
448
- if (!AGENTHUB_DISABLE_WEBSOCKET)
449
- wsClient.connect(AGENTHUB_AGENT_ID);
450
- console.error(`[AgentHub] Re-registered as agent: ${AGENTHUB_AGENT_ID}`);
451
- }
452
- catch (reregErr) {
453
- console.error(`[AgentHub] Re-register failed: ${reregErr}`);
454
- }
439
+ catch (e) {
440
+ console.error(`[skills] post-register report crashed: ${e instanceof Error ? e.message : e}`);
455
441
  }
456
442
  }
457
- else {
458
- console.error(`Failed to auto-register: ${error}`);
443
+ catch (error) {
444
+ const msg = error?.message || String(error);
445
+ if (msg.includes("already registered")) {
446
+ // The id exists on the server but this machine holds no token for it
447
+ // (e.g. fresh checkout). Registering would rotate the token and knock
448
+ // the real holder offline, so refuse and point at the deliberate path.
449
+ console.error(`[AgentHub] Agent "${AGENTHUB_AGENT_ID}" is already registered on the server, but no local ` +
450
+ `connect token was found for it. Run the agent_register tool to obtain a token for this ` +
451
+ `machine (or, if this is a different agent, set a unique AGENTHUB_AGENT_ID).`);
452
+ }
453
+ else {
454
+ console.error(`Failed to auto-register: ${error}`);
455
+ }
459
456
  }
460
457
  }
461
458
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Startup identity resolution for a session pinned to a fixed AGENTHUB_AGENT_ID.
3
+ *
4
+ * Reconnect-first: the connect token saved in `.agenthub/state` (id + token) is
5
+ * the agent's primary identity across sessions. A returning session re-attaches
6
+ * by token instead of re-registering, because `register` rotates the connect
7
+ * token on the server — and if two projects share one AGENTHUB_AGENT_ID, each
8
+ * re-registration invalidates the other's stored token (the recurring
9
+ * "krishi-dev" failure: state kept getting orphaned and manually renamed to
10
+ * `state.stale-bak-<date>`). We only register when there is no usable token for
11
+ * this id (first run on this machine, or the stored state is for a different id
12
+ * because AGENTHUB_AGENT_ID was changed).
13
+ */
14
+ import type { AgentState } from "./state.js";
15
+ export type StartupPlan = {
16
+ action: "reconnect";
17
+ agentId: string;
18
+ } | {
19
+ action: "register";
20
+ agentId: string;
21
+ };
22
+ /**
23
+ * Decide how a session with a fixed agent id should come online.
24
+ *
25
+ * - `reconnect` when local state holds a token for this exact id.
26
+ * - `register` otherwise (no state, or state belongs to a different id).
27
+ *
28
+ * Note: a *failed* reconnect must NOT fall through to register — that is the
29
+ * silent token-rotation clobber. The caller surfaces an actionable conflict
30
+ * instead. This function only decides the initial action from local state.
31
+ */
32
+ export declare function planStartup(existingState: AgentState | null, agentId: string): StartupPlan;
33
+ //# sourceMappingURL=startup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAK1F"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Startup identity resolution for a session pinned to a fixed AGENTHUB_AGENT_ID.
3
+ *
4
+ * Reconnect-first: the connect token saved in `.agenthub/state` (id + token) is
5
+ * the agent's primary identity across sessions. A returning session re-attaches
6
+ * by token instead of re-registering, because `register` rotates the connect
7
+ * token on the server — and if two projects share one AGENTHUB_AGENT_ID, each
8
+ * re-registration invalidates the other's stored token (the recurring
9
+ * "krishi-dev" failure: state kept getting orphaned and manually renamed to
10
+ * `state.stale-bak-<date>`). We only register when there is no usable token for
11
+ * this id (first run on this machine, or the stored state is for a different id
12
+ * because AGENTHUB_AGENT_ID was changed).
13
+ */
14
+ /**
15
+ * Decide how a session with a fixed agent id should come online.
16
+ *
17
+ * - `reconnect` when local state holds a token for this exact id.
18
+ * - `register` otherwise (no state, or state belongs to a different id).
19
+ *
20
+ * Note: a *failed* reconnect must NOT fall through to register — that is the
21
+ * silent token-rotation clobber. The caller surfaces an actionable conflict
22
+ * instead. This function only decides the initial action from local state.
23
+ */
24
+ export function planStartup(existingState, agentId) {
25
+ if (existingState && existingState.agent_id === agentId) {
26
+ return { action: "reconnect", agentId };
27
+ }
28
+ return { action: "register", agentId };
29
+ }
30
+ //# sourceMappingURL=startup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,aAAgC,EAAE,OAAe;IAC3E,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=startup.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup.test.d.ts","sourceRoot":"","sources":["../src/startup.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { planStartup } from "./startup.js";
3
+ function mkState(overrides = {}) {
4
+ return {
5
+ agent_id: "krishi-dev",
6
+ name: "krishi-dev",
7
+ owner: "Sumit",
8
+ token: "tok-abc",
9
+ project_id: "",
10
+ project_key: "",
11
+ org_id: "",
12
+ registered_at: "2026-05-19T10:40:53.923Z",
13
+ ...overrides,
14
+ };
15
+ }
16
+ describe("planStartup — reconnect-first identity resolution", () => {
17
+ it("reconnects when local state holds a token for this id (the primary path for returning sessions)", () => {
18
+ const plan = planStartup(mkState(), "krishi-dev");
19
+ expect(plan).toEqual({ action: "reconnect", agentId: "krishi-dev" });
20
+ });
21
+ it("registers when there is no local state (genuine first run on this machine)", () => {
22
+ const plan = planStartup(null, "krishi-dev");
23
+ expect(plan).toEqual({ action: "register", agentId: "krishi-dev" });
24
+ });
25
+ it("registers when local state belongs to a DIFFERENT id (AGENTHUB_AGENT_ID was changed)", () => {
26
+ const plan = planStartup(mkState({ agent_id: "some-old-id" }), "krishi-dev");
27
+ expect(plan).toEqual({ action: "register", agentId: "krishi-dev" });
28
+ });
29
+ it("never returns register when a usable token exists for the id — that is what rotated the token and clobbered the shared id", () => {
30
+ // Regression guard for the krishi-dev failure: register-first re-stamped the
31
+ // row every session. With a matching token present the plan must be reconnect.
32
+ const plan = planStartup(mkState({ token: "still-valid" }), "krishi-dev");
33
+ expect(plan.action).toBe("reconnect");
34
+ });
35
+ });
36
+ //# sourceMappingURL=startup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup.test.js","sourceRoot":"","sources":["../src/startup.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,SAAS,OAAO,CAAC,YAAiC,EAAE;IAClD,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,0BAA0B;QACzC,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IACjE,EAAE,CAAC,iGAAiG,EAAE,GAAG,EAAE;QACzG,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2HAA2H,EAAE,GAAG,EAAE;QACnI,6EAA6E;QAC7E,+EAA+E;QAC/E,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agenthub-multiagent-mcp",
3
- "version": "1.28.0",
3
+ "version": "1.29.0",
4
4
  "description": "MCP server for AgentHub multi-agent communication",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",