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 +79 -82
- package/dist/index.js.map +1 -1
- package/dist/startup.d.ts +33 -0
- package/dist/startup.d.ts.map +1 -0
- package/dist/startup.js +30 -0
- package/dist/startup.js.map +1 -0
- package/dist/startup.test.d.ts +2 -0
- package/dist/startup.test.d.ts.map +1 -0
- package/dist/startup.test.js +36 -0
- package/dist/startup.test.js.map +1 -0
- package/package.json +1 -1
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
|
-
//
|
|
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
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
token
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
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
|
-
|
|
399
|
-
|
|
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
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
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
|
-
|
|
429
|
-
|
|
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
|
-
|
|
458
|
-
|
|
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"}
|
package/dist/startup.js
ADDED
|
@@ -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 @@
|
|
|
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"}
|