@brainpilot/runtime 0.0.5 → 0.0.6
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/README.md +61 -0
- package/dist/agent-error.d.ts +51 -0
- package/dist/agent-error.d.ts.map +1 -0
- package/dist/agent-error.js +163 -0
- package/dist/agent-error.js.map +1 -0
- package/dist/agent-factory.d.ts.map +1 -1
- package/dist/agent-factory.js +36 -6
- package/dist/agent-factory.js.map +1 -1
- package/dist/events.d.ts +18 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +24 -0
- package/dist/events.js.map +1 -1
- package/dist/extensions/agent-status.d.ts +91 -0
- package/dist/extensions/agent-status.d.ts.map +1 -0
- package/dist/extensions/agent-status.js +103 -0
- package/dist/extensions/agent-status.js.map +1 -0
- package/dist/extensions/trace-reminder.d.ts +94 -0
- package/dist/extensions/trace-reminder.d.ts.map +1 -0
- package/dist/extensions/trace-reminder.js +153 -0
- package/dist/extensions/trace-reminder.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mailbox.d.ts +37 -1
- package/dist/mailbox.d.ts.map +1 -1
- package/dist/mailbox.js +79 -2
- package/dist/mailbox.js.map +1 -1
- package/dist/mas-agent.d.ts +74 -12
- package/dist/mas-agent.d.ts.map +1 -1
- package/dist/mas-agent.js +158 -33
- package/dist/mas-agent.js.map +1 -1
- package/dist/materialize-skills.d.ts +40 -0
- package/dist/materialize-skills.d.ts.map +1 -0
- package/dist/materialize-skills.js +141 -0
- package/dist/materialize-skills.js.map +1 -0
- package/dist/mock-agent.d.ts.map +1 -1
- package/dist/mock-agent.js +13 -1
- package/dist/mock-agent.js.map +1 -1
- package/dist/personas.d.ts +16 -0
- package/dist/personas.d.ts.map +1 -1
- package/dist/personas.js +651 -8
- package/dist/personas.js.map +1 -1
- package/dist/pi-provider.d.ts +5 -0
- package/dist/pi-provider.d.ts.map +1 -1
- package/dist/pi-provider.js +7 -1
- package/dist/pi-provider.js.map +1 -1
- package/dist/provider-config.d.ts +5 -0
- package/dist/provider-config.d.ts.map +1 -1
- package/dist/provider-config.js +2 -0
- package/dist/provider-config.js.map +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +82 -8
- package/dist/server.js.map +1 -1
- package/dist/session-manager.d.ts +311 -8
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +896 -39
- package/dist/session-manager.js.map +1 -1
- package/dist/tools/skill-search.d.ts +53 -0
- package/dist/tools/skill-search.d.ts.map +1 -0
- package/dist/tools/skill-search.js +269 -0
- package/dist/tools/skill-search.js.map +1 -0
- package/dist/tools/system-tools.d.ts +22 -1
- package/dist/tools/system-tools.d.ts.map +1 -1
- package/dist/tools/system-tools.js +149 -21
- package/dist/tools/system-tools.js.map +1 -1
- package/dist/trace.d.ts +27 -1
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js +60 -3
- package/dist/trace.js.map +1 -1
- package/dist/types.d.ts +51 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -2
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { MailboxFullError } from "../mailbox.js";
|
|
2
|
+
import { createSkillSearchTool } from "./skill-search.js";
|
|
1
3
|
function ok(text) {
|
|
2
4
|
return { content: [{ type: "text", text }] };
|
|
3
5
|
}
|
|
@@ -19,7 +21,23 @@ export function createSendMessageTool(deps) {
|
|
|
19
21
|
const content = String(params.content ?? "");
|
|
20
22
|
const msgType = params.msg_type ?? deriveMsgType(deps.fromAgent, to);
|
|
21
23
|
await deps.ensureAgent(to);
|
|
22
|
-
|
|
24
|
+
try {
|
|
25
|
+
await deps.mailbox.write({ fromAgent: deps.fromAgent, toAgent: to, content, msgType });
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
// #76 backpressure: the target inbox is full. Signal a failed tool call
|
|
29
|
+
// (isError) so the sending agent sees the rejection and backs off,
|
|
30
|
+
// rather than silently dropping the message or growing the inbox.
|
|
31
|
+
if (err instanceof MailboxFullError) {
|
|
32
|
+
return { ...ok(`cannot deliver to ${to}: ${err.message}`), isError: true };
|
|
33
|
+
}
|
|
34
|
+
throw err;
|
|
35
|
+
}
|
|
36
|
+
// #76: actively wake the target so it consumes the inbox and runs. This is
|
|
37
|
+
// fire-and-forget — the sending agent's turn returns immediately ("you
|
|
38
|
+
// never poll", per the A2A persona); the target's run proceeds in its own
|
|
39
|
+
// delivery loop. Without this the message is written but never read.
|
|
40
|
+
deps.wakeAgent(to);
|
|
23
41
|
return ok(`delivered to ${to}`);
|
|
24
42
|
},
|
|
25
43
|
};
|
|
@@ -29,6 +47,36 @@ function deriveMsgType(from, to) {
|
|
|
29
47
|
return "result_deliver";
|
|
30
48
|
return "task_delegate";
|
|
31
49
|
}
|
|
50
|
+
export function createAskUserTool(deps) {
|
|
51
|
+
return {
|
|
52
|
+
name: "ask_user",
|
|
53
|
+
description: "Ask the human user a question and wait for their answer. Use when you need a decision or information only the user can provide. Returns the user's answer as text.",
|
|
54
|
+
parameters: {
|
|
55
|
+
type: "object",
|
|
56
|
+
properties: {
|
|
57
|
+
question: { type: "string", description: "The question to show the user" },
|
|
58
|
+
options: {
|
|
59
|
+
type: "array",
|
|
60
|
+
items: { type: "string" },
|
|
61
|
+
description: "Optional choices to offer the user",
|
|
62
|
+
},
|
|
63
|
+
allow_free_text: {
|
|
64
|
+
type: "boolean",
|
|
65
|
+
description: "Whether the user may type a free-text answer (default true)",
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
required: ["question"],
|
|
69
|
+
},
|
|
70
|
+
execute: async (params) => {
|
|
71
|
+
const answer = await deps.requestUserInput({
|
|
72
|
+
question: String(params.question ?? ""),
|
|
73
|
+
options: Array.isArray(params.options) ? params.options : undefined,
|
|
74
|
+
allow_free_text: typeof params.allow_free_text === "boolean" ? params.allow_free_text : undefined,
|
|
75
|
+
});
|
|
76
|
+
return ok(answer);
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
32
80
|
export function createCreateAgentTool(deps) {
|
|
33
81
|
return {
|
|
34
82
|
name: "create_agent",
|
|
@@ -64,7 +112,9 @@ export function createDestroyAgentTool(deps) {
|
|
|
64
112
|
export function createRecordTraceTool(deps) {
|
|
65
113
|
return {
|
|
66
114
|
name: "record_trace",
|
|
67
|
-
description: "
|
|
115
|
+
description: "Notify the Trace Agent of a reasoning/trace event. The Trace Agent is a " +
|
|
116
|
+
"real agent that owns the Graph of Trace; it decides whether to create a " +
|
|
117
|
+
"new node, update an existing one, or merge with a sibling.",
|
|
68
118
|
parameters: {
|
|
69
119
|
type: "object",
|
|
70
120
|
properties: {
|
|
@@ -75,16 +125,52 @@ export function createRecordTraceTool(deps) {
|
|
|
75
125
|
required: ["description"],
|
|
76
126
|
},
|
|
77
127
|
execute: async (params) => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
128
|
+
// §10 (legacy parity): record_trace does NOT mutate the graph directly.
|
|
129
|
+
// Instead it dispatches a [Trace Event] envelope into the trace agent's
|
|
130
|
+
// mailbox; the trace agent — a real Pi AgentSession — receives it and
|
|
131
|
+
// calls create_trace_node / update_trace_node / add_trace_relation as the
|
|
132
|
+
// editor. This keeps the trace agent's status authentically live in the
|
|
133
|
+
// Agents panel (otherwise it would be a permanently-dormant placeholder)
|
|
134
|
+
// and lets the trace agent merge/dedupe across multiple sources, which is
|
|
135
|
+
// exactly the persona we already ship for it.
|
|
136
|
+
const description = String(params.description ?? "");
|
|
137
|
+
const context = String(params.context ?? "");
|
|
138
|
+
const artifacts = params.artifacts ?? [];
|
|
139
|
+
const lines = [`[Trace Event]`, `Description: ${description}`];
|
|
140
|
+
if (context)
|
|
141
|
+
lines.push(`Context: ${context}`);
|
|
142
|
+
lines.push("", "Artifacts:");
|
|
143
|
+
if (artifacts.length === 0) {
|
|
144
|
+
lines.push("(none)");
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
for (const a of artifacts)
|
|
148
|
+
lines.push(`- ${a}`);
|
|
149
|
+
}
|
|
150
|
+
const envelope = lines.join("\n");
|
|
151
|
+
// Spawn-on-demand: the trace agent is a real Pi session. ensureAgent
|
|
152
|
+
// creates one if it doesn't exist yet (idempotent) and resurrects a
|
|
153
|
+
// stopped one. That spawn is what finally surfaces the trace agent as
|
|
154
|
+
// "idle/running" in the Agents panel.
|
|
155
|
+
await deps.ensureAgent("trace");
|
|
156
|
+
try {
|
|
157
|
+
await deps.mailbox.write({
|
|
158
|
+
fromAgent: deps.fromAgent,
|
|
159
|
+
toAgent: "trace",
|
|
160
|
+
content: envelope,
|
|
161
|
+
msgType: "trace_event",
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
if (err instanceof MailboxFullError) {
|
|
166
|
+
return { ...ok(`cannot deliver to trace: ${err.message}`), isError: true };
|
|
167
|
+
}
|
|
168
|
+
throw err;
|
|
169
|
+
}
|
|
170
|
+
// Fire-and-forget: kick the trace agent's delivery loop so the envelope
|
|
171
|
+
// is consumed in its own run rather than sitting unread.
|
|
172
|
+
deps.wakeAgent("trace");
|
|
173
|
+
return ok("trace event dispatched");
|
|
88
174
|
},
|
|
89
175
|
};
|
|
90
176
|
}
|
|
@@ -104,14 +190,18 @@ export function createTraceNodeTool(deps) {
|
|
|
104
190
|
required: ["title"],
|
|
105
191
|
},
|
|
106
192
|
execute: async (params) => {
|
|
107
|
-
|
|
193
|
+
// Honour an explicit parent_id; otherwise chain to the most recent node so
|
|
194
|
+
// the graph stays connected instead of accumulating orphan nodes.
|
|
195
|
+
const explicitParent = params.parent_id ? String(params.parent_id) : undefined;
|
|
196
|
+
const parentId = explicitParent ?? deps.trace.getLastNodeId();
|
|
197
|
+
const relation = explicitParent ? "parent" : "follows";
|
|
108
198
|
const node = deps.trace.createNode({
|
|
109
199
|
title: String(params.title ?? ""),
|
|
110
200
|
type: params.type ? String(params.type) : undefined,
|
|
111
201
|
status: params.status ? String(params.status) : undefined,
|
|
112
202
|
description: params.description ? String(params.description) : undefined,
|
|
113
203
|
agent: deps.fromAgent,
|
|
114
|
-
parents: parentId ? [{ id: parentId, relation
|
|
204
|
+
parents: parentId ? [{ id: parentId, relation }] : undefined,
|
|
115
205
|
});
|
|
116
206
|
return ok(`node ${node.id} created`);
|
|
117
207
|
},
|
|
@@ -146,12 +236,20 @@ export function createUpdateTraceNodeTool(deps) {
|
|
|
146
236
|
export function createAddTraceRelationTool(deps) {
|
|
147
237
|
return {
|
|
148
238
|
name: "add_trace_relation",
|
|
149
|
-
description: "Add a
|
|
239
|
+
description: "Add a directed dependency edge between two trace nodes. DIRECTION MATTERS: " +
|
|
240
|
+
"`from_id` is the PREREQUISITE (the earlier source work that must exist first), " +
|
|
241
|
+
"`to_id` is the DEPENDENT (the later downstream work that relies on it). The " +
|
|
242
|
+
"edge points from_id ──▶ to_id, read as \"to_id depends_on from_id\". " +
|
|
243
|
+
"Example: a librarian survey is the prerequisite of an experimentalist synthesis, " +
|
|
244
|
+
"so call add_trace_relation(from_id=<survey>, to_id=<synthesis>) — NOT the reverse. " +
|
|
245
|
+
"Rule of thumb: the prerequisite (from_id) is almost always the node that was " +
|
|
246
|
+
"created earlier; if you find yourself pointing from a later node to an earlier " +
|
|
247
|
+
"one, you have the arguments backwards.",
|
|
150
248
|
parameters: {
|
|
151
249
|
type: "object",
|
|
152
250
|
properties: {
|
|
153
|
-
from_id: { type: "string" },
|
|
154
|
-
to_id: { type: "string" },
|
|
251
|
+
from_id: { type: "string", description: "Prerequisite / earlier source node." },
|
|
252
|
+
to_id: { type: "string", description: "Dependent / later downstream node." },
|
|
155
253
|
explanation: { type: "string" },
|
|
156
254
|
},
|
|
157
255
|
required: ["from_id", "to_id", "explanation"],
|
|
@@ -176,6 +274,7 @@ export function createGetTraceGraphTool(deps) {
|
|
|
176
274
|
export function allSystemTools(deps) {
|
|
177
275
|
const tools = [
|
|
178
276
|
createSendMessageTool(deps),
|
|
277
|
+
createAskUserTool(deps),
|
|
179
278
|
createCreateAgentTool(deps),
|
|
180
279
|
createDestroyAgentTool(deps),
|
|
181
280
|
createRecordTraceTool(deps),
|
|
@@ -183,6 +282,7 @@ export function allSystemTools(deps) {
|
|
|
183
282
|
createUpdateTraceNodeTool(deps),
|
|
184
283
|
createAddTraceRelationTool(deps),
|
|
185
284
|
createGetTraceGraphTool(deps),
|
|
285
|
+
createSkillSearchTool(deps),
|
|
186
286
|
];
|
|
187
287
|
return new Map(tools.map((t) => [t.name, t]));
|
|
188
288
|
}
|
|
@@ -192,18 +292,41 @@ export function allSystemTools(deps) {
|
|
|
192
292
|
* tools (read/bash/grep/...) are controlled separately via `builtinToolsForRole`.
|
|
193
293
|
*/
|
|
194
294
|
export const AGENT_TOOL_CONFIG = {
|
|
195
|
-
|
|
295
|
+
// skill_search opens the router skill library (the long-tail domain catalog
|
|
296
|
+
// not in <available_skills>). Trace is deliberately excluded: it is a
|
|
297
|
+
// graph-only recorder, not a domain reasoner.
|
|
298
|
+
principal: [
|
|
299
|
+
"send_message",
|
|
300
|
+
"create_agent",
|
|
301
|
+
"destroy_agent",
|
|
302
|
+
"record_trace",
|
|
303
|
+
"ask_user",
|
|
304
|
+
"skill_search",
|
|
305
|
+
],
|
|
196
306
|
trace: ["create_trace_node", "update_trace_node", "add_trace_relation", "get_trace_graph"],
|
|
197
|
-
expert: ["send_message", "record_trace"],
|
|
307
|
+
expert: ["send_message", "record_trace", "skill_search"],
|
|
308
|
+
// Auditor: comms + self-trace only. Deliberately NO `get_trace_graph` —
|
|
309
|
+
// evidence is restricted to the session workspace; the audit must not
|
|
310
|
+
// dredge the trace graph or other agents' internal state. skill_search is
|
|
311
|
+
// included so an audit can resolve a methodology skill referenced in a draft.
|
|
312
|
+
auditor: ["send_message", "record_trace", "skill_search"],
|
|
313
|
+
// Writer: needs ask_user to present format/style options before drafting.
|
|
314
|
+
writer: ["send_message", "record_trace", "ask_user", "skill_search"],
|
|
198
315
|
// Default for any other expert-like agent.
|
|
199
|
-
_default: ["send_message", "record_trace"],
|
|
316
|
+
_default: ["send_message", "record_trace", "skill_search"],
|
|
200
317
|
};
|
|
201
318
|
/**
|
|
202
319
|
* Built-in Pi tool allowlist per role. Valid Pi builtin names:
|
|
203
320
|
* `bash, edit, find, glob, grep, ls, read, write`.
|
|
204
321
|
*/
|
|
205
322
|
export const BUILTIN_TOOL_CONFIG = {
|
|
206
|
-
|
|
323
|
+
// PI is the user-facing orchestrator: it must be able to inspect and touch the
|
|
324
|
+
// workspace directly (read a file, run a quick check, make a small edit) for
|
|
325
|
+
// the lightweight framing / synthesis its persona promises. Substantial domain
|
|
326
|
+
// work is still delegated to experts — that's a persona discipline, not a tool
|
|
327
|
+
// restriction. Previously `[]`, which made PI truthfully report it could not
|
|
328
|
+
// read/write/bash, contradicting its own prompt.
|
|
329
|
+
principal: ["read", "write", "edit", "bash", "grep", "find", "glob", "ls"],
|
|
207
330
|
trace: ["read"],
|
|
208
331
|
expert: ["read", "grep", "find"],
|
|
209
332
|
_default: ["read", "grep", "find"],
|
|
@@ -218,6 +341,11 @@ export const BUILTIN_TOOL_CONFIG_BY_NAME = {
|
|
|
218
341
|
experimentalist: ["read", "write", "edit", "bash", "grep", "find", "glob", "ls"],
|
|
219
342
|
writer: ["read", "write", "edit", "grep", "find", "glob", "ls"],
|
|
220
343
|
librarian: ["read", "grep", "find", "glob"],
|
|
344
|
+
// Auditor: read-only inspection + `write` for its own audit report. NO `edit`
|
|
345
|
+
// (must not modify other agents' artefacts). `bash` is included for
|
|
346
|
+
// grep/awk/jq/diff style filesystem inspection — its read-only discipline is
|
|
347
|
+
// enforced by the auditor persona, not by the tool whitelist.
|
|
348
|
+
auditor: ["read", "grep", "find", "glob", "bash", "write"],
|
|
221
349
|
};
|
|
222
350
|
export function systemToolNamesForRole(role, agentName) {
|
|
223
351
|
// `trace` agent keyed by role; principal by role; experts share `_default`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-tools.js","sourceRoot":"","sources":["../../src/tools/system-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system-tools.js","sourceRoot":"","sources":["../../src/tools/system-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/trace.d.ts
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import type { TraceGraph, TraceNode } from "@brainpilot/protocol";
|
|
2
|
+
/** Mutation kind reported to the `onChange` listener. */
|
|
3
|
+
export type TraceChangeOp = "created" | "updated";
|
|
2
4
|
export declare class GraphOfTrace {
|
|
3
5
|
readonly sessionId: string;
|
|
4
6
|
private readonly persistPath?;
|
|
7
|
+
private readonly onChange?;
|
|
5
8
|
private readonly nodes;
|
|
6
9
|
private writeChain;
|
|
7
|
-
|
|
10
|
+
/** Id of the most recently created node — used to chain auto-captured nodes. */
|
|
11
|
+
private lastNodeId;
|
|
12
|
+
/**
|
|
13
|
+
* @param onChange invoked after every node create/update/relation mutation so
|
|
14
|
+
* a hosting layer (SessionManager) can push a live `CUSTOM:trace_node` event.
|
|
15
|
+
* Kept decoupled from the EventBus so the store stays unit-testable on its own.
|
|
16
|
+
*/
|
|
17
|
+
constructor(sessionId: string, persistPath?: string | undefined, onChange?: ((op: TraceChangeOp, node: TraceNode) => void) | undefined);
|
|
8
18
|
createNode(input: {
|
|
9
19
|
title: string;
|
|
10
20
|
type?: string;
|
|
@@ -22,9 +32,25 @@ export declare class GraphOfTrace {
|
|
|
22
32
|
path: string;
|
|
23
33
|
type?: string;
|
|
24
34
|
}>;
|
|
35
|
+
metadata?: Record<string, unknown>;
|
|
25
36
|
id?: string;
|
|
26
37
|
}): TraceNode;
|
|
38
|
+
/**
|
|
39
|
+
* Create a node automatically chained to the most recent node (deterministic
|
|
40
|
+
* hook capture, §8). When no prior node exists it becomes a root. `metadata.auto`
|
|
41
|
+
* is set so the UI can distinguish infra-captured milestones from LLM traces.
|
|
42
|
+
*/
|
|
43
|
+
createChainedNode(input: {
|
|
44
|
+
title: string;
|
|
45
|
+
type?: string;
|
|
46
|
+
status?: string;
|
|
47
|
+
agent?: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
metadata?: Record<string, unknown>;
|
|
50
|
+
}): TraceNode;
|
|
27
51
|
updateNode(id: string, updates: Partial<TraceNode>): TraceNode | undefined;
|
|
52
|
+
/** Id of the most recently created node, if any. */
|
|
53
|
+
getLastNodeId(): string | undefined;
|
|
28
54
|
addRelation(fromId: string, toId: string, explanation: string, relation?: string): boolean;
|
|
29
55
|
getNode(id: string): TraceNode | undefined;
|
|
30
56
|
getGraph(): TraceGraph;
|
package/dist/trace.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMlE,qBAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMlE,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAElD,qBAAa,YAAY;IAYrB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAb5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,UAAU,CAAoC;IACtD,gFAAgF;IAChF,OAAO,CAAC,UAAU,CAAqB;IAEvC;;;;OAIG;gBAEQ,SAAS,EAAE,MAAM,EACT,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,QAAQ,CAAC,GAAE,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,aAAA;IAG1E,UAAU,CAAC,KAAK,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACzE,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,SAAS;IAiCb;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,SAAS;IAab,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS;IAS1E,oDAAoD;IACpD,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,SAAe,GAAG,OAAO;IA+BhG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI1C,QAAQ,IAAI,UAAU;IAOtB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAY7B,OAAO,CAAC,OAAO;IAWT,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
package/dist/trace.js
CHANGED
|
@@ -14,11 +14,20 @@ function now() {
|
|
|
14
14
|
export class GraphOfTrace {
|
|
15
15
|
sessionId;
|
|
16
16
|
persistPath;
|
|
17
|
+
onChange;
|
|
17
18
|
nodes = new Map();
|
|
18
19
|
writeChain = Promise.resolve();
|
|
19
|
-
|
|
20
|
+
/** Id of the most recently created node — used to chain auto-captured nodes. */
|
|
21
|
+
lastNodeId;
|
|
22
|
+
/**
|
|
23
|
+
* @param onChange invoked after every node create/update/relation mutation so
|
|
24
|
+
* a hosting layer (SessionManager) can push a live `CUSTOM:trace_node` event.
|
|
25
|
+
* Kept decoupled from the EventBus so the store stays unit-testable on its own.
|
|
26
|
+
*/
|
|
27
|
+
constructor(sessionId, persistPath, onChange) {
|
|
20
28
|
this.sessionId = sessionId;
|
|
21
29
|
this.persistPath = persistPath;
|
|
30
|
+
this.onChange = onChange;
|
|
22
31
|
}
|
|
23
32
|
createNode(input) {
|
|
24
33
|
const id = input.id ?? `node_${randomUUID()}`;
|
|
@@ -39,6 +48,7 @@ export class GraphOfTrace {
|
|
|
39
48
|
createdAt: now(),
|
|
40
49
|
updatedAt: now(),
|
|
41
50
|
toolCalls: [],
|
|
51
|
+
...(input.metadata ? { metadata: input.metadata } : {}),
|
|
42
52
|
};
|
|
43
53
|
this.nodes.set(id, node);
|
|
44
54
|
// Maintain reverse edges.
|
|
@@ -47,22 +57,60 @@ export class GraphOfTrace {
|
|
|
47
57
|
if (parent && !parent.childIds.includes(id))
|
|
48
58
|
parent.childIds.push(id);
|
|
49
59
|
}
|
|
60
|
+
this.lastNodeId = id;
|
|
50
61
|
this.persist();
|
|
62
|
+
this.onChange?.("created", node);
|
|
51
63
|
return node;
|
|
52
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Create a node automatically chained to the most recent node (deterministic
|
|
67
|
+
* hook capture, §8). When no prior node exists it becomes a root. `metadata.auto`
|
|
68
|
+
* is set so the UI can distinguish infra-captured milestones from LLM traces.
|
|
69
|
+
*/
|
|
70
|
+
createChainedNode(input) {
|
|
71
|
+
const parent = this.lastNodeId ? this.nodes.get(this.lastNodeId) : undefined;
|
|
72
|
+
return this.createNode({
|
|
73
|
+
title: input.title,
|
|
74
|
+
type: input.type ?? "milestone",
|
|
75
|
+
status: input.status ?? "completed",
|
|
76
|
+
agent: input.agent,
|
|
77
|
+
description: input.description,
|
|
78
|
+
parents: parent ? [{ id: parent.id, relation: "follows" }] : undefined,
|
|
79
|
+
metadata: { auto: true, ...input.metadata },
|
|
80
|
+
});
|
|
81
|
+
}
|
|
53
82
|
updateNode(id, updates) {
|
|
54
83
|
const node = this.nodes.get(id);
|
|
55
84
|
if (!node)
|
|
56
85
|
return undefined;
|
|
57
86
|
Object.assign(node, updates, { id, updatedAt: now() });
|
|
58
87
|
this.persist();
|
|
88
|
+
this.onChange?.("updated", node);
|
|
59
89
|
return node;
|
|
60
90
|
}
|
|
91
|
+
/** Id of the most recently created node, if any. */
|
|
92
|
+
getLastNodeId() {
|
|
93
|
+
return this.lastNodeId;
|
|
94
|
+
}
|
|
61
95
|
addRelation(fromId, toId, explanation, relation = "depends_on") {
|
|
62
|
-
|
|
63
|
-
|
|
96
|
+
let from = this.nodes.get(fromId);
|
|
97
|
+
let to = this.nodes.get(toId);
|
|
64
98
|
if (!from || !to)
|
|
65
99
|
return false;
|
|
100
|
+
// Chronology guard (#110): a `depends_on` edge must point prerequisite → dependent,
|
|
101
|
+
// i.e. the source (`from`) is created no later than the dependent (`to`). The Trace
|
|
102
|
+
// agent (an LLM) sometimes passes the arguments reversed ("synthesis depends_on
|
|
103
|
+
// survey" written as from=synthesis,to=survey), producing edges that point backward
|
|
104
|
+
// in time. Time is a hard fact, so when a depends_on edge would run later→earlier we
|
|
105
|
+
// swap the endpoints to restore the semantic direction. Other relation kinds
|
|
106
|
+
// (parent/follows/produced/…) are left untouched.
|
|
107
|
+
if (relation === "depends_on" &&
|
|
108
|
+
from.createdAt &&
|
|
109
|
+
to.createdAt &&
|
|
110
|
+
from.createdAt > to.createdAt) {
|
|
111
|
+
[from, to] = [to, from];
|
|
112
|
+
[fromId, toId] = [toId, fromId];
|
|
113
|
+
}
|
|
66
114
|
if (!to.parents.some((p) => p.id === fromId)) {
|
|
67
115
|
to.parents.push({ id: fromId, relation, explanation });
|
|
68
116
|
to.parentIds.push(fromId);
|
|
@@ -71,6 +119,7 @@ export class GraphOfTrace {
|
|
|
71
119
|
from.childIds.push(toId);
|
|
72
120
|
to.updatedAt = now();
|
|
73
121
|
this.persist();
|
|
122
|
+
this.onChange?.("updated", to);
|
|
74
123
|
return true;
|
|
75
124
|
}
|
|
76
125
|
getNode(id) {
|
|
@@ -86,6 +135,14 @@ export class GraphOfTrace {
|
|
|
86
135
|
this.nodes.clear();
|
|
87
136
|
for (const n of graph.nodes)
|
|
88
137
|
this.nodes.set(n.id, n);
|
|
138
|
+
// Resume chaining from the last-created node (by createdAt, falling back to
|
|
139
|
+
// insertion order) so post-restore auto nodes link to existing history.
|
|
140
|
+
let last;
|
|
141
|
+
for (const n of this.nodes.values()) {
|
|
142
|
+
if (!last || (n.createdAt ?? "") >= (last.createdAt ?? ""))
|
|
143
|
+
last = n;
|
|
144
|
+
}
|
|
145
|
+
this.lastNodeId = last?.id;
|
|
89
146
|
}
|
|
90
147
|
persist() {
|
|
91
148
|
if (!this.persistPath)
|
package/dist/trace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,EAAY,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,SAAS,GAAG;IACV,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -21,7 +21,13 @@ export interface IAgentSession {
|
|
|
21
21
|
subscribe(listener: (event: PiAgentEvent) => void): () => void;
|
|
22
22
|
/** Send a prompt. Resolves when the run completes (or is aborted). */
|
|
23
23
|
prompt(text: string): Promise<void>;
|
|
24
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Hard-abort the active run. For the real Pi session this aborts the provider
|
|
26
|
+
* stream AND awaits the agent returning to idle (SDK `AgentSession.abort()`
|
|
27
|
+
* is itself `abort() + waitForIdle()`); the mock/test sessions signal their
|
|
28
|
+
* loop to stop. Callers that must fence the old stream before starting a new
|
|
29
|
+
* run should await this (see `MasAgent.abort`, #101).
|
|
30
|
+
*/
|
|
25
31
|
abort(): Promise<void>;
|
|
26
32
|
/** Tear down; release resources. */
|
|
27
33
|
dispose(): void;
|
|
@@ -100,6 +106,10 @@ export type PiAssistantMessageEvent = {
|
|
|
100
106
|
type: "reasoning_start";
|
|
101
107
|
} | {
|
|
102
108
|
type: "reasoning_end";
|
|
109
|
+
} | {
|
|
110
|
+
type: "error";
|
|
111
|
+
error?: unknown;
|
|
112
|
+
reason?: string;
|
|
103
113
|
} | {
|
|
104
114
|
type: string;
|
|
105
115
|
[k: string]: unknown;
|
|
@@ -108,6 +118,22 @@ export type PiAssistantMessageEvent = {
|
|
|
108
118
|
export interface PiMessage {
|
|
109
119
|
role: string;
|
|
110
120
|
content?: PiContentBlock[];
|
|
121
|
+
/**
|
|
122
|
+
* Provider-reported token usage, present on finalized assistant messages
|
|
123
|
+
* (Pi's `AssistantMessage.usage`). The runtime reads this on `message_end`
|
|
124
|
+
* to accumulate real per-session/per-agent token stats. Optional + loose
|
|
125
|
+
* because user/tool messages and mock feeds may omit it.
|
|
126
|
+
*/
|
|
127
|
+
usage?: PiUsage;
|
|
128
|
+
[k: string]: unknown;
|
|
129
|
+
}
|
|
130
|
+
/** Pi/provider token usage counters (mirrors `@earendil-works/pi-ai` Usage). */
|
|
131
|
+
export interface PiUsage {
|
|
132
|
+
input?: number;
|
|
133
|
+
output?: number;
|
|
134
|
+
cacheRead?: number;
|
|
135
|
+
cacheWrite?: number;
|
|
136
|
+
totalTokens?: number;
|
|
111
137
|
[k: string]: unknown;
|
|
112
138
|
}
|
|
113
139
|
export interface PiContentBlock {
|
|
@@ -134,11 +160,27 @@ export type AgentSessionFactory = (params: {
|
|
|
134
160
|
/** System prompt for the agent. */
|
|
135
161
|
systemPrompt: string;
|
|
136
162
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
163
|
+
* Explicit skill directories to load through Pi's native skill pipeline
|
|
164
|
+
* (`additionalSkillPaths`). Host-global auto-discovery stays disabled
|
|
165
|
+
* (`noSkills: true`); these dirs are loaded on top of that. Typically a single
|
|
166
|
+
* entry: `<dataRoot>/bp_template/skills`. Omitted by the mock factory.
|
|
167
|
+
*/
|
|
168
|
+
skillPaths?: string[];
|
|
169
|
+
/**
|
|
170
|
+
* 意图二 fallback (Pi-native hooks): invoked by the trace-reminder extension
|
|
171
|
+
* when an expert was reminded once and STILL did not report back, so the host
|
|
172
|
+
* can write a fallback note into the principal's mailbox (the PI never
|
|
173
|
+
* dead-waits). Omitted by the mock factory.
|
|
174
|
+
*/
|
|
175
|
+
onUnreplied?: (agentName: string) => void;
|
|
176
|
+
/**
|
|
177
|
+
* #97: compute a fresh "team status" block to inject at the top of every turn
|
|
178
|
+
* (via the agent-status extension's Pi `context` hook). Called once per turn;
|
|
179
|
+
* returns "" when there is nothing to inject. Supplied only for the principal
|
|
180
|
+
* (the coordinator that benefits from the whole-team view); omitted for other
|
|
181
|
+
* roles and by the mock factory.
|
|
140
182
|
*/
|
|
141
|
-
|
|
183
|
+
renderAgentStatus?: () => string;
|
|
142
184
|
/**
|
|
143
185
|
* Per-session LLM provider resolved from providers.json. When omitted, the
|
|
144
186
|
* factory falls back to Pi's env-based default (Docker/static compat).
|
|
@@ -146,6 +188,10 @@ export type AgentSessionFactory = (params: {
|
|
|
146
188
|
providerConfig?: {
|
|
147
189
|
providerId: string;
|
|
148
190
|
baseUrl?: string;
|
|
191
|
+
/** #63: wire protocol (Pi models.json api). Defaults to anthropic-messages. */
|
|
192
|
+
api?: string;
|
|
193
|
+
/** #68: coarse adapter family (auto/openai/anthropic); derives api when api unset. */
|
|
194
|
+
adapter?: string;
|
|
149
195
|
apiKey: string;
|
|
150
196
|
modelId?: string;
|
|
151
197
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE9E,2EAA2E;AAC3E,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC/D,sEAAsE;IACtE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brainpilot/runtime",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
|
+
"engines": {
|
|
5
|
+
"node": ">=22"
|
|
6
|
+
},
|
|
4
7
|
"license": "Apache-2.0",
|
|
5
8
|
"type": "module",
|
|
6
9
|
"description": "BrainPilot Runtime — Pi SDK orchestration, SessionManager, Mailbox, GoT, state authority, HTTP server",
|
|
@@ -34,7 +37,8 @@
|
|
|
34
37
|
"start": "node ./dist/server.js"
|
|
35
38
|
},
|
|
36
39
|
"dependencies": {
|
|
37
|
-
"@brainpilot/protocol": "^0.0.
|
|
40
|
+
"@brainpilot/protocol": "^0.0.6",
|
|
41
|
+
"@brainpilot/skills": "^0.0.6",
|
|
38
42
|
"@earendil-works/pi-coding-agent": "^0.79.0",
|
|
39
43
|
"@hono/node-server": "^1.19.0",
|
|
40
44
|
"@modelcontextprotocol/sdk": "^1.0.0",
|