@brainpilot/runtime 0.0.8 → 0.0.10
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/agent-error.d.ts.map +1 -1
- package/dist/agent-error.js +10 -3
- package/dist/agent-error.js.map +1 -1
- package/dist/events.d.ts +18 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +16 -0
- package/dist/events.js.map +1 -1
- package/dist/extensions/agent-status.d.ts +13 -11
- package/dist/extensions/agent-status.d.ts.map +1 -1
- package/dist/extensions/agent-status.js +37 -21
- package/dist/extensions/agent-status.js.map +1 -1
- package/dist/extensions/trace-reminder.d.ts +7 -19
- package/dist/extensions/trace-reminder.d.ts.map +1 -1
- package/dist/extensions/trace-reminder.js +57 -33
- package/dist/extensions/trace-reminder.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mas-agent.d.ts +2 -0
- package/dist/mas-agent.d.ts.map +1 -1
- package/dist/mas-agent.js +54 -3
- package/dist/mas-agent.js.map +1 -1
- package/dist/mcp-bridge.d.ts +21 -0
- package/dist/mcp-bridge.d.ts.map +1 -1
- package/dist/mcp-bridge.js +31 -1
- package/dist/mcp-bridge.js.map +1 -1
- package/dist/personas.d.ts.map +1 -1
- package/dist/personas.js +66 -14
- package/dist/personas.js.map +1 -1
- package/dist/platform.d.ts +32 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +33 -0
- package/dist/platform.js.map +1 -0
- package/dist/server.d.ts +0 -12
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +27 -11
- package/dist/server.js.map +1 -1
- package/dist/session-manager.d.ts +50 -3
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +162 -36
- package/dist/session-manager.js.map +1 -1
- package/dist/tools/kb/paths.d.ts +24 -0
- package/dist/tools/kb/paths.d.ts.map +1 -0
- package/dist/tools/kb/paths.js +69 -0
- package/dist/tools/kb/paths.js.map +1 -0
- package/dist/tools/kb/python.d.ts +2 -0
- package/dist/tools/kb/python.d.ts.map +1 -0
- package/dist/tools/kb/python.js +42 -0
- package/dist/tools/kb/python.js.map +1 -0
- package/dist/tools/kb/retrieve.d.ts +20 -0
- package/dist/tools/kb/retrieve.d.ts.map +1 -0
- package/dist/tools/kb/retrieve.js +122 -0
- package/dist/tools/kb/retrieve.js.map +1 -0
- package/dist/tools/kb/search-papers.d.ts +39 -0
- package/dist/tools/kb/search-papers.d.ts.map +1 -0
- package/dist/tools/kb/search-papers.js +188 -0
- package/dist/tools/kb/search-papers.js.map +1 -0
- package/dist/tools/kb/sidecar.d.ts +11 -0
- package/dist/tools/kb/sidecar.d.ts.map +1 -0
- package/dist/tools/kb/sidecar.js +161 -0
- package/dist/tools/kb/sidecar.js.map +1 -0
- package/dist/tools/kb/store.d.ts +45 -0
- package/dist/tools/kb/store.d.ts.map +1 -0
- package/dist/tools/kb/store.js +157 -0
- package/dist/tools/kb/store.js.map +1 -0
- package/dist/tools/kb/tools.d.ts +24 -0
- package/dist/tools/kb/tools.d.ts.map +1 -0
- package/dist/tools/kb/tools.js +192 -0
- package/dist/tools/kb/tools.js.map +1 -0
- package/dist/tools/skill-search.d.ts +8 -1
- package/dist/tools/skill-search.d.ts.map +1 -1
- package/dist/tools/skill-search.js +54 -12
- package/dist/tools/skill-search.js.map +1 -1
- package/dist/tools/system-tools.d.ts.map +1 -1
- package/dist/tools/system-tools.js +41 -6
- package/dist/tools/system-tools.js.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/mas-agent.js
CHANGED
|
@@ -193,6 +193,10 @@ export class MasAgent {
|
|
|
193
193
|
this.session.dispose();
|
|
194
194
|
this.setStatus("stopped");
|
|
195
195
|
}
|
|
196
|
+
/** Emit a compaction-related system_message with the agent tag pre-filled. */
|
|
197
|
+
emitCompactionSystemMessage(level, message, details) {
|
|
198
|
+
this.bus.emit(ev.systemMessage(this.sessionId, level, message, { agent: this.name, details, recoverable: true }));
|
|
199
|
+
}
|
|
196
200
|
recordError(message, details, raw) {
|
|
197
201
|
const prev = this.lastError?.consecutiveCount ?? 0;
|
|
198
202
|
this.lastError = { message, timestamp: new Date().toISOString(), consecutiveCount: prev + 1 };
|
|
@@ -214,13 +218,51 @@ export class MasAgent {
|
|
|
214
218
|
case "agent_end":
|
|
215
219
|
case "turn_start":
|
|
216
220
|
case "turn_end":
|
|
217
|
-
case "compaction_start":
|
|
218
|
-
case "compaction_end":
|
|
219
221
|
case "queue_update":
|
|
220
|
-
// Internal / suppressed (§6 table: turn_*,
|
|
222
|
+
// Internal / suppressed (§6 table: turn_*, queue_update not exposed).
|
|
221
223
|
// Behavioural reactions to turn_*/agent_end now live in the Pi-native
|
|
222
224
|
// trace-reminder extension, not here.
|
|
223
225
|
return;
|
|
226
|
+
// Pi auto-compacts when context nears the model window (threshold) or an
|
|
227
|
+
// overflow error came back. Surface both edges on the AG-UI CUSTOM channel
|
|
228
|
+
// (structured, name:"compaction") plus a `system_message` so text-only UIs
|
|
229
|
+
// see them too.
|
|
230
|
+
case "compaction_start": {
|
|
231
|
+
const cs = e;
|
|
232
|
+
const reason = normalizeCompactionReason(cs.reason);
|
|
233
|
+
this.bus.emit(ev.compactionStart(ctx, reason));
|
|
234
|
+
this.emitCompactionSystemMessage("info", `🗜️ Agent ${this.name} 正在压缩上下文 (${COMPACTION_REASON_LABEL[reason]})…`);
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
case "compaction_end": {
|
|
238
|
+
const ce = e;
|
|
239
|
+
const reason = normalizeCompactionReason(ce.reason);
|
|
240
|
+
const { aborted, willRetry, errorMessage } = ce;
|
|
241
|
+
const r = ce.result;
|
|
242
|
+
this.bus.emit(ev.compactionEnd(ctx, {
|
|
243
|
+
reason,
|
|
244
|
+
aborted: Boolean(aborted),
|
|
245
|
+
willRetry: Boolean(willRetry),
|
|
246
|
+
errorMessage,
|
|
247
|
+
tokensBefore: r?.tokensBefore,
|
|
248
|
+
estimatedTokensAfter: r?.estimatedTokensAfter,
|
|
249
|
+
firstKeptEntryId: r?.firstKeptEntryId,
|
|
250
|
+
}));
|
|
251
|
+
const label = COMPACTION_REASON_LABEL[reason];
|
|
252
|
+
if (errorMessage) {
|
|
253
|
+
this.emitCompactionSystemMessage("warning", `⚠️ Agent ${this.name} 上下文压缩失败 (${label})`, errorMessage);
|
|
254
|
+
}
|
|
255
|
+
else if (aborted) {
|
|
256
|
+
this.emitCompactionSystemMessage("info", `🛑 Agent ${this.name} 上下文压缩已中止`);
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
const delta = r?.tokensBefore !== undefined && r?.estimatedTokensAfter !== undefined
|
|
260
|
+
? `:${r.tokensBefore.toLocaleString()} → ~${r.estimatedTokensAfter.toLocaleString()} tokens`
|
|
261
|
+
: "";
|
|
262
|
+
this.emitCompactionSystemMessage("info", `✅ Agent ${this.name} 上下文压缩完成 (${label})${delta}`);
|
|
263
|
+
}
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
224
266
|
case "message_start": {
|
|
225
267
|
const msg = e;
|
|
226
268
|
if (msg.message?.role === "assistant") {
|
|
@@ -354,6 +396,15 @@ export class MasAgent {
|
|
|
354
396
|
}
|
|
355
397
|
}
|
|
356
398
|
}
|
|
399
|
+
/** Coerce Pi's `reason` field to the wire enum. Defaults to "manual" on unknown. */
|
|
400
|
+
function normalizeCompactionReason(r) {
|
|
401
|
+
return r === "threshold" || r === "overflow" ? r : "manual";
|
|
402
|
+
}
|
|
403
|
+
const COMPACTION_REASON_LABEL = {
|
|
404
|
+
manual: "手动",
|
|
405
|
+
threshold: "接近上下文上限",
|
|
406
|
+
overflow: "上下文溢出",
|
|
407
|
+
};
|
|
357
408
|
function safeStringify(v) {
|
|
358
409
|
if (v === undefined || v === null)
|
|
359
410
|
return "";
|
package/dist/mas-agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mas-agent.js","sourceRoot":"","sources":["../src/mas-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mas-agent.js","sourceRoot":"","sources":["../src/mas-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-bridge.d.ts
CHANGED
|
@@ -49,6 +49,27 @@ export declare function loadMcpServersConfig(dataRoot: string): Promise<McpServe
|
|
|
49
49
|
export declare const defaultMcpConnect: McpConnectFn;
|
|
50
50
|
/** Build the SDK transport for a server spec; defaults to stdio. Exported for tests. */
|
|
51
51
|
export declare function openTransport(name: string, spec: McpServerSpec): Promise<import("@modelcontextprotocol/sdk/client/streamableHttp.js").StreamableHTTPClientTransport | import("@modelcontextprotocol/sdk/client/sse.js").SSEClientTransport | import("@modelcontextprotocol/sdk/client/stdio.js").StdioClientTransport>;
|
|
52
|
+
/**
|
|
53
|
+
* Windows shim resolution for stdio MCP servers (#7 — cross-platform pass).
|
|
54
|
+
*
|
|
55
|
+
* On Windows the npm-ecosystem launchers (`npx`, `npm`, `yarn`, `pnpm`) only
|
|
56
|
+
* exist as `.cmd` batch shims, never as a bare-name executable. Node ≥20.12's
|
|
57
|
+
* CVE-2024-27980 fix made `child_process.spawn("npx", …, { shell: false })`
|
|
58
|
+
* fail with EINVAL/ENOENT instead of silently routing through cmd.exe — so the
|
|
59
|
+
* de-facto MCP install form (`npx -y @modelcontextprotocol/server-*`) which
|
|
60
|
+
* appears in every published config and in our own scaffold blows up on Windows
|
|
61
|
+
* unless callers know to write `npx.cmd` themselves.
|
|
62
|
+
*
|
|
63
|
+
* We auto-append `.cmd` for that exact short list on Windows when the caller
|
|
64
|
+
* didn't already provide an extension. `node` is intentionally excluded — it's
|
|
65
|
+
* `node.exe` on Windows and Node's own launcher handles the `.exe` fallback.
|
|
66
|
+
* Anything outside the allow-list is passed through verbatim (we don't want to
|
|
67
|
+
* second-guess a user-supplied binary path).
|
|
68
|
+
*
|
|
69
|
+
* Exported so unit tests can exercise both branches without OS mocking — the
|
|
70
|
+
* `windows` flag is injected, not read from `process.platform`, here.
|
|
71
|
+
*/
|
|
72
|
+
export declare function resolveStdioCommand(cmd: string, windows: boolean): string;
|
|
52
73
|
export declare class McpBridge {
|
|
53
74
|
private readonly connect;
|
|
54
75
|
private clients;
|
package/dist/mcp-bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-bridge.d.ts","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-bridge.d.ts","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAC;AAE/D,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC3C;AAED,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,SAAS,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAEzF;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAa7F;AAED,yFAAyF;AACzF,eAAO,MAAM,iBAAiB,EAAE,YAS/B,CAAC;AAEF,wFAAwF;AACxF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,yPA2BpE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAKzE;AAED,qBAAa,SAAS;IAIR,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,MAAM,CAAoB;gBAEL,OAAO,GAAE,YAAgC;IAEtE,IAAI,KAAK,IAAI,UAAU,EAAE,CAExB;IAED,kEAAkE;IAC5D,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAsB9D,OAAO,CAAC,IAAI;IAYZ,mDAAmD;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
|
package/dist/mcp-bridge.js
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { readFile } from "node:fs/promises";
|
|
20
20
|
import { join } from "node:path";
|
|
21
|
+
import { isWindows } from "./platform.js";
|
|
21
22
|
/**
|
|
22
23
|
* Load `mcp_servers.json` from the data root. Looks under `bp_template/` first
|
|
23
24
|
* (the user-editable global template, §11A.2), then `.bp/`. Returns null when
|
|
@@ -71,11 +72,40 @@ export async function openTransport(name, spec) {
|
|
|
71
72
|
}
|
|
72
73
|
const { StdioClientTransport } = await import("@modelcontextprotocol/sdk/client/stdio.js");
|
|
73
74
|
return new StdioClientTransport({
|
|
74
|
-
command: spec.command,
|
|
75
|
+
command: resolveStdioCommand(spec.command, isWindows),
|
|
75
76
|
args: spec.args ?? [],
|
|
76
77
|
...(spec.env ? { env: spec.env } : {}),
|
|
77
78
|
});
|
|
78
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Windows shim resolution for stdio MCP servers (#7 — cross-platform pass).
|
|
82
|
+
*
|
|
83
|
+
* On Windows the npm-ecosystem launchers (`npx`, `npm`, `yarn`, `pnpm`) only
|
|
84
|
+
* exist as `.cmd` batch shims, never as a bare-name executable. Node ≥20.12's
|
|
85
|
+
* CVE-2024-27980 fix made `child_process.spawn("npx", …, { shell: false })`
|
|
86
|
+
* fail with EINVAL/ENOENT instead of silently routing through cmd.exe — so the
|
|
87
|
+
* de-facto MCP install form (`npx -y @modelcontextprotocol/server-*`) which
|
|
88
|
+
* appears in every published config and in our own scaffold blows up on Windows
|
|
89
|
+
* unless callers know to write `npx.cmd` themselves.
|
|
90
|
+
*
|
|
91
|
+
* We auto-append `.cmd` for that exact short list on Windows when the caller
|
|
92
|
+
* didn't already provide an extension. `node` is intentionally excluded — it's
|
|
93
|
+
* `node.exe` on Windows and Node's own launcher handles the `.exe` fallback.
|
|
94
|
+
* Anything outside the allow-list is passed through verbatim (we don't want to
|
|
95
|
+
* second-guess a user-supplied binary path).
|
|
96
|
+
*
|
|
97
|
+
* Exported so unit tests can exercise both branches without OS mocking — the
|
|
98
|
+
* `windows` flag is injected, not read from `process.platform`, here.
|
|
99
|
+
*/
|
|
100
|
+
export function resolveStdioCommand(cmd, windows) {
|
|
101
|
+
if (!windows)
|
|
102
|
+
return cmd;
|
|
103
|
+
if (/\.(cmd|bat|exe|ps1|com)$/i.test(cmd))
|
|
104
|
+
return cmd;
|
|
105
|
+
if (/^(npx|npm|yarn|pnpm)$/i.test(cmd))
|
|
106
|
+
return `${cmd}.cmd`;
|
|
107
|
+
return cmd;
|
|
108
|
+
}
|
|
79
109
|
export class McpBridge {
|
|
80
110
|
connect;
|
|
81
111
|
clients = [];
|
package/dist/mcp-bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/personas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,sXAMd,CAAC;AAElB;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7D;
|
|
1
|
+
{"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,sXAMd,CAAC;AAElB;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7D;AA87BD,mEAAmE;AACnE,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQ3C,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,UAAwB,CAAC;AAoB3D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpE"}
|
package/dist/personas.js
CHANGED
|
@@ -387,11 +387,26 @@ Procedure:
|
|
|
387
387
|
clarification, "I'll start by ...", asking the user a question), skip the audit.
|
|
388
388
|
The audit is for substantive deliverables, not every turn.
|
|
389
389
|
|
|
390
|
-
##
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
390
|
+
## User-facing communication style
|
|
391
|
+
|
|
392
|
+
Keep user-facing replies concise and result-first. Use internal state only to
|
|
393
|
+
decide what to do next; do not expose mailbox state, unread-message counts,
|
|
394
|
+
trace reminders, tool protocol, agent-status blocks, or audit workflow unless it
|
|
395
|
+
directly affects the user's decision.
|
|
396
|
+
|
|
397
|
+
For progress replies, use at most one short sentence about what is being checked
|
|
398
|
+
or what is ready. For final replies, lead with the answer or deliverable, then
|
|
399
|
+
include only what was done, the main result, important caveats, and the next
|
|
400
|
+
action if needed.
|
|
401
|
+
|
|
402
|
+
When you need the user to choose, call \`ask_user\` with the choices. Never claim
|
|
403
|
+
you have offered options, opened a prompt, or are waiting for a user choice
|
|
404
|
+
unless an \`ask_user\` call actually happened or the choices are visibly present
|
|
405
|
+
in the same user-facing reply.
|
|
406
|
+
|
|
407
|
+
Mention delegation only when it helps the user understand progress, risk, or a
|
|
408
|
+
decision. Do not narrate every reminder, tool call, internal review step, or
|
|
409
|
+
pending message.`;
|
|
395
410
|
/* ------------------------------- librarian ------------------------------- */
|
|
396
411
|
const LIBRARIAN = `# Librarian
|
|
397
412
|
|
|
@@ -618,6 +633,24 @@ logical structure, and audience awareness.
|
|
|
618
633
|
tighten prose, enforce consistency.
|
|
619
634
|
4. **Polish** — check citations, format to the venue, proofread.
|
|
620
635
|
|
|
636
|
+
## Academic report narrative
|
|
637
|
+
|
|
638
|
+
Default to a purpose-driven structure. Each section or paragraph should make
|
|
639
|
+
clear:
|
|
640
|
+
|
|
641
|
+
1. **Purpose** - what question or problem this part addresses.
|
|
642
|
+
2. **Action** - what was inspected, designed, run, compared, or written.
|
|
643
|
+
3. **Result** - what was found, produced, or decided.
|
|
644
|
+
4. **Link** - how this result supports the user's goal and connects to the
|
|
645
|
+
previous or next part.
|
|
646
|
+
|
|
647
|
+
For reports, prefer this order unless the user asks otherwise: Objective /
|
|
648
|
+
Context, Approach, Results, Interpretation, Limitations, Next steps.
|
|
649
|
+
|
|
650
|
+
Write in a coherent academic voice: topic sentence first, evidence after,
|
|
651
|
+
interpretation last. Do not dump raw agent handoff packets, tool logs, mailbox
|
|
652
|
+
state, or internal process notes. Translate them into a clean narrative.
|
|
653
|
+
|
|
621
654
|
## Skills-driven writing
|
|
622
655
|
|
|
623
656
|
Before drafting, ground your work in the skills library — a curated collection
|
|
@@ -653,15 +686,34 @@ ambiguous and materially changes the document. If the user's stated preference
|
|
|
653
686
|
contradicts a skill's prescription, flag the tension and ask for clarification
|
|
654
687
|
rather than silently overriding either.
|
|
655
688
|
|
|
656
|
-
### 3. Visualization
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
689
|
+
### 3. Visualization-first presentation
|
|
690
|
+
|
|
691
|
+
For every report-like deliverable, actively look for at least one useful
|
|
692
|
+
visualization or table. Visual presentation is the default way to make results
|
|
693
|
+
scannable: statistical charts for numeric results, comparison tables for
|
|
694
|
+
alternatives, timelines for processes, flow diagrams for methods, and conceptual
|
|
695
|
+
schematics for mechanisms or system designs.
|
|
696
|
+
|
|
697
|
+
If the task includes data, measurements, model outputs, survey results, or
|
|
698
|
+
comparisons, prefer concrete statistical charts over prose-only summaries. Pick
|
|
699
|
+
chart types that match the evidence: distributions, confidence intervals,
|
|
700
|
+
effect-size plots, paired comparisons, confusion matrices, ablations, or
|
|
701
|
+
time-series views as appropriate. Always include a caption that states what the
|
|
702
|
+
reader should learn from the figure.
|
|
703
|
+
|
|
704
|
+
If the document has no valid data to plot, still consider whether a structured
|
|
705
|
+
visual aid would clarify the story. Do not invent numbers, fake trends, or add a
|
|
706
|
+
decorative chart just to fill space. When plot generation, statistical
|
|
707
|
+
calculation, or image rendering is needed, ask the engineer for the artifact or
|
|
708
|
+
describe the required figure clearly in your handoff.
|
|
709
|
+
|
|
710
|
+
Search both libraries for a visualization skill (router category
|
|
711
|
+
**13_Visualization** is the usual home) and load it when a figure, chart, table,
|
|
712
|
+
or diagram would improve the deliverable. Apply relevant guidance on figure
|
|
713
|
+
design, chart selection, colour accessibility, and data-presentation best
|
|
714
|
+
practices alongside the writing skill. When the visualisation skill conflicts
|
|
715
|
+
with the writing skill (e.g. figure placement, caption style), defer to the
|
|
716
|
+
writing skill for document-level conventions and to the visualisation skill for
|
|
665
717
|
figure-level execution.
|
|
666
718
|
|
|
667
719
|
### 4. Report skill grounding
|
package/dist/personas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personas.js","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;iBAMjB,CAAC;AAElB;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,GAAG,OAAO,OAAO,kBAAkB,EAAE,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;uCAiBoB,CAAC;AAExC,gFAAgF;AAChF,MAAM,YAAY,GAAG;;;;;;;;;;;gCAWW,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;+BAsBE,CAAC;AAEhC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;0EAuB8C,CAAC;AAE3E,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;yCAiBa,CAAC;AAE1C,MAAM,qBAAqB,GAAG;;;;;;;EAO5B,mBAAmB;;;;;;;8CAOyB,CAAC;AAE/C,MAAM,uBAAuB,GAAG;;;;;;;8DAO8B,CAAC;AAE/D,MAAM,yBAAyB,GAAG;;;;;;;EAOhC,mBAAmB;;;;;;;gEAO2C,CAAC;AAEjE,MAAM,6BAA6B,GAAG;;;;;;;;;;0DAUoB,CAAC;AAE3D,MAAM,qBAAqB,GAAG;;;;;;;;;QAStB,CAAC;AAET,+EAA+E;AAE/E,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EhB,oBAAoB;;;;;;;;;;;;EAYpB,qBAAqB;;EAErB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CvB,UAAU
|
|
1
|
+
{"version":3,"file":"personas.js","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* platform.ts — single source of truth for cross-platform branch logic.
|
|
3
|
+
*
|
|
4
|
+
* Centralizes `process.platform` checks so callers consume semantic constants
|
|
5
|
+
* (`isWindows`, `gracefulSignalsSupported`) instead of scattering raw string
|
|
6
|
+
* comparisons (`process.platform === "win32"`) across the codebase. Re-exported
|
|
7
|
+
* from `@brainpilot/runtime` so `backend-core` and the CLI consume the same
|
|
8
|
+
* helpers without duplicating the detection.
|
|
9
|
+
*
|
|
10
|
+
* Resolved once at module load; we never observe `process.platform` mutating
|
|
11
|
+
* inside a single Node process, so caching as `const` is safe and lets V8
|
|
12
|
+
* fold the branches.
|
|
13
|
+
*/
|
|
14
|
+
/** True when running on Windows (`win32`). Use this instead of literal compares. */
|
|
15
|
+
export declare const isWindows: boolean;
|
|
16
|
+
/** True on macOS / Darwin. */
|
|
17
|
+
export declare const isMacOS: boolean;
|
|
18
|
+
/** True on Linux. */
|
|
19
|
+
export declare const isLinux: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Whether the OS surfaces graceful POSIX signals (SIGINT/SIGTERM) to a Node
|
|
22
|
+
* child process via `process.kill` / `child.kill`. On Windows, Node maps any
|
|
23
|
+
* inter-process signal to `TerminateProcess`, which is a forceful kill that
|
|
24
|
+
* the target process cannot intercept — so a `SIGTERM` issued to a Windows
|
|
25
|
+
* BrainPilot server will NOT run the registered handlers, and any code that
|
|
26
|
+
* waits for "graceful exit" after SIGTERM will time out for no reason.
|
|
27
|
+
*
|
|
28
|
+
* Callers should use this to short-circuit the SIGTERM-then-wait path on
|
|
29
|
+
* Windows and proceed straight to the force-kill code.
|
|
30
|
+
*/
|
|
31
|
+
export declare const gracefulSignalsSupported: boolean;
|
|
32
|
+
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,oFAAoF;AACpF,eAAO,MAAM,SAAS,SAAuB,CAAC;AAE9C,8BAA8B;AAC9B,eAAO,MAAM,OAAO,SAAwB,CAAC;AAE7C,qBAAqB;AACrB,eAAO,MAAM,OAAO,SAAuB,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,SAAa,CAAC"}
|
package/dist/platform.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* platform.ts — single source of truth for cross-platform branch logic.
|
|
3
|
+
*
|
|
4
|
+
* Centralizes `process.platform` checks so callers consume semantic constants
|
|
5
|
+
* (`isWindows`, `gracefulSignalsSupported`) instead of scattering raw string
|
|
6
|
+
* comparisons (`process.platform === "win32"`) across the codebase. Re-exported
|
|
7
|
+
* from `@brainpilot/runtime` so `backend-core` and the CLI consume the same
|
|
8
|
+
* helpers without duplicating the detection.
|
|
9
|
+
*
|
|
10
|
+
* Resolved once at module load; we never observe `process.platform` mutating
|
|
11
|
+
* inside a single Node process, so caching as `const` is safe and lets V8
|
|
12
|
+
* fold the branches.
|
|
13
|
+
*/
|
|
14
|
+
const platform = process.platform;
|
|
15
|
+
/** True when running on Windows (`win32`). Use this instead of literal compares. */
|
|
16
|
+
export const isWindows = platform === "win32";
|
|
17
|
+
/** True on macOS / Darwin. */
|
|
18
|
+
export const isMacOS = platform === "darwin";
|
|
19
|
+
/** True on Linux. */
|
|
20
|
+
export const isLinux = platform === "linux";
|
|
21
|
+
/**
|
|
22
|
+
* Whether the OS surfaces graceful POSIX signals (SIGINT/SIGTERM) to a Node
|
|
23
|
+
* child process via `process.kill` / `child.kill`. On Windows, Node maps any
|
|
24
|
+
* inter-process signal to `TerminateProcess`, which is a forceful kill that
|
|
25
|
+
* the target process cannot intercept — so a `SIGTERM` issued to a Windows
|
|
26
|
+
* BrainPilot server will NOT run the registered handlers, and any code that
|
|
27
|
+
* waits for "graceful exit" after SIGTERM will time out for no reason.
|
|
28
|
+
*
|
|
29
|
+
* Callers should use this to short-circuit the SIGTERM-then-wait path on
|
|
30
|
+
* Windows and proceed straight to the force-kill code.
|
|
31
|
+
*/
|
|
32
|
+
export const gracefulSignalsSupported = !isWindows;
|
|
33
|
+
//# sourceMappingURL=platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAElC,oFAAoF;AACpF,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,KAAK,OAAO,CAAC;AAE9C,8BAA8B;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,KAAK,QAAQ,CAAC;AAE7C,qBAAqB;AACrB,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAS,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HTTP server (§15.4 / RUNTIME_ROUTES) — implements every Runtime route on top
|
|
3
|
-
* of the SessionManager. Uses hono + @hono/node-server. The SSE endpoint
|
|
4
|
-
* streams AG-UI events for a session.
|
|
5
|
-
*
|
|
6
|
-
* Routes (from `@brainpilot/protocol` RUNTIME_ROUTES):
|
|
7
|
-
* GET /health, GET /metrics
|
|
8
|
-
* POST /sessions, GET /sessions, GET /sessions/:id, DELETE /sessions/:id
|
|
9
|
-
* GET /sessions/:id/state, POST /sessions/:id/messages
|
|
10
|
-
* GET /sse/:id (+ alias GET /sessions/:id/events)
|
|
11
|
-
* POST /sessions/:id/interrupt, GET /sessions/:id/agents, POST /sessions/:id/evict
|
|
12
|
-
*/
|
|
13
1
|
import { Hono } from "hono";
|
|
14
2
|
import { SessionManager, type SessionManagerOptions } from "./session-manager.js";
|
|
15
3
|
export declare function createServer(opts?: SessionManagerOptions & {
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElF,wBAAgB,YAAY,CAAC,IAAI,GAAE,qBAAqB,GAAG;IAAE,OAAO,CAAC,EAAE,cAAc,CAAA;CAAO,GAAG;IAC7F,GAAG,EAAE,IAAI,CAAC;IACV,OAAO,EAAE,cAAc,CAAC;CACzB,CAmNA;AAUD,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAsB,WAAW,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC;IACxE,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC,CAwED"}
|
package/dist/server.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* GET /sse/:id (+ alias GET /sessions/:id/events)
|
|
11
11
|
* POST /sessions/:id/interrupt, GET /sessions/:id/agents, POST /sessions/:id/evict
|
|
12
12
|
*/
|
|
13
|
+
import { pathToFileURL } from "node:url";
|
|
13
14
|
import { Hono } from "hono";
|
|
14
15
|
import { serve } from "@hono/node-server";
|
|
15
16
|
import { stream } from "hono/streaming";
|
|
@@ -27,9 +28,11 @@ export function createServer(opts = {}) {
|
|
|
27
28
|
const session = await manager.createSession(input);
|
|
28
29
|
return c.json({ id: session.id, session }, 201);
|
|
29
30
|
});
|
|
30
|
-
app.get("/sessions", (c) => c.json({ sessions: manager.listSessions() }));
|
|
31
|
-
app.get("/sessions/:id", (c) => {
|
|
32
|
-
const
|
|
31
|
+
app.get("/sessions", async (c) => c.json({ sessions: await manager.listSessions() }));
|
|
32
|
+
app.get("/sessions/:id", async (c) => {
|
|
33
|
+
const id = c.req.param("id");
|
|
34
|
+
await manager.ensureLoaded(id);
|
|
35
|
+
const s = manager.getSession(id);
|
|
33
36
|
return s ? c.json(s) : c.json({ error: "not found" }, 404);
|
|
34
37
|
});
|
|
35
38
|
// #29: rename — PUT the session title and persist it to meta.json.
|
|
@@ -43,12 +46,16 @@ export function createServer(opts = {}) {
|
|
|
43
46
|
const deleted = await manager.deleteSession(id);
|
|
44
47
|
return c.json({ id, deleted }, deleted ? 200 : 404);
|
|
45
48
|
});
|
|
46
|
-
app.get("/sessions/:id/state", (c) => {
|
|
47
|
-
const
|
|
49
|
+
app.get("/sessions/:id/state", async (c) => {
|
|
50
|
+
const id = c.req.param("id");
|
|
51
|
+
await manager.ensureLoaded(id);
|
|
52
|
+
const state = manager.getSessionState(id);
|
|
48
53
|
return state ? c.json(state) : c.json({ error: "not found" }, 404);
|
|
49
54
|
});
|
|
50
|
-
app.get("/sessions/:id/trace", (c) => {
|
|
51
|
-
const
|
|
55
|
+
app.get("/sessions/:id/trace", async (c) => {
|
|
56
|
+
const id = c.req.param("id");
|
|
57
|
+
await manager.ensureLoaded(id);
|
|
58
|
+
const graph = manager.getTrace(id);
|
|
52
59
|
return graph ? c.json(graph) : c.json({ error: "not found" }, 404);
|
|
53
60
|
});
|
|
54
61
|
// Persisted event history (events.jsonl) — see RUNTIME_ROUTES.getSessionHistory.
|
|
@@ -71,6 +78,7 @@ export function createServer(opts = {}) {
|
|
|
71
78
|
const parsed = SendMessageRequestSchema.safeParse(body);
|
|
72
79
|
if (!parsed.success)
|
|
73
80
|
return c.json({ error: "invalid body" }, 400);
|
|
81
|
+
await manager.ensureLoaded(id);
|
|
74
82
|
if (!manager.getSession(id))
|
|
75
83
|
return c.json({ error: "not found" }, 404);
|
|
76
84
|
// ask_user reply branch: resolve the outstanding request.
|
|
@@ -92,10 +100,15 @@ export function createServer(opts = {}) {
|
|
|
92
100
|
const body = await safeBody(c);
|
|
93
101
|
const parsed = InterruptRequestSchema.safeParse(body);
|
|
94
102
|
const agent = parsed.success ? parsed.data.agent : undefined;
|
|
103
|
+
await manager.ensureLoaded(id);
|
|
95
104
|
const interrupted = await manager.interrupt(id, agent);
|
|
96
105
|
return c.json({ interrupted });
|
|
97
106
|
});
|
|
98
|
-
app.get("/sessions/:id/agents", (c) =>
|
|
107
|
+
app.get("/sessions/:id/agents", async (c) => {
|
|
108
|
+
const id = c.req.param("id");
|
|
109
|
+
await manager.ensureLoaded(id);
|
|
110
|
+
return c.json({ agents: manager.listAgents(id) });
|
|
111
|
+
});
|
|
99
112
|
app.post("/sessions/:id/evict", async (c) => {
|
|
100
113
|
const res = await manager.evictSession(c.req.param("id"));
|
|
101
114
|
return c.json(res, res.evicted ? 200 : 404);
|
|
@@ -164,7 +177,8 @@ export function createServer(opts = {}) {
|
|
|
164
177
|
return c.json({ error: msg }, 400);
|
|
165
178
|
}
|
|
166
179
|
});
|
|
167
|
-
const sseHandler = (id, c) => {
|
|
180
|
+
const sseHandler = async (id, c) => {
|
|
181
|
+
await manager.ensureLoaded(id);
|
|
168
182
|
if (!manager.getSession(id))
|
|
169
183
|
return c.json({ error: "not found" }, 404);
|
|
170
184
|
c.header("Content-Type", "text/event-stream");
|
|
@@ -277,8 +291,10 @@ export async function startServer(opts = {}) {
|
|
|
277
291
|
}),
|
|
278
292
|
};
|
|
279
293
|
}
|
|
280
|
-
// Allow `node dist/server.js` to boot directly.
|
|
281
|
-
|
|
294
|
+
// Allow `node dist/server.js` to boot directly. Use pathToFileURL for the
|
|
295
|
+
// main-module check so it works on Windows too — a naive `file://${argv[1]}`
|
|
296
|
+
// never matches import.meta.url there (backslashes, drive letter, file:///).
|
|
297
|
+
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
|
|
282
298
|
void startServer().then(({ port }) => {
|
|
283
299
|
// eslint-disable-next-line no-console
|
|
284
300
|
console.log(`[runtime] listening on :${port} (mock=${process.env.BP_MOCK ?? "0"})`);
|