agenthub-multiagent-mcp 1.37.2 → 1.38.1

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/daemon.js CHANGED
@@ -19,8 +19,10 @@ import * as fs from "fs";
19
19
  import * as path from "path";
20
20
  import * as os from "os";
21
21
  import { fileURLToPath } from "url";
22
- import { fetchEmployee, buildShiftPrompt } from "./employee.js";
22
+ import { fetchEmployee, buildShiftPrompt, buildFastSystemPrompt } from "./employee.js";
23
23
  import { employeeModel, shouldAutoRespond } from "./daemonPolicy.js";
24
+ import { loadFastPathConfig, fastReply } from "./fastpath.js";
25
+ import { retrieveContext } from "./grounding.js";
24
26
  import { ensureIdentity } from "./daemonIdentity.js";
25
27
  import { ApiClient } from "./client.js";
26
28
  import * as state from "./state.js";
@@ -37,6 +39,10 @@ const API_URL = process.env.AGENTHUB_URL || "https://agenthub.contetial.com";
37
39
  const WS_URL = API_URL.replace(/^https:/, "wss:").replace(/^http:/, "ws:");
38
40
  const MAX_CONCURRENT = parseInt(getArg("max-concurrent") || "1", 10);
39
41
  const CLAUDE_CMD = getArg("claude-cmd") || "claude";
42
+ // add-employee-fastpath-cliproxy — conversational replies go through a single
43
+ // OpenAI-compatible completion (Gemini via CLIProxyAPI) when enabled, falling
44
+ // back to the claude -p fast shift on any failure.
45
+ const fastPathConfig = loadFastPathConfig();
40
46
  if (!AGENT_ID) {
41
47
  console.error("Error: --agent-id or AGENTHUB_AGENT_ID required");
42
48
  process.exit(1);
@@ -246,16 +252,24 @@ function handleWSMessage(msg) {
246
252
  log(` ↩︎ ignoring ${m.type} from ${m.from_agent} (no auto-reply)`);
247
253
  return;
248
254
  }
255
+ // Detailed work (task-type) runs the full charter shift on claude -p,
256
+ // Claude-only with MCP — unchanged.
257
+ if (isTask) {
258
+ const taskPrompt = `You received a message on AgentHub.\n\nFrom: ${m.from_agent}\nSubject: ${m.subject}\nType: ${m.type}\nPriority: ${m.priority}\n\nBody:\n${m.body}\n\nUse AgentHub MCP tools to reply with message_id="${m.id}".`;
259
+ const employeeTaskPrompt = employeeCtx
260
+ ? buildShiftPrompt(employeeCtx, {
261
+ kind: "message", messageId: m.id, fromAgent: m.from_agent,
262
+ subject: m.subject, body: m.body,
263
+ })
264
+ : taskPrompt;
265
+ spawnClaude(employeeTaskPrompt, m.id, m.from_agent, true);
266
+ return;
267
+ }
268
+ // Conversational (non-task) reply — add-employee-fastpath-cliproxy: prefer
269
+ // the fast LLM path (one completion, ~1-3s); fall back to the claude -p
270
+ // fast shift on any failure so a dead proxy never blocks a reply.
249
271
  const fastPrompt = `You are ${AGENT_ID}, an autonomous agent on AgentHub. You answer messages directly and concisely. Output only your answer text, nothing else.\n\n${m.from_agent} asks: ${m.body}`;
250
- const taskPrompt = `You received a message on AgentHub.\n\nFrom: ${m.from_agent}\nSubject: ${m.subject}\nType: ${m.type}\nPriority: ${m.priority}\n\nBody:\n${m.body}\n\nUse AgentHub MCP tools to reply with message_id="${m.id}".`;
251
- // Employees run task-type messages as charter-grounded shifts (§1.2).
252
- const employeeTaskPrompt = employeeCtx
253
- ? buildShiftPrompt(employeeCtx, {
254
- kind: "message", messageId: m.id, fromAgent: m.from_agent,
255
- subject: m.subject, body: m.body,
256
- })
257
- : taskPrompt;
258
- spawnClaude(isTask ? employeeTaskPrompt : fastPrompt, m.id, m.from_agent, isTask);
272
+ void handleFastReply(m, fastPrompt);
259
273
  return;
260
274
  }
261
275
  if (msg.type === "task" && msg.task) {
@@ -412,6 +426,72 @@ function spawnClaude(prompt, messageId, fromAgent, isTask = false) {
412
426
  }, 600_000);
413
427
  }
414
428
  // =============================================================================
429
+ // Fast conversational reply (add-employee-fastpath-cliproxy)
430
+ // =============================================================================
431
+ // handleFastReply answers a conversational (non-task) message with a single
432
+ // fast-path completion instead of booting a claude -p shift. On disabled /
433
+ // error / timeout it falls back to the claude -p fast shift, so no reply is
434
+ // ever dropped. The in-flight completion counts against activeProcesses (the
435
+ // fetch, not a process); the fallback's spawnClaude manages its own counter.
436
+ async function handleFastReply(m, fallbackPrompt) {
437
+ if (!fastPathConfig.enabled) {
438
+ spawnClaude(fallbackPrompt, m.id, m.from_agent, false);
439
+ return;
440
+ }
441
+ activeProcesses++;
442
+ const startTime = Date.now();
443
+ let answer = null;
444
+ let errMsg = null;
445
+ try {
446
+ const system = employeeCtx
447
+ ? buildFastSystemPrompt(employeeCtx)
448
+ : `You are ${AGENT_ID}, an autonomous agent on AgentHub. Answer directly and concisely. Output only your answer text, nothing else.`;
449
+ // Expert RAG grounding (Phase 2): for the Expert charter, retrieve brain/
450
+ // intel/code context and fold it into the prompt so channel @AgentHub
451
+ // answers stay grounded. Best-effort — retrieveContext never throws and a
452
+ // miss degrades to an ungrounded reply, it does not trigger the fallback.
453
+ let user = `${m.from_agent} asks: ${m.body}`;
454
+ if (employeeCtx?.charter.role_name === "Expert" &&
455
+ fastPathConfig.expertGrounding &&
456
+ m.body.trim()) {
457
+ // The worker connect token carries org context; the global API key does
458
+ // not (server combinedAuth leaves the legacy-key path org-less), so the
459
+ // org-scoped brain/intel/code reads return no_org/empty without it.
460
+ const connectToken = state.loadState(PROJECT_DIR)?.token;
461
+ const context = await retrieveContext({
462
+ apiUrl: API_URL,
463
+ apiKey: API_KEY,
464
+ connectToken,
465
+ query: m.body,
466
+ k: fastPathConfig.groundingK,
467
+ timeoutMs: fastPathConfig.timeoutMs,
468
+ });
469
+ if (context) {
470
+ user = `Use the AgentHub knowledge below to ground your answer. If it does not cover the question, say so and answer from general knowledge — do not invent specifics.\n\n<context>\n${context}\n</context>\n\n${m.from_agent} asks: ${m.body}`;
471
+ log(`🔎 grounded Expert reply with ${context.length} chars of context`);
472
+ }
473
+ }
474
+ answer = await fastReply({ config: fastPathConfig, system, user });
475
+ }
476
+ catch (err) {
477
+ errMsg = err instanceof Error ? err.message : String(err);
478
+ }
479
+ finally {
480
+ activeProcesses--;
481
+ }
482
+ if (answer) {
483
+ const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
484
+ log(`⚡ fastpath reply in ${elapsed}s (${answer.length} chars)`);
485
+ await sendReply(m.id, m.from_agent, answer.slice(0, 5000), "fast");
486
+ if (!isShuttingDown)
487
+ void drainInbox();
488
+ }
489
+ else {
490
+ log(`↩︎ fastpath-fallback: ${errMsg} — using claude -p`);
491
+ spawnClaude(fallbackPrompt, m.id, m.from_agent, false);
492
+ }
493
+ }
494
+ // =============================================================================
415
495
  // AgentHub REST
416
496
  // =============================================================================
417
497
  async function sendReply(messageId, toAgent, body, tier = "fast") {
@@ -491,6 +571,7 @@ log(` Project: ${PROJECT_DIR}`);
491
571
  log(` Server: ${API_URL}`);
492
572
  log(` Mode: stateless (fresh claude -p per message)`);
493
573
  log(` Max concurrent: ${MAX_CONCURRENT}`);
574
+ log(` Fast path: ${fastPathConfig.enabled ? `${fastPathConfig.model} @ ${fastPathConfig.baseUrl}` : "off (claude -p)"}`);
494
575
  acquirePidLock();
495
576
  // fix-employee-daemon-org-context — repair the workspace identity before
496
577
  // accepting shifts. Workers load their connect token from .agenthub/state in
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,14 @@ export declare function fetchEmployee(apiUrl: string, apiKey: string, agentId: s
56
56
  * → the shift loop contract (perceive/plan/act/report).
57
57
  */
58
58
  export declare function buildShiftPrompt(ctx: EmployeeContext, trigger: ShiftTrigger): string;
59
+ /**
60
+ * buildFastSystemPrompt renders the in-role system prompt for the fast
61
+ * conversational reply path (add-employee-fastpath-cliproxy). Unlike
62
+ * buildShiftPrompt it carries NO tool/shift-loop machinery — the fast path is a
63
+ * single text completion with no tool access — just identity + charter + the
64
+ * answer-only contract.
65
+ */
66
+ export declare function buildFastSystemPrompt(ctx: EmployeeContext): string;
59
67
  /**
60
68
  * Engineering IC charter template — the P1 first hire. Used as the default by
61
69
  * employee_hire when role_name is "Engineering IC" and no guardrails given.
@@ -1 +1 @@
1
- {"version":3,"file":"employee.d.ts","sourceRoot":"","sources":["../src/employee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAwBjC;AAKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAkEpF;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE;IAC7C,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;CAC7D,CAiBA,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;CAcjB,CAAC"}
1
+ {"version":3,"file":"employee.d.ts","sourceRoot":"","sources":["../src/employee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAwBjC;AAKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAkEpF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CASlE;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE;IAC7C,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;CAC7D,CAiBA,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;CAcjB,CAAC"}
package/dist/employee.js CHANGED
@@ -109,6 +109,23 @@ export function buildShiftPrompt(ctx, trigger) {
109
109
  ].join("\n");
110
110
  return [charterBlock, rules, triggerBlock, loop].join("\n\n");
111
111
  }
112
+ /**
113
+ * buildFastSystemPrompt renders the in-role system prompt for the fast
114
+ * conversational reply path (add-employee-fastpath-cliproxy). Unlike
115
+ * buildShiftPrompt it carries NO tool/shift-loop machinery — the fast path is a
116
+ * single text completion with no tool access — just identity + charter + the
117
+ * answer-only contract.
118
+ */
119
+ export function buildFastSystemPrompt(ctx) {
120
+ const c = ctx.charter;
121
+ return [
122
+ `You are "${ctx.agentId}", an AI employee on AgentHub.`,
123
+ `Role: ${c.role_name} (tier: ${ctx.tier}).`,
124
+ c.mission ? `Mission: ${c.mission}` : "",
125
+ c.scope ? `Scope: ${c.scope}` : "",
126
+ "Answer the message directly, accurately, and concisely. Output ONLY the answer text — no preamble, no narration of your process, no sign-off. If unsure, say so rather than guessing. You cannot take actions or use tools here; if the request needs an action, say it must be handled as a task.",
127
+ ].filter(Boolean).join("\n");
128
+ }
112
129
  /**
113
130
  * Engineering IC charter template — the P1 first hire. Used as the default by
114
131
  * employee_hire when role_name is "Engineering IC" and no guardrails given.
@@ -1 +1 @@
1
- {"version":3,"file":"employee.js","sourceRoot":"","sources":["../src/employee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"employee.js","sourceRoot":"","sources":["../src/employee.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
- import { fetchEmployee, buildShiftPrompt, ENG_IC_CHARTER, } from "./employee.js";
2
+ import { fetchEmployee, buildShiftPrompt, buildFastSystemPrompt, ENG_IC_CHARTER, } from "./employee.js";
3
3
  // add-ai-agent-employees §1 — the employee layer must (a) never break the
4
4
  // plain daemon when the agent isn't an employee / the feature is off, and
5
5
  // (b) render shift prompts that carry the charter + tier supervision rules.
@@ -113,4 +113,23 @@ describe("ENG_IC_CHARTER template", () => {
113
113
  expect(ENG_IC_CHARTER.scope).toContain("feature branches");
114
114
  });
115
115
  });
116
+ // add-employee-fastpath-cliproxy — the fast-path system prompt is the charter
117
+ // without any tool/shift-loop machinery (the fast path has no tool access).
118
+ describe("buildFastSystemPrompt", () => {
119
+ it("carries identity + charter but NO tool/shift-loop instructions", () => {
120
+ const p = buildFastSystemPrompt(ctx("probationary"));
121
+ expect(p).toContain("eng-ic-1");
122
+ expect(p).toContain("Engineering IC");
123
+ expect(p).toContain("Mission:");
124
+ // none of the shift-loop / tool machinery leaks into a text-only completion
125
+ expect(p).not.toContain("submit_plan");
126
+ expect(p).not.toContain("SHIFT LOOP");
127
+ expect(p).not.toContain("check_inbox");
128
+ });
129
+ it("instructs answer-only output and disclaims tool/action ability", () => {
130
+ const p = buildFastSystemPrompt(ctx("senior"));
131
+ expect(p).toMatch(/ONLY the answer/i);
132
+ expect(p).toMatch(/cannot take actions|handled as a task/i);
133
+ });
134
+ });
116
135
  //# sourceMappingURL=employee.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"employee.test.js","sourceRoot":"","sources":["../src/employee.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"employee.test.js","sourceRoot":"","sources":["../src/employee.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * add-employee-fastpath-cliproxy — the fast conversational reply path.
3
+ *
4
+ * Conversational (non-task) replies are answered by a single OpenAI-compatible
5
+ * chat completion to a configured endpoint — CLIProxyAPI's Gemini proxy, which
6
+ * runs on the same VPS as the employee daemon (loopback http://127.0.0.1:8317).
7
+ * That collapses the Tier-1 ~20-40s `claude -p` boot to ~1-3s. The caller treats
8
+ * ANY throw from fastReply() as "fall back to the claude -p fast shift", so a
9
+ * disabled / dead / slow proxy never blocks a reply.
10
+ *
11
+ * The fast path is text-generation only — no tool access — so it cannot invoke
12
+ * capabilities; the charter ∧ tier chokepoint stays enforced on the task-shift
13
+ * path alone.
14
+ */
15
+ export interface FastPathConfig {
16
+ enabled: boolean;
17
+ baseUrl: string;
18
+ model: string;
19
+ apiKey: string;
20
+ timeoutMs: number;
21
+ /** Phase 2 — RAG-ground Expert replies with brain/intel/code (default on). */
22
+ expertGrounding: boolean;
23
+ /** Top-k per knowledge source for Expert grounding. */
24
+ groundingK: number;
25
+ }
26
+ /** Reads the fast-path config from the environment (all opt-in; default off). */
27
+ export declare function loadFastPathConfig(env?: NodeJS.ProcessEnv): FastPathConfig;
28
+ export interface FastReplyParams {
29
+ config: FastPathConfig;
30
+ system: string;
31
+ user: string;
32
+ }
33
+ /**
34
+ * fastReply issues one OpenAI-compatible chat completion and returns the
35
+ * assistant's text. Throws on disabled, network error, timeout, non-2xx, or an
36
+ * empty/malformed response — every throw is the caller's signal to fall back to
37
+ * the `claude -p` fast shift.
38
+ */
39
+ export declare function fastReply({ config, system, user }: FastReplyParams): Promise<string>;
40
+ //# sourceMappingURL=fastpath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastpath.d.ts","sourceRoot":"","sources":["../src/fastpath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,eAAe,EAAE,OAAO,CAAC;IACzB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAYvF;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC1F"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * add-employee-fastpath-cliproxy — the fast conversational reply path.
3
+ *
4
+ * Conversational (non-task) replies are answered by a single OpenAI-compatible
5
+ * chat completion to a configured endpoint — CLIProxyAPI's Gemini proxy, which
6
+ * runs on the same VPS as the employee daemon (loopback http://127.0.0.1:8317).
7
+ * That collapses the Tier-1 ~20-40s `claude -p` boot to ~1-3s. The caller treats
8
+ * ANY throw from fastReply() as "fall back to the claude -p fast shift", so a
9
+ * disabled / dead / slow proxy never blocks a reply.
10
+ *
11
+ * The fast path is text-generation only — no tool access — so it cannot invoke
12
+ * capabilities; the charter ∧ tier chokepoint stays enforced on the task-shift
13
+ * path alone.
14
+ */
15
+ /** Reads the fast-path config from the environment (all opt-in; default off). */
16
+ export function loadFastPathConfig(env = process.env) {
17
+ return {
18
+ enabled: env.AGENTHUB_FASTPATH_ENABLED === "true",
19
+ baseUrl: (env.AGENTHUB_FASTPATH_BASE_URL || "http://127.0.0.1:8317/v1").replace(/\/+$/, ""),
20
+ model: env.AGENTHUB_FASTPATH_MODEL || "gemini-3-flash-preview",
21
+ apiKey: env.AGENTHUB_FASTPATH_API_KEY || "",
22
+ timeoutMs: parseInt(env.AGENTHUB_FASTPATH_TIMEOUT_MS || "20000", 10),
23
+ // Grounding is on by default but only fires for Expert employees when the
24
+ // (already-off-by-default) fast path is enabled — opt out with "false".
25
+ expertGrounding: env.AGENTHUB_FASTPATH_EXPERT_GROUNDING !== "false",
26
+ groundingK: parseInt(env.AGENTHUB_FASTPATH_GROUNDING_K || "4", 10),
27
+ };
28
+ }
29
+ /**
30
+ * fastReply issues one OpenAI-compatible chat completion and returns the
31
+ * assistant's text. Throws on disabled, network error, timeout, non-2xx, or an
32
+ * empty/malformed response — every throw is the caller's signal to fall back to
33
+ * the `claude -p` fast shift.
34
+ */
35
+ export async function fastReply({ config, system, user }) {
36
+ if (!config.enabled)
37
+ throw new Error("fastpath disabled");
38
+ const controller = new AbortController();
39
+ const timer = setTimeout(() => controller.abort(), config.timeoutMs);
40
+ try {
41
+ const resp = await fetch(`${config.baseUrl}/chat/completions`, {
42
+ method: "POST",
43
+ headers: {
44
+ "Content-Type": "application/json",
45
+ ...(config.apiKey ? { Authorization: `Bearer ${config.apiKey}` } : {}),
46
+ },
47
+ body: JSON.stringify({
48
+ model: config.model,
49
+ messages: [
50
+ { role: "system", content: system },
51
+ { role: "user", content: user },
52
+ ],
53
+ stream: false,
54
+ }),
55
+ signal: controller.signal,
56
+ });
57
+ if (!resp.ok) {
58
+ throw new Error(`fastpath HTTP ${resp.status}`);
59
+ }
60
+ const data = (await resp.json());
61
+ const text = data.choices?.[0]?.message?.content?.trim();
62
+ if (!text)
63
+ throw new Error("fastpath empty response");
64
+ return text;
65
+ }
66
+ finally {
67
+ clearTimeout(timer);
68
+ }
69
+ }
70
+ //# sourceMappingURL=fastpath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastpath.js","sourceRoot":"","sources":["../src/fastpath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACrE,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,yBAAyB,KAAK,MAAM;QACjD,OAAO,EAAE,CAAC,GAAG,CAAC,0BAA0B,IAAI,0BAA0B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3F,KAAK,EAAE,GAAG,CAAC,uBAAuB,IAAI,wBAAwB;QAC9D,MAAM,EAAE,GAAG,CAAC,yBAAyB,IAAI,EAAE;QAC3C,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,4BAA4B,IAAI,OAAO,EAAE,EAAE,CAAC;QACpE,0EAA0E;QAC1E,wEAAwE;QACxE,eAAe,EAAE,GAAG,CAAC,kCAAkC,KAAK,OAAO;QACnE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,6BAA6B,IAAI,GAAG,EAAE,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAYD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAmB;IACvE,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,mBAAmB,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;oBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;iBAChC;gBACD,MAAM,EAAE,KAAK;aACd,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fastpath.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastpath.test.d.ts","sourceRoot":"","sources":["../src/fastpath.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,96 @@
1
+ import { describe, it, expect, vi, afterEach } from "vitest";
2
+ import { loadFastPathConfig, fastReply } from "./fastpath.js";
3
+ // add-employee-fastpath-cliproxy — the fast conversational reply path.
4
+ const baseConfig = {
5
+ enabled: true,
6
+ baseUrl: "http://127.0.0.1:8317/v1",
7
+ model: "gemini-3-flash-preview",
8
+ apiKey: "",
9
+ timeoutMs: 20000,
10
+ expertGrounding: true,
11
+ groundingK: 4,
12
+ };
13
+ afterEach(() => {
14
+ vi.restoreAllMocks();
15
+ vi.unstubAllGlobals();
16
+ });
17
+ describe("loadFastPathConfig", () => {
18
+ it("defaults to disabled with the loopback proxy + flash model", () => {
19
+ const c = loadFastPathConfig({});
20
+ expect(c.enabled).toBe(false);
21
+ expect(c.baseUrl).toBe("http://127.0.0.1:8317/v1");
22
+ expect(c.model).toBe("gemini-3-flash-preview");
23
+ expect(c.timeoutMs).toBe(20000);
24
+ // Grounding defaults on (only fires for Expert + enabled fast path), k=4.
25
+ expect(c.expertGrounding).toBe(true);
26
+ expect(c.groundingK).toBe(4);
27
+ });
28
+ it("opts out of Expert grounding only on the literal string 'false'", () => {
29
+ expect(loadFastPathConfig({ AGENTHUB_FASTPATH_EXPERT_GROUNDING: "false" }).expertGrounding).toBe(false);
30
+ expect(loadFastPathConfig({ AGENTHUB_FASTPATH_EXPERT_GROUNDING: "0" }).expertGrounding).toBe(true);
31
+ expect(loadFastPathConfig({ AGENTHUB_FASTPATH_GROUNDING_K: "8" }).groundingK).toBe(8);
32
+ });
33
+ it("reads env overrides and strips a trailing slash from the base url", () => {
34
+ const c = loadFastPathConfig({
35
+ AGENTHUB_FASTPATH_ENABLED: "true",
36
+ AGENTHUB_FASTPATH_BASE_URL: "http://proxy.local:9000/v1/",
37
+ AGENTHUB_FASTPATH_MODEL: "gemini-3.1-pro-preview",
38
+ AGENTHUB_FASTPATH_API_KEY: "k",
39
+ AGENTHUB_FASTPATH_TIMEOUT_MS: "5000",
40
+ });
41
+ expect(c.enabled).toBe(true);
42
+ expect(c.baseUrl).toBe("http://proxy.local:9000/v1");
43
+ expect(c.model).toBe("gemini-3.1-pro-preview");
44
+ expect(c.apiKey).toBe("k");
45
+ expect(c.timeoutMs).toBe(5000);
46
+ });
47
+ });
48
+ describe("fastReply", () => {
49
+ it("throws when the fast path is disabled (caller falls back to claude -p)", async () => {
50
+ await expect(fastReply({ config: { ...baseConfig, enabled: false }, system: "s", user: "u" })).rejects.toThrow(/disabled/);
51
+ });
52
+ it("returns the assistant text on a 200 completion", async () => {
53
+ const fetchMock = vi.fn().mockResolvedValue({
54
+ ok: true,
55
+ json: async () => ({ choices: [{ message: { content: " drip irrigation saves water " } }] }),
56
+ });
57
+ vi.stubGlobal("fetch", fetchMock);
58
+ const out = await fastReply({ config: baseConfig, system: "s", user: "u" });
59
+ expect(out).toBe("drip irrigation saves water");
60
+ // OpenAI-compatible shape: POST {base}/chat/completions with system+user.
61
+ const [url, init] = fetchMock.mock.calls[0];
62
+ expect(url).toBe("http://127.0.0.1:8317/v1/chat/completions");
63
+ const body = JSON.parse(init.body);
64
+ expect(body.model).toBe("gemini-3-flash-preview");
65
+ expect(body.messages).toEqual([
66
+ { role: "system", content: "s" },
67
+ { role: "user", content: "u" },
68
+ ]);
69
+ });
70
+ it("sends a bearer header only when an api key is set", async () => {
71
+ const fetchMock = vi.fn().mockResolvedValue({
72
+ ok: true,
73
+ json: async () => ({ choices: [{ message: { content: "ok" } }] }),
74
+ });
75
+ vi.stubGlobal("fetch", fetchMock);
76
+ await fastReply({ config: { ...baseConfig, apiKey: "secret" }, system: "s", user: "u" });
77
+ const init = fetchMock.mock.calls[0][1];
78
+ expect(init.headers.Authorization).toBe("Bearer secret");
79
+ });
80
+ it("throws on a non-2xx response", async () => {
81
+ vi.stubGlobal("fetch", vi.fn().mockResolvedValue({ ok: false, status: 503, json: async () => ({}) }));
82
+ await expect(fastReply({ config: baseConfig, system: "s", user: "u" })).rejects.toThrow(/HTTP 503/);
83
+ });
84
+ it("throws on an empty/malformed completion", async () => {
85
+ vi.stubGlobal("fetch", vi.fn().mockResolvedValue({ ok: true, json: async () => ({ choices: [] }) }));
86
+ await expect(fastReply({ config: baseConfig, system: "s", user: "u" })).rejects.toThrow(/empty/);
87
+ });
88
+ it("aborts and throws when the request exceeds the timeout", async () => {
89
+ // fetch that only rejects when the abort signal fires.
90
+ vi.stubGlobal("fetch", vi.fn((_url, init) => new Promise((_resolve, reject) => {
91
+ init.signal.addEventListener("abort", () => reject(new DOMException("aborted", "AbortError")));
92
+ })));
93
+ await expect(fastReply({ config: { ...baseConfig, timeoutMs: 5 }, system: "s", user: "u" })).rejects.toThrow();
94
+ });
95
+ });
96
+ //# sourceMappingURL=fastpath.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastpath.test.js","sourceRoot":"","sources":["../src/fastpath.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * add-employee-fastpath-cliproxy Phase 2 — Expert RAG grounding.
3
+ *
4
+ * Before an Expert answers on the fast path, pull top-k context from org brain
5
+ * + intel + code recall over HTTP and fold it into the prompt, so channel
6
+ * @AgentHub answers stay grounded in AgentHub knowledge while still returning
7
+ * from a single fast completion. Retrieval is best-effort: each source is
8
+ * queried independently and any failure (network, non-2xx, timeout, malformed)
9
+ * is skipped — a retrieval miss degrades to an ungrounded fast reply and NEVER
10
+ * throws, so it can never block the answer.
11
+ */
12
+ export interface GroundingParams {
13
+ apiUrl: string;
14
+ apiKey: string;
15
+ /**
16
+ * Worker connect token (.agenthub/state). Sent as X-Connect-Token so the
17
+ * server resolves the agent's ORG context — the global X-API-Key alone is
18
+ * org-less, which makes the org-scoped read endpoints return no_org / empty
19
+ * (combinedAuth: the legacy key path sets no org). Without this, grounding
20
+ * silently retrieves nothing.
21
+ */
22
+ connectToken?: string;
23
+ query: string;
24
+ k: number;
25
+ timeoutMs: number;
26
+ }
27
+ /**
28
+ * retrieveContext queries all three knowledge sources in parallel and returns a
29
+ * single formatted context block, capped to MAX_CONTEXT_CHARS. Returns "" when
30
+ * nothing useful comes back; the caller then answers ungrounded. Never throws.
31
+ */
32
+ export declare function retrieveContext(p: GroundingParams): Promise<string>;
33
+ //# sourceMappingURL=grounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grounding.d.ts","sourceRoot":"","sources":["../src/grounding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;CACnB;AA8FD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAazE"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * add-employee-fastpath-cliproxy Phase 2 — Expert RAG grounding.
3
+ *
4
+ * Before an Expert answers on the fast path, pull top-k context from org brain
5
+ * + intel + code recall over HTTP and fold it into the prompt, so channel
6
+ * @AgentHub answers stay grounded in AgentHub knowledge while still returning
7
+ * from a single fast completion. Retrieval is best-effort: each source is
8
+ * queried independently and any failure (network, non-2xx, timeout, malformed)
9
+ * is skipped — a retrieval miss degrades to an ungrounded fast reply and NEVER
10
+ * throws, so it can never block the answer.
11
+ */
12
+ /** Auth headers: connect token (carries org) preferred, API key as fallback. */
13
+ function authHeaders(p) {
14
+ const h = { "X-API-Key": p.apiKey };
15
+ if (p.connectToken)
16
+ h["X-Connect-Token"] = p.connectToken;
17
+ return h;
18
+ }
19
+ // Caps so the grounded prompt never balloons: per-snippet and total.
20
+ const MAX_SNIPPET_CHARS = 600;
21
+ const MAX_CONTEXT_CHARS = 6000;
22
+ /** Fetch + parse JSON, bounded by an abort timeout. Returns null on any failure. */
23
+ async function fetchJson(url, init, timeoutMs) {
24
+ const controller = new AbortController();
25
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
26
+ try {
27
+ const resp = await fetch(url, { ...init, signal: controller.signal });
28
+ if (!resp.ok)
29
+ return null;
30
+ return await resp.json();
31
+ }
32
+ catch {
33
+ return null;
34
+ }
35
+ finally {
36
+ clearTimeout(timer);
37
+ }
38
+ }
39
+ function clip(s) {
40
+ return s.length > MAX_SNIPPET_CHARS ? s.slice(0, MAX_SNIPPET_CHARS) : s;
41
+ }
42
+ /** Org brain — GET /api/brain/knowledge?q&limit → { knowledge: [{ fact, detail, category }] }. */
43
+ async function fromOrgBrain(p) {
44
+ const url = `${p.apiUrl}/api/brain/knowledge?q=${encodeURIComponent(p.query)}&limit=${p.k}`;
45
+ const data = (await fetchJson(url, { headers: authHeaders(p) }, p.timeoutMs));
46
+ return (data?.knowledge ?? [])
47
+ .slice(0, p.k)
48
+ .map((it) => {
49
+ const head = (it.fact ?? "").trim();
50
+ const detail = it.detail ? ` — ${it.detail.trim()}` : "";
51
+ return head ? clip(`[brain${it.category ? `/${it.category}` : ""}] ${head}${detail}`) : "";
52
+ })
53
+ .filter(Boolean);
54
+ }
55
+ /** Intel — POST /api/intel/search → { results: [{ snippet, path, kind }] }. */
56
+ async function fromIntel(p) {
57
+ const data = (await fetchJson(`${p.apiUrl}/api/intel/search`, {
58
+ method: "POST",
59
+ headers: { "Content-Type": "application/json", ...authHeaders(p) },
60
+ body: JSON.stringify({
61
+ query: p.query,
62
+ k: p.k,
63
+ include_snippets: true,
64
+ timeout_ms: p.timeoutMs,
65
+ }),
66
+ }, p.timeoutMs));
67
+ return (data?.results ?? [])
68
+ .slice(0, p.k)
69
+ .map((it) => {
70
+ const body = (it.snippet ?? "").trim();
71
+ const loc = it.path ? ` (${it.path})` : "";
72
+ return body ? clip(`[intel${it.kind ? `/${it.kind}` : ""}${loc}] ${body}`) : "";
73
+ })
74
+ .filter(Boolean);
75
+ }
76
+ /** Code brain — GET /api/brain/code/search?q&k → { hits: [{ snippet, title_or_symbol, path, kind }] }. */
77
+ async function fromCodeRecall(p) {
78
+ const url = `${p.apiUrl}/api/brain/code/search?q=${encodeURIComponent(p.query)}&k=${p.k}`;
79
+ const data = (await fetchJson(url, { headers: authHeaders(p) }, p.timeoutMs));
80
+ return (data?.hits ?? [])
81
+ .slice(0, p.k)
82
+ .map((it) => {
83
+ const body = (it.snippet ?? it.title_or_symbol ?? "").trim();
84
+ const loc = it.path ? ` (${it.path})` : "";
85
+ return body ? clip(`[code${it.kind ? `/${it.kind}` : ""}${loc}] ${body}`) : "";
86
+ })
87
+ .filter(Boolean);
88
+ }
89
+ /**
90
+ * retrieveContext queries all three knowledge sources in parallel and returns a
91
+ * single formatted context block, capped to MAX_CONTEXT_CHARS. Returns "" when
92
+ * nothing useful comes back; the caller then answers ungrounded. Never throws.
93
+ */
94
+ export async function retrieveContext(p) {
95
+ const [brain, intel, code] = await Promise.all([
96
+ fromOrgBrain(p).catch(() => []),
97
+ fromIntel(p).catch(() => []),
98
+ fromCodeRecall(p).catch(() => []),
99
+ ]);
100
+ let block = "";
101
+ for (const line of [...brain, ...intel, ...code]) {
102
+ if (block.length + line.length + 1 > MAX_CONTEXT_CHARS)
103
+ break;
104
+ block += line + "\n";
105
+ }
106
+ return block.trim();
107
+ }
108
+ //# sourceMappingURL=grounding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grounding.js","sourceRoot":"","sources":["../src/grounding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=grounding.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grounding.test.d.ts","sourceRoot":"","sources":["../src/grounding.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ import { describe, it, expect, vi, afterEach } from "vitest";
2
+ import { retrieveContext } from "./grounding.js";
3
+ // add-employee-fastpath-cliproxy Phase 2 — Expert RAG grounding.
4
+ const params = {
5
+ apiUrl: "https://agenthub.test",
6
+ apiKey: "k",
7
+ query: "how does drip irrigation scheduling work",
8
+ k: 4,
9
+ timeoutMs: 2000,
10
+ };
11
+ function jsonOk(body) {
12
+ return { ok: true, status: 200, json: async () => body };
13
+ }
14
+ // Route a mock by URL so each of the three sources can be controlled per test.
15
+ function routeFetch(handlers) {
16
+ return vi.fn(async (url, _init) => {
17
+ if (url.includes("/api/brain/knowledge")) {
18
+ if (handlers.brainThrows)
19
+ throw new Error("network");
20
+ return jsonOk(handlers.brain ?? { knowledge: [] });
21
+ }
22
+ if (url.includes("/api/intel/search"))
23
+ return jsonOk(handlers.intel ?? { results: [] });
24
+ if (url.includes("/api/brain/code/search"))
25
+ return jsonOk(handlers.code ?? { hits: [] });
26
+ return { ok: false, status: 404, json: async () => ({}) };
27
+ });
28
+ }
29
+ afterEach(() => vi.unstubAllGlobals());
30
+ describe("retrieveContext", () => {
31
+ it("assembles a context block from all three sources", async () => {
32
+ vi.stubGlobal("fetch", routeFetch({
33
+ brain: { knowledge: [{ fact: "Drip runs on a 30-min cycle", detail: "per zone", category: "decision" }] },
34
+ intel: { results: [{ snippet: "scheduler.go computes the cycle", path: "server/sched.go", kind: "code" }] },
35
+ code: { hits: [{ snippet: "func NextCycle()", title_or_symbol: "NextCycle", path: "sched.go", kind: "symbols" }] },
36
+ }));
37
+ const ctx = await retrieveContext(params);
38
+ expect(ctx).toContain("[brain/decision] Drip runs on a 30-min cycle — per zone");
39
+ expect(ctx).toContain("[intel/code (server/sched.go)] scheduler.go computes the cycle");
40
+ expect(ctx).toContain("[code/symbols (sched.go)] func NextCycle()");
41
+ });
42
+ it("returns '' when every source is empty (caller answers ungrounded)", async () => {
43
+ vi.stubGlobal("fetch", routeFetch({}));
44
+ expect(await retrieveContext(params)).toBe("");
45
+ });
46
+ it("degrades — one source failing still yields the others, never throws", async () => {
47
+ vi.stubGlobal("fetch", routeFetch({
48
+ brainThrows: true,
49
+ intel: { results: [{ snippet: "intel still works", path: "x.ts", kind: "doc" }] },
50
+ }));
51
+ const ctx = await retrieveContext(params);
52
+ expect(ctx).toContain("intel still works");
53
+ expect(ctx).not.toContain("[brain");
54
+ });
55
+ it("returns '' (does not throw) when a non-2xx comes back from all", async () => {
56
+ vi.stubGlobal("fetch", vi.fn(async () => ({ ok: false, status: 503, json: async () => ({}) })));
57
+ await expect(retrieveContext(params)).resolves.toBe("");
58
+ });
59
+ it("sends the query to brain (q=), intel (POST body), and code (q=)", async () => {
60
+ const fetchMock = routeFetch({
61
+ brain: { knowledge: [{ fact: "f" }] },
62
+ });
63
+ vi.stubGlobal("fetch", fetchMock);
64
+ await retrieveContext(params);
65
+ const urls = fetchMock.mock.calls.map((c) => c[0]);
66
+ expect(urls.some((u) => u.includes("/api/brain/knowledge?q=how"))).toBe(true);
67
+ expect(urls.some((u) => u.includes("/api/intel/search"))).toBe(true);
68
+ expect(urls.some((u) => u.includes("/api/brain/code/search?q=how"))).toBe(true);
69
+ const intelCall = fetchMock.mock.calls.find((c) => c[0].includes("/intel/search"));
70
+ const body = JSON.parse(intelCall[1].body);
71
+ expect(body.query).toBe(params.query);
72
+ expect(body.k).toBe(4);
73
+ expect(body.include_snippets).toBe(true);
74
+ });
75
+ it("sends X-Connect-Token (org context) on all three calls when provided", async () => {
76
+ const fetchMock = routeFetch({ brain: { knowledge: [{ fact: "f" }] } });
77
+ vi.stubGlobal("fetch", fetchMock);
78
+ await retrieveContext({ ...params, connectToken: "ct-123" });
79
+ for (const call of fetchMock.mock.calls) {
80
+ const headers = call[1].headers;
81
+ expect(headers["X-Connect-Token"]).toBe("ct-123");
82
+ expect(headers["X-API-Key"]).toBe("k"); // API key stays as fallback
83
+ }
84
+ });
85
+ it("omits X-Connect-Token when no token is available", async () => {
86
+ const fetchMock = routeFetch({ brain: { knowledge: [{ fact: "f" }] } });
87
+ vi.stubGlobal("fetch", fetchMock);
88
+ await retrieveContext(params); // no connectToken
89
+ const headers = fetchMock.mock.calls[0][1].headers;
90
+ expect(headers["X-Connect-Token"]).toBeUndefined();
91
+ });
92
+ });
93
+ //# sourceMappingURL=grounding.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grounding.test.js","sourceRoot":"","sources":["../src/grounding.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agenthub-multiagent-mcp",
3
- "version": "1.37.2",
3
+ "version": "1.38.1",
4
4
  "description": "MCP server for AgentHub multi-agent communication",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",