agenthub-multiagent-mcp 1.37.1 → 1.38.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/daemon.js +86 -10
- package/dist/daemon.js.map +1 -1
- package/dist/employee.d.ts +8 -0
- package/dist/employee.d.ts.map +1 -1
- package/dist/employee.js +18 -1
- package/dist/employee.js.map +1 -1
- package/dist/employee.test.js +20 -1
- package/dist/employee.test.js.map +1 -1
- package/dist/fastpath.d.ts +40 -0
- package/dist/fastpath.d.ts.map +1 -0
- package/dist/fastpath.js +70 -0
- package/dist/fastpath.js.map +1 -0
- package/dist/fastpath.test.d.ts +2 -0
- package/dist/fastpath.test.d.ts.map +1 -0
- package/dist/fastpath.test.js +96 -0
- package/dist/fastpath.test.js.map +1 -0
- package/dist/grounding.d.ts +25 -0
- package/dist/grounding.d.ts.map +1 -0
- package/dist/grounding.js +101 -0
- package/dist/grounding.js.map +1 -0
- package/dist/grounding.test.d.ts +2 -0
- package/dist/grounding.test.d.ts.map +1 -0
- package/dist/grounding.test.js +76 -0
- package/dist/grounding.test.js.map +1 -0
- package/package.json +1 -1
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
|
-
|
|
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,67 @@ 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
|
+
const context = await retrieveContext({
|
|
458
|
+
apiUrl: API_URL,
|
|
459
|
+
apiKey: API_KEY,
|
|
460
|
+
query: m.body,
|
|
461
|
+
k: fastPathConfig.groundingK,
|
|
462
|
+
timeoutMs: fastPathConfig.timeoutMs,
|
|
463
|
+
});
|
|
464
|
+
if (context) {
|
|
465
|
+
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}`;
|
|
466
|
+
log(`🔎 grounded Expert reply with ${context.length} chars of context`);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
answer = await fastReply({ config: fastPathConfig, system, user });
|
|
470
|
+
}
|
|
471
|
+
catch (err) {
|
|
472
|
+
errMsg = err instanceof Error ? err.message : String(err);
|
|
473
|
+
}
|
|
474
|
+
finally {
|
|
475
|
+
activeProcesses--;
|
|
476
|
+
}
|
|
477
|
+
if (answer) {
|
|
478
|
+
const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
479
|
+
log(`⚡ fastpath reply in ${elapsed}s (${answer.length} chars)`);
|
|
480
|
+
await sendReply(m.id, m.from_agent, answer.slice(0, 5000), "fast");
|
|
481
|
+
if (!isShuttingDown)
|
|
482
|
+
void drainInbox();
|
|
483
|
+
}
|
|
484
|
+
else {
|
|
485
|
+
log(`↩︎ fastpath-fallback: ${errMsg} — using claude -p`);
|
|
486
|
+
spawnClaude(fallbackPrompt, m.id, m.from_agent, false);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
// =============================================================================
|
|
415
490
|
// AgentHub REST
|
|
416
491
|
// =============================================================================
|
|
417
492
|
async function sendReply(messageId, toAgent, body, tier = "fast") {
|
|
@@ -491,6 +566,7 @@ log(` Project: ${PROJECT_DIR}`);
|
|
|
491
566
|
log(` Server: ${API_URL}`);
|
|
492
567
|
log(` Mode: stateless (fresh claude -p per message)`);
|
|
493
568
|
log(` Max concurrent: ${MAX_CONCURRENT}`);
|
|
569
|
+
log(` Fast path: ${fastPathConfig.enabled ? `${fastPathConfig.model} @ ${fastPathConfig.baseUrl}` : "off (claude -p)"}`);
|
|
494
570
|
acquirePidLock();
|
|
495
571
|
// fix-employee-daemon-org-context — repair the workspace identity before
|
|
496
572
|
// accepting shifts. Workers load their connect token from .agenthub/state in
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAEH,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAwB,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,sBAAsB;AACtB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,SAAS,MAAM,CAAC,IAAY;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACtC,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;AAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,gCAAgC,CAAC;AAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3E,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AACrE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC;AAEpD,IAAI,CAAC,QAAQ,EAAE,CAAC;IACd,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,CAAC,OAAO,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,sEAAsE;AACtE,gFAAgF;AAEhF,IAAI,aAAa,GAAkB,IAAI,CAAC;AACxC,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAE7C,SAAS,mBAAmB;IAC1B,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG;QACb,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,CAAC,SAAS,CAAC;gBACjB,GAAG,EAAE;oBACH,YAAY,EAAE,OAAO;oBACrB,gBAAgB,EAAE,OAAO;oBACzB,iBAAiB,EAAE,QAAQ;oBAC3B,0BAA0B,EAAE,MAAM;iBACnC;aACF;SACF;KACF,CAAC;IAEF,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IAClF,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,eAAe,aAAa,EAAE,CAAC,CAAC;IACpC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,wBAAwB;IAC/B,IAAI,kBAAkB;QAAE,OAAO,kBAAkB,CAAC;IAClD,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,6BAA6B,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IAC7F,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClF,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;AAEhF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;AAEvD,SAAS,cAAc;IACrB,IAAI,CAAC;QAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAE1E,4BAA4B;IAC5B,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,oCAAoC;gBAC7D,GAAG,CAAC,iCAAiC,MAAM,MAAM,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAChC,gCAAgC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBACnC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,MAAM;oBAAC,CAAC,CAAC,OAAO;oBACzD,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,GAAG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3G,IAAI,CAAC,GAAG,CAAC,CAAC;gBACZ,CAAC;gBACD,4BAA4B;gBAC5B,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,sBAAsB,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,IAAI,EAAE,GAAqB,IAAI,CAAC;AAChC,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,6EAA6E;AAC7E,4EAA4E;AAC5E,IAAI,WAAW,GAA2B,IAAI,CAAC;AAE/C,SAAS,GAAG,CAAC,GAAW,EAAE,GAAG,KAAgB;IAC3C,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAG,KAAgB;IAChD,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,SAAS,OAAO;IACd,IAAI,cAAc;QAAE,OAAO;IAE3B,MAAM,GAAG,GAAG,GAAG,MAAM,cAAc,QAAQ,EAAE,CAAC;IAC9C,GAAG,CAAC,8BAA8B,QAAQ,MAAM,CAAC,CAAC;IAElD,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAE/D,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACjB,GAAG,CAAC,WAAW,CAAC,CAAC;QACjB,iBAAiB,GAAG,CAAC,CAAC;QACtB,qEAAqE;QACrE,uEAAuE;QACvE,KAAK,UAAU,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;QAC9C,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,CAAC;QAC9B,EAAE,GAAG,IAAI,CAAC;QACV,iBAAiB,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;QAC5B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,cAAc;QAAE,OAAO;IAC3B,iBAAiB,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzE,GAAG,CAAC,mBAAmB,KAAK,OAAO,CAAC,CAAC;IACrC,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,SAAS,eAAe,CAAC,GAIxB;IACC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QAEtB,mDAAmD;QACnD,IAAI,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC9B,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACjG,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACjG,OAAO;QACT,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAEjG,2EAA2E;QAC3E,4EAA4E;QAC5E,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,aAAa;QACb,IAAI,eAAe,IAAI,cAAc,EAAE,CAAC;YACtC,GAAG,CAAC,WAAW,eAAe,IAAI,cAAc,iBAAiB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAC5F,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,8CAA8C,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1B,mEAAmE;QACnE,oEAAoE;QACpE,0EAA0E;QAC1E,oDAAoD;QACpD,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEpB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;QAEjC,6DAA6D;QAC7D,2EAA2E;QAC3E,mDAAmD;QACnD,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,UAAU,kBAAkB,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,QAAQ,iIAAiI,CAAC,CAAC,UAAU,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACtM,MAAM,UAAU,GAAG,gDAAgD,CAAC,CAAC,UAAU,cAAc,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,QAAQ,cAAc,CAAC,CAAC,IAAI,wDAAwD,CAAC,CAAC,EAAE,IAAI,CAAC;QACrO,sEAAsE;QACtE,MAAM,kBAAkB,GAAG,WAAW;YACpC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAC5B,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU;gBACzD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;aACjC,CAAC;YACJ,CAAC,CAAC,UAAU,CAAC;QACf,WAAW,CACT,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,EACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,CAC3B,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QACnB,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,WAAW;YACxB,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAC5B,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;gBACxC,UAAU,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;aAChD,CAAC;YACJ,CAAC,CAAC,uDAAuD,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,WAAW,eAAe,CAAC,CAAC,QAAQ,cAAc,CAAC,CAAC,EAAE,8CAA8C,CAAC,CAAC,EAAE,qBAAqB,CAAC;QACnN,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,gDAAgD;AAChD,gFAAgF;AAEhF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AACzC,+EAA+E;AAC/E,2EAA2E;AAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;AAE1C,KAAK,UAAU,UAAU;IACvB,IAAI,eAAe,IAAI,cAAc,IAAI,cAAc;QAAE,OAAO;IAChE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB,GAAG,OAAO,uBAAuB,kBAAkB,CAAC,QAAQ,CAAC,4BAA4B,EACzF,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CACtC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QACrB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAE9B,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9D,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,GAAG,CAAC,8BAA8B,OAAO,CAAC,MAAM,kCAAkC,CAAC,CAAC;QACpF,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzB,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,+DAA+D;AAC/D,gFAAgF;AAEhF,SAAS,WAAW,CAAC,MAAc,EAAE,SAA6B,EAAE,SAAiB,EAAE,MAAM,GAAG,KAAK;IACnG,IAAI,eAAe,IAAI,cAAc,EAAE,CAAC;QACtC,GAAG,CAAC,WAAW,eAAe,IAAI,cAAc,GAAG,CAAC,CAAC;QACrD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,4BAA4B,eAAe,mCAAmC,CAAC,CAAC;QAClH,CAAC;QACD,OAAO;IACT,CAAC;IAED,eAAe,EAAE,CAAC;IAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAoB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAEvD,yEAAyE;IACzE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnG,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtH,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAErC,uEAAuE;IACvE,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE9E,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,iBAAiB,eAAe,IAAI,cAAc,GAAG,CAAC,CAAC;IAEzF,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,yBAAyB,CAAC,EAAE,CAAC;YACpF,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,0BAA0B,GAAG,MAAM,CAAC;IAE7C,wEAAwE;IACxE,0DAA0D;IAC1D,MAAM,OAAO,GAAG,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IAClE,gFAAgF;IAChF,2EAA2E;IAC3E,oCAAoC;IACpC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE;QAC3F,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;QACjC,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,uFAAuF;IACvF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAmB,EAAE,EAAE;QACvC,sEAAsE;QACtE,UAAU,CAAC,GAAG,EAAE;YACd,eAAe,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;YACnD,GAAG,CAAC,GAAG,MAAM,YAAY,OAAO,MAAM,MAAM,CAAC,MAAM,YAAY,IAAI,GAAG,CAAC,CAAC;YACxE,IAAI,MAAM,CAAC,IAAI,EAAE;gBAAE,GAAG,CAAC,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAEpE,4BAA4B;YAC5B,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAEzD,MAAM,aAAa,GAAG,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC;YACrD,2CAA2C;YAC3C,IAAI,CAAC,cAAc;gBAAE,KAAK,UAAU,EAAE,CAAC;YACvC,mEAAmE;YACnE,uEAAuE;YACvE,wEAAwE;YACxE,mEAAmE;YACnE,qEAAqE;YACrE,sEAAsE;YACtE,oEAAoE;YACpE,0CAA0C;YAC1C,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;gBACtE,CAAC;qBAAM,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;oBACjE,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,KAAK,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,aAAa,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACpH,CAAC;YACH,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;QAC/B,eAAe,EAAE,CAAC;QAClB,QAAQ,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,oCAAoC;IACpC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,GAAG,CAAC,gCAAgC,IAAI,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;QAChF,CAAC;IACH,CAAC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,OAAe,EAAE,IAAY,EAAE,OAAwB,MAAM;IACvG,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,eAAe,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE;YACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,iCAAiC,IAAI,GAAG;gBACjD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;gBACzB,QAAQ,EAAE,SAAS;aACpB,CAAC;SACH,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,EAAE;YAAE,GAAG,CAAC,oBAAoB,OAAO,KAAK,IAAI,GAAG,CAAC,CAAC;;YACrD,QAAQ,CAAC,sBAAsB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,iDAAiD;AACjD,KAAK,UAAU,QAAQ,CAAC,SAAiB;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE;YAC7E,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE;YACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF,SAAS,QAAQ;IACf,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxB,cAAc,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,KAAK,EAAE,CAAC;IACZ,cAAc,EAAE,CAAC;IACjB,IAAI,aAAa,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,eAAe,eAAe,iBAAiB,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;gBAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;QACvE,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEhC,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAChC,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;AACjC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;AAC7B,GAAG,CAAC,iDAAiD,CAAC,CAAC;AACvD,GAAG,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAC;AAC3C,cAAc,EAAE,CAAC;AAEjB,yEAAyE;AACzE,6EAA6E;AAC7E,yEAAyE;AACzE,yEAAyE;AACzE,iEAAiE;AACjE,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACvD,cAAc,CACZ;IACE,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;IACxC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;IAC9C,SAAS,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC;IAChF,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK;IAC5F,GAAG;CACJ,EACD,QAAQ,EACR,KAAK,CAAC,eAAe,EAAE,CACxB;KACE,IAAI,CAAC,GAAG,EAAE;AACT,0EAA0E;AAC1E,gFAAgF;AAChF,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACrD,WAAW,GAAG,GAAG,CAAC;IAClB,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,eAAe,GAAG,CAAC,OAAO,CAAC,SAAS,cAAc,GAAG,CAAC,OAAO,CAAC,OAAO,UAAU,GAAG,CAAC,IAAI,qBAAqB,WAAW,EAAE,CAAC,CAAC;IACjI,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC,CACH;KACA,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACX,QAAQ,CAAC,0BAA0B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,QAAQ,CACN,2CAA2C,QAAQ,oCAAoC;QACrF,yEAAyE,KAAK,CAAC,eAAe,EAAE,IAAI;QACpG,sGAAsG,CACzG,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/employee.d.ts
CHANGED
|
@@ -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.
|
package/dist/employee.d.ts.map
CHANGED
|
@@ -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
|
@@ -105,10 +105,27 @@ export function buildShiftPrompt(ctx, trigger) {
|
|
|
105
105
|
"HOW TO HANDLE THIS MESSAGE:",
|
|
106
106
|
"1. UNDERSTAND what is being asked.",
|
|
107
107
|
"2. RESEARCH if useful — brain_search / brain_org_search / intel_search / brain_code_recall for AgentHub or org knowledge; otherwise answer from your own knowledge. Flag uncertainty rather than guessing.",
|
|
108
|
-
"3. ANSWER —
|
|
108
|
+
"3. ANSWER — your FINAL message is delivered verbatim to the sender, so it must contain ONLY the answer itself. No preamble, no narration of your process/tools/inbox, no sign-off. Just the answer, concise. Do NOT call reply / agent_complete_task / session_close_report.",
|
|
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.
|
package/dist/employee.js.map
CHANGED
|
@@ -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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"}
|
package/dist/employee.test.js
CHANGED
|
@@ -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"}
|
package/dist/fastpath.js
ADDED
|
@@ -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 @@
|
|
|
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,25 @@
|
|
|
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
|
+
query: string;
|
|
16
|
+
k: number;
|
|
17
|
+
timeoutMs: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* retrieveContext queries all three knowledge sources in parallel and returns a
|
|
21
|
+
* single formatted context block, capped to MAX_CONTEXT_CHARS. Returns "" when
|
|
22
|
+
* nothing useful comes back; the caller then answers ungrounded. Never throws.
|
|
23
|
+
*/
|
|
24
|
+
export declare function retrieveContext(p: GroundingParams): Promise<string>;
|
|
25
|
+
//# 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,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;CACnB;AAuFD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAazE"}
|
|
@@ -0,0 +1,101 @@
|
|
|
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
|
+
// Caps so the grounded prompt never balloons: per-snippet and total.
|
|
13
|
+
const MAX_SNIPPET_CHARS = 600;
|
|
14
|
+
const MAX_CONTEXT_CHARS = 6000;
|
|
15
|
+
/** Fetch + parse JSON, bounded by an abort timeout. Returns null on any failure. */
|
|
16
|
+
async function fetchJson(url, init, timeoutMs) {
|
|
17
|
+
const controller = new AbortController();
|
|
18
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
19
|
+
try {
|
|
20
|
+
const resp = await fetch(url, { ...init, signal: controller.signal });
|
|
21
|
+
if (!resp.ok)
|
|
22
|
+
return null;
|
|
23
|
+
return await resp.json();
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
clearTimeout(timer);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function clip(s) {
|
|
33
|
+
return s.length > MAX_SNIPPET_CHARS ? s.slice(0, MAX_SNIPPET_CHARS) : s;
|
|
34
|
+
}
|
|
35
|
+
/** Org brain — GET /api/brain/knowledge?q&limit → { knowledge: [{ fact, detail, category }] }. */
|
|
36
|
+
async function fromOrgBrain(p) {
|
|
37
|
+
const url = `${p.apiUrl}/api/brain/knowledge?q=${encodeURIComponent(p.query)}&limit=${p.k}`;
|
|
38
|
+
const data = (await fetchJson(url, { headers: { "X-API-Key": p.apiKey } }, p.timeoutMs));
|
|
39
|
+
return (data?.knowledge ?? [])
|
|
40
|
+
.slice(0, p.k)
|
|
41
|
+
.map((it) => {
|
|
42
|
+
const head = (it.fact ?? "").trim();
|
|
43
|
+
const detail = it.detail ? ` — ${it.detail.trim()}` : "";
|
|
44
|
+
return head ? clip(`[brain${it.category ? `/${it.category}` : ""}] ${head}${detail}`) : "";
|
|
45
|
+
})
|
|
46
|
+
.filter(Boolean);
|
|
47
|
+
}
|
|
48
|
+
/** Intel — POST /api/intel/search → { results: [{ snippet, path, kind }] }. */
|
|
49
|
+
async function fromIntel(p) {
|
|
50
|
+
const data = (await fetchJson(`${p.apiUrl}/api/intel/search`, {
|
|
51
|
+
method: "POST",
|
|
52
|
+
headers: { "Content-Type": "application/json", "X-API-Key": p.apiKey },
|
|
53
|
+
body: JSON.stringify({
|
|
54
|
+
query: p.query,
|
|
55
|
+
k: p.k,
|
|
56
|
+
include_snippets: true,
|
|
57
|
+
timeout_ms: p.timeoutMs,
|
|
58
|
+
}),
|
|
59
|
+
}, p.timeoutMs));
|
|
60
|
+
return (data?.results ?? [])
|
|
61
|
+
.slice(0, p.k)
|
|
62
|
+
.map((it) => {
|
|
63
|
+
const body = (it.snippet ?? "").trim();
|
|
64
|
+
const loc = it.path ? ` (${it.path})` : "";
|
|
65
|
+
return body ? clip(`[intel${it.kind ? `/${it.kind}` : ""}${loc}] ${body}`) : "";
|
|
66
|
+
})
|
|
67
|
+
.filter(Boolean);
|
|
68
|
+
}
|
|
69
|
+
/** Code brain — GET /api/brain/code/search?q&k → { hits: [{ snippet, title_or_symbol, path, kind }] }. */
|
|
70
|
+
async function fromCodeRecall(p) {
|
|
71
|
+
const url = `${p.apiUrl}/api/brain/code/search?q=${encodeURIComponent(p.query)}&k=${p.k}`;
|
|
72
|
+
const data = (await fetchJson(url, { headers: { "X-API-Key": p.apiKey } }, p.timeoutMs));
|
|
73
|
+
return (data?.hits ?? [])
|
|
74
|
+
.slice(0, p.k)
|
|
75
|
+
.map((it) => {
|
|
76
|
+
const body = (it.snippet ?? it.title_or_symbol ?? "").trim();
|
|
77
|
+
const loc = it.path ? ` (${it.path})` : "";
|
|
78
|
+
return body ? clip(`[code${it.kind ? `/${it.kind}` : ""}${loc}] ${body}`) : "";
|
|
79
|
+
})
|
|
80
|
+
.filter(Boolean);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* retrieveContext queries all three knowledge sources in parallel and returns a
|
|
84
|
+
* single formatted context block, capped to MAX_CONTEXT_CHARS. Returns "" when
|
|
85
|
+
* nothing useful comes back; the caller then answers ungrounded. Never throws.
|
|
86
|
+
*/
|
|
87
|
+
export async function retrieveContext(p) {
|
|
88
|
+
const [brain, intel, code] = await Promise.all([
|
|
89
|
+
fromOrgBrain(p).catch(() => []),
|
|
90
|
+
fromIntel(p).catch(() => []),
|
|
91
|
+
fromCodeRecall(p).catch(() => []),
|
|
92
|
+
]);
|
|
93
|
+
let block = "";
|
|
94
|
+
for (const line of [...brain, ...intel, ...code]) {
|
|
95
|
+
if (block.length + line.length + 1 > MAX_CONTEXT_CHARS)
|
|
96
|
+
break;
|
|
97
|
+
block += line + "\n";
|
|
98
|
+
}
|
|
99
|
+
return block.trim();
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=grounding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grounding.js","sourceRoot":"","sources":["../src/grounding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,qEAAqE;AACrE,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,oFAAoF;AACpF,KAAK,UAAU,SAAS,CACtB,GAAW,EACX,IAAiB,EACjB,SAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,CAAS;IACrB,OAAO,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,kGAAkG;AAClG,KAAK,UAAU,YAAY,CAAC,CAAkB;IAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,0BAA0B,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,MAAM,IAAI,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAE/E,CAAC;IACT,OAAO,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACb,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,+EAA+E;AAC/E,KAAK,UAAU,SAAS,CAAC,CAAkB;IACzC,MAAM,IAAI,GAAG,CAAC,MAAM,SAAS,CAC3B,GAAG,CAAC,CAAC,MAAM,mBAAmB,EAC9B;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACtE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,gBAAgB,EAAE,IAAI;YACtB,UAAU,EAAE,CAAC,CAAC,SAAS;SACxB,CAAC;KACH,EACD,CAAC,CAAC,SAAS,CACZ,CAAmF,CAAC;IACrF,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;SACzB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACb,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,0GAA0G;AAC1G,KAAK,UAAU,cAAc,CAAC,CAAkB;IAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,4BAA4B,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,IAAI,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAE/E,CAAC;IACT,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;SACtB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACb,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,CAAkB;IACtD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC;QAC3C,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC;QACxC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,iBAAiB;YAAE,MAAM;QAC9D,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grounding.test.d.ts","sourceRoot":"","sources":["../src/grounding.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
});
|
|
76
|
+
//# 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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"}
|