@corenel/tools-web 0.5.0 → 0.6.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/budgetGate.d.ts +1 -1
- package/dist/budgetGate.d.ts.map +1 -1
- package/dist/budgetGate.js +2 -2
- package/dist/budgetGate.js.map +1 -1
- package/dist/core/protocol.d.ts +52 -8
- package/dist/core/protocol.d.ts.map +1 -1
- package/dist/liveFold.d.ts +18 -0
- package/dist/liveFold.d.ts.map +1 -0
- package/dist/liveFold.js +16 -0
- package/dist/liveFold.js.map +1 -0
- package/dist/nodeUsage.d.ts +6 -0
- package/dist/nodeUsage.d.ts.map +1 -0
- package/dist/nodeUsage.js +7 -0
- package/dist/nodeUsage.js.map +1 -0
- package/dist/runtime.d.ts +46 -8
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +123 -31
- package/dist/runtime.js.map +1 -1
- package/dist/workerClient.d.ts +85 -20
- package/dist/workerClient.d.ts.map +1 -1
- package/dist/workerClient.js +140 -11
- package/dist/workerClient.js.map +1 -1
- package/dist/workerHandler.d.ts +60 -0
- package/dist/workerHandler.d.ts.map +1 -1
- package/dist/workerHandler.js +190 -38
- package/dist/workerHandler.js.map +1 -1
- package/package.json +4 -4
package/dist/workerClient.d.ts
CHANGED
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import type { ChatCompletionMessageParam } from 'openai/resources/chat/completions';
|
|
2
2
|
import type { RunAgentResult } from '@corenel/harness/core/loop';
|
|
3
|
-
import type {
|
|
3
|
+
import type { SkillEntry } from '@corenel/harness/tools/skillTool';
|
|
4
|
+
import type { WorkerToMain, GraphConfigWire } from './core/protocol';
|
|
4
5
|
import type { RunNodeResult, NodeSpec } from '@corenel/harness/dag/executeNode';
|
|
5
6
|
import type { NodeOutput, NodeEvent } from '@corenel/protocol';
|
|
6
|
-
import type { AgentEvent, AskQuestion, AskAnswers, EditReviewOutcome, HealRecord, Usage } from '@corenel/protocol';
|
|
7
|
+
import type { AgentEvent, AskQuestion, AskAnswers, EditReviewOutcome, HealRecord, Usage, DecisionEvent, RecordContext, ApprovalSuggestion, ApprovalSubject } from '@corenel/protocol';
|
|
7
8
|
import type { Policy, PermissionCeiling } from '@corenel/harness/guardrail';
|
|
8
9
|
import type { CompressionConfig } from '@corenel/harness/compression';
|
|
9
10
|
import type { FileService } from '@corenel/protocol';
|
|
10
11
|
import type { ToolDecl } from '@corenel/protocol';
|
|
11
12
|
import type { IMemoryProvider } from '@corenel/protocol';
|
|
13
|
+
import type { CrewDelegate, OrchestrationLimits, WorkspaceLockRef } from '@corenel/protocol';
|
|
12
14
|
import type { RunConstraints, Breach, BudgetState } from '@corenel/harness/core/budget';
|
|
13
15
|
import type { ModelRouting } from '@corenel/harness/providers/gateway';
|
|
16
|
+
import { type AuditBridgeHost } from '@corenel/harness/audit/runAudit';
|
|
14
17
|
/** Options for runNode — like RunOpts but the node's internal turns arrive via
|
|
15
18
|
* onNodeEvent (the node-tagged stream); onEvent only ever sees a terminal error. */
|
|
19
|
+
/** One permission ask as the host sees it. `agent` names a delegated callee
|
|
20
|
+
* (call_agent) that raised it; absent for the run's own agent. */
|
|
21
|
+
export interface PermissionRequest {
|
|
22
|
+
tool: string;
|
|
23
|
+
summary: string;
|
|
24
|
+
agent?: string;
|
|
25
|
+
}
|
|
16
26
|
export interface RunNodeOpts {
|
|
17
27
|
model?: string;
|
|
18
28
|
signal?: AbortSignal;
|
|
@@ -23,20 +33,24 @@ export interface RunNodeOpts {
|
|
|
23
33
|
temperature?: number;
|
|
24
34
|
/** Tool names withheld from the run (denylist). */
|
|
25
35
|
toolDeny?: string[];
|
|
26
|
-
/** Crew agents this run may delegate to,
|
|
27
|
-
crewDelegates?:
|
|
28
|
-
name: string;
|
|
29
|
-
system: string;
|
|
30
|
-
}[];
|
|
36
|
+
/** Crew agents this run may delegate to: identity, model and policy resolved. */
|
|
37
|
+
crewDelegates?: CrewDelegate[];
|
|
31
38
|
onNodeEvent?: (e: NodeEvent) => void;
|
|
32
39
|
onEvent?: (e: AgentEvent) => void;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
/** `agent` names a delegated callee that raised the ask; absent for the run's own agent. */
|
|
41
|
+
onPermission?: (req: PermissionRequest) => Promise<boolean | {
|
|
42
|
+
allow: boolean;
|
|
43
|
+
by: 'human' | 'session';
|
|
44
|
+
}>;
|
|
37
45
|
onAsk?: (questions: AskQuestion[]) => Promise<AskAnswers | null>;
|
|
38
46
|
/** Move this run's transcript into a project; resolves with what happened. */
|
|
39
47
|
onMoveSession?: (projectRoot: string) => Promise<string>;
|
|
48
|
+
/** Fires when the approvals bridge records a decision and the host's
|
|
49
|
+
* ApprovalsBridgeHost returns a suggestion (offer a standing rule). */
|
|
50
|
+
onApprovalSuggestion?: (s: ApprovalSuggestion) => void;
|
|
51
|
+
/** Context attached to every decision this run records (host + runId are
|
|
52
|
+
* added by the bridge). */
|
|
53
|
+
approvalContext?: Omit<RecordContext, 'runId' | 'host'>;
|
|
40
54
|
}
|
|
41
55
|
/** Options for a chat run (createAgent.run and WorkerAgent.run share this). The
|
|
42
56
|
* port type lives in the kernel — the app assembly (prompd/agent) imports it,
|
|
@@ -57,24 +71,34 @@ export interface RunOpts {
|
|
|
57
71
|
toolDeny?: string[];
|
|
58
72
|
/** Deferred tools the conversation already loaded (see core/protocol.ts). */
|
|
59
73
|
loadedTools?: string[];
|
|
60
|
-
/**
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
74
|
+
/** Enabled skills for this run, read on the main thread (see core/protocol.ts). */
|
|
75
|
+
skills?: SkillEntry[];
|
|
76
|
+
/** Crew agents this run may delegate to: identity, model and policy resolved. */
|
|
77
|
+
crewDelegates?: CrewDelegate[];
|
|
78
|
+
/** An orchestrator's plan gate and round/spawn caps (absent = plain delegator). */
|
|
79
|
+
crewOrchestration?: OrchestrationLimits;
|
|
80
|
+
/** Where delegated callees' transcripts are recorded (see core/protocol.ts). */
|
|
81
|
+
crewTraceRoot?: string;
|
|
65
82
|
onEvent?: (e: AgentEvent) => void;
|
|
66
83
|
/** Node-tagged events from the run's sub-agents (the DAG canvas stream). */
|
|
67
84
|
onNodeEvent?: (e: NodeEvent) => void;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
85
|
+
/** `agent` names a delegated callee that raised the ask; absent for the run's own agent. */
|
|
86
|
+
onPermission?: (req: PermissionRequest) => Promise<boolean | {
|
|
87
|
+
allow: boolean;
|
|
88
|
+
by: 'human' | 'session';
|
|
89
|
+
}>;
|
|
72
90
|
/** Resolve the agent's ask_user questions with the user's answers (null = dismissed). */
|
|
73
91
|
onAsk?: (questions: AskQuestion[]) => Promise<AskAnswers | null>;
|
|
74
92
|
/** Move this run's transcript into a project; resolves with what happened. */
|
|
75
93
|
onMoveSession?: (projectRoot: string) => Promise<string>;
|
|
76
94
|
/** Await the user's verdict on a propose_edit (null = run ended unreviewed). */
|
|
77
95
|
onEditReview?: (callId: string) => Promise<EditReviewOutcome | null>;
|
|
96
|
+
/** Fires when the approvals bridge records a decision and the host's
|
|
97
|
+
* ApprovalsBridgeHost returns a suggestion (offer a standing rule). */
|
|
98
|
+
onApprovalSuggestion?: (s: ApprovalSuggestion) => void;
|
|
99
|
+
/** Context attached to every decision this run records (host + runId are
|
|
100
|
+
* added by the bridge). */
|
|
101
|
+
approvalContext?: Omit<RecordContext, 'runId' | 'host'>;
|
|
78
102
|
/** Workspace-relative path of the editor buffer the agent edits — lets
|
|
79
103
|
* propose_edit validate a proposal (compile it) before surfacing the diff. */
|
|
80
104
|
editorFile?: string;
|
|
@@ -107,6 +131,11 @@ export interface RunOpts {
|
|
|
107
131
|
onInjected?: (ids: string[]) => void;
|
|
108
132
|
/** Workspace-relative root for the worker's session + offload stores. */
|
|
109
133
|
sessionsRoot?: string;
|
|
134
|
+
/** Identity the audit log files this run under (ids and names only). */
|
|
135
|
+
auditContext?: {
|
|
136
|
+
session?: string;
|
|
137
|
+
agent?: string;
|
|
138
|
+
};
|
|
110
139
|
}
|
|
111
140
|
export interface WorkerAgent {
|
|
112
141
|
run(messages: ChatCompletionMessageParam[], opts?: RunOpts): Promise<RunAgentResult>;
|
|
@@ -120,6 +149,16 @@ export interface WorkerAgent {
|
|
|
120
149
|
}[], hard: boolean): void;
|
|
121
150
|
dispose(): void;
|
|
122
151
|
}
|
|
152
|
+
/** Structural subset of `@corenel/harness/approvals`'s ApprovalsService — only
|
|
153
|
+
* the two operations the worker bridge needs. A real ApprovalsService (Task
|
|
154
|
+
* 11's `browserApprovals()`) satisfies this without adaptation. */
|
|
155
|
+
export interface ApprovalsBridgeHost {
|
|
156
|
+
record(e: DecisionEvent, ctx: RecordContext): Promise<ApprovalSuggestion | null>;
|
|
157
|
+
standing: {
|
|
158
|
+
matches(subject: ApprovalSubject): Promise<boolean>;
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
export { AUDIT_FINISH_BOUND_MS, type AuditBridgeHost } from '@corenel/harness/audit/runAudit';
|
|
123
162
|
export interface WorkerAgentOpts {
|
|
124
163
|
/** Resolve the active file workspace, so the worker's file tools read/write it.
|
|
125
164
|
* A getter (not a value) so swapping the source — e.g. opening a folder — is
|
|
@@ -128,6 +167,10 @@ export interface WorkerAgentOpts {
|
|
|
128
167
|
/** The memory provider a crew-agent run should use, or null for none. When
|
|
129
168
|
* present, runs are marked `agentMemory` and the worker proxies here. */
|
|
130
169
|
getMemoryProvider?: () => IMemoryProvider | null;
|
|
170
|
+
/** A delegated callee's OWN memory provider, by its name, or null for none.
|
|
171
|
+
* A callee's memory ops go here and nowhere else: absent or null, they fail
|
|
172
|
+
* rather than fall back to the run's provider above. */
|
|
173
|
+
getCalleeMemoryProvider?: (agent: string) => IMemoryProvider | null;
|
|
131
174
|
/** Construct the worker. The host owns this so the kernel client carries no
|
|
132
175
|
* reference to the app's worker entry — the entry's `new URL('./worker.ts',
|
|
133
176
|
* import.meta.url)` must live in app space for the bundler to resolve it. */
|
|
@@ -151,6 +194,17 @@ export interface WorkerAgentOpts {
|
|
|
151
194
|
* read). A getter so a Settings change applies to the next run without
|
|
152
195
|
* recreating the worker. Mirrors getGraphConfig. */
|
|
153
196
|
getModelRouting?: () => ModelRouting | undefined;
|
|
197
|
+
/** The approvals service, which owns the config workspace (the worker's file
|
|
198
|
+
* proxy cannot reach it). A getter, like the others above, so the host can
|
|
199
|
+
* construct it lazily/reactively. Absent or returning null answers every
|
|
200
|
+
* approvals-request with `{ ok: false }` (no record, no standing match) --
|
|
201
|
+
* the same "fail toward the human" the standing lookup already guarantees. */
|
|
202
|
+
getApprovals?: () => ApprovalsBridgeHost | null;
|
|
203
|
+
/** The audit log host. Absent or returning null audits nothing. Every run
|
|
204
|
+
* through `run` then feeds its events, sub-agent node-events and permission
|
|
205
|
+
* decisions -- all seen at this client's message choke point -- into a
|
|
206
|
+
* per-run recorder whose lines go to the host's log. */
|
|
207
|
+
getAudit?: () => AuditBridgeHost | null;
|
|
154
208
|
/** Execute a sidecar tool by name on the main thread (which holds the WS
|
|
155
209
|
* connection + governs). Answers the worker's tool-request. `signal` aborts
|
|
156
210
|
* when the calling RUN aborts or ends — long host-side executions
|
|
@@ -159,6 +213,10 @@ export interface WorkerAgentOpts {
|
|
|
159
213
|
ask?: (questions: AskQuestion[]) => Promise<AskAnswers | null>;
|
|
160
214
|
runState?: Record<string, unknown>;
|
|
161
215
|
}) => Promise<string>;
|
|
216
|
+
/** Hand back an orchestrator run's workspace lock on the sidecar. The worker
|
|
217
|
+
* asks from the run's `finally`; best-effort -- a failure leaves the lock to
|
|
218
|
+
* go stale, which the sidecar recovers. */
|
|
219
|
+
releaseWorkspace?: (lock: WorkspaceLockRef) => Promise<unknown>;
|
|
162
220
|
/** Persist a self-heal record. Called at the SINGLE worker-message choke point
|
|
163
221
|
* for every heal, from BOTH the root run (`event`) and sub-agent/DAG-node
|
|
164
222
|
* (`node-event`) channels — so no surface or nested run can drop heals. The host
|
|
@@ -173,5 +231,12 @@ export interface WorkerAgentOpts {
|
|
|
173
231
|
* absent that, the sampler falls back to its own built-in default. */
|
|
174
232
|
getTelemetrySampleRate?: () => number;
|
|
175
233
|
}
|
|
234
|
+
/** The usage to meter from a worker message: the root run's own turns and
|
|
235
|
+
* every sub-agent's (node-event). Sub-agent usage was never metered, so a
|
|
236
|
+
* delegated callee could spend past the caller's cap. */
|
|
237
|
+
export declare function usageToMeter(m: WorkerToMain): {
|
|
238
|
+
usage: Usage;
|
|
239
|
+
model?: string;
|
|
240
|
+
} | null;
|
|
176
241
|
export declare function createWorkerAgent(clientOpts: WorkerAgentOpts): WorkerAgent;
|
|
177
242
|
//# sourceMappingURL=workerClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerClient.d.ts","sourceRoot":"","sources":["../workerClient.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"workerClient.d.ts","sourceRoot":"","sources":["../workerClient.ts"],"names":[],"mappings":"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"}
|
package/dist/workerClient.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { nodeUsageOf } from './nodeUsage';
|
|
1
2
|
import { isAgentLogging, alog } from '@corenel/harness/log';
|
|
2
3
|
import { makeBudgetGate } from './budgetGate';
|
|
3
4
|
import { createRunRecorder } from './runSpans';
|
|
4
5
|
import { createRunSampler, captureSpan } from '@corenel/telemetry';
|
|
6
|
+
import { startRunAudit } from '@corenel/harness/audit/runAudit';
|
|
7
|
+
import { newTraceId } from '@corenel/harness/audit/ids';
|
|
5
8
|
/** Re-phrase a file-mutation permission prompt from the live workspace, so the
|
|
6
9
|
* stated risk reflects the CURRENT source. Returns null for non-file tools. */
|
|
7
10
|
function fileWriteSummary(tool, input, svc) {
|
|
@@ -20,6 +23,19 @@ function fileWriteSummary(tool, input, svc) {
|
|
|
20
23
|
return null;
|
|
21
24
|
}
|
|
22
25
|
}
|
|
26
|
+
// The audit bridge's host contract and bound live with the per-run lifecycle
|
|
27
|
+
// in @corenel/harness/audit/runAudit; re-exported so existing importers keep their path.
|
|
28
|
+
export { AUDIT_FINISH_BOUND_MS } from '@corenel/harness/audit/runAudit';
|
|
29
|
+
/** The usage to meter from a worker message: the root run's own turns and
|
|
30
|
+
* every sub-agent's (node-event). Sub-agent usage was never metered, so a
|
|
31
|
+
* delegated callee could spend past the caller's cap. */
|
|
32
|
+
export function usageToMeter(m) {
|
|
33
|
+
if (m.kind === 'event' && m.event.type === 'usage')
|
|
34
|
+
return { usage: m.event.usage, ...(m.event.model ? { model: m.event.model } : {}) };
|
|
35
|
+
if (m.kind === 'node-event')
|
|
36
|
+
return nodeUsageOf(m.event);
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
23
39
|
export function createWorkerAgent(clientOpts) {
|
|
24
40
|
let worker = null;
|
|
25
41
|
const getToken = clientOpts.getToken ?? (async () => null);
|
|
@@ -50,6 +66,39 @@ export function createWorkerAgent(clientOpts) {
|
|
|
50
66
|
// per runId, mirroring remoteAborts.
|
|
51
67
|
const remoteAsk = new Map();
|
|
52
68
|
const remoteRunState = new Map();
|
|
69
|
+
// Per-run approvals context + suggestion callback (approvals-request is
|
|
70
|
+
// client-level, like tool-request, but the context/callback are per-run).
|
|
71
|
+
const approvalRuns = new Map();
|
|
72
|
+
// Per-run audits (approvals-request is client-level, so a decision finds its
|
|
73
|
+
// run's recorder here). Removed when the run settles.
|
|
74
|
+
const auditRuns = new Map();
|
|
75
|
+
/** Start a run's audit, or null when the host audits nothing. A `getAudit`
|
|
76
|
+
* that throws means no audit (nothing says auditing is on); everything
|
|
77
|
+
* after that -- buffering, baseline, bounded finish -- is @corenel/harness/audit/runAudit.
|
|
78
|
+
* The audit's run id is a fresh trace-shaped id, NOT the numeric runId: that
|
|
79
|
+
* one only routes worker messages and restarts at 1 in every WorkerAgent,
|
|
80
|
+
* so it would repeat across page loads and agents in the same log. */
|
|
81
|
+
function startAudit(ctx, model) {
|
|
82
|
+
let host;
|
|
83
|
+
try {
|
|
84
|
+
host = clientOpts.getAudit?.() ?? null;
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
host = null;
|
|
88
|
+
}
|
|
89
|
+
return startRunAudit(host, { host: 'browser', run: newTraceId(), ...ctx, ...(model ? { model } : {}) });
|
|
90
|
+
}
|
|
91
|
+
/** End a run's audit (bounded, never rejecting) and report any loss as
|
|
92
|
+
* `audit-incomplete` through the run's onEvent. */
|
|
93
|
+
async function finishAudit(a, outcome, onEvent) {
|
|
94
|
+
const incomplete = await a.finish(outcome);
|
|
95
|
+
if (!incomplete)
|
|
96
|
+
return;
|
|
97
|
+
try {
|
|
98
|
+
onEvent?.(incomplete);
|
|
99
|
+
}
|
|
100
|
+
catch { /* swallowed: the audit must never fail a run */ }
|
|
101
|
+
}
|
|
53
102
|
/** Build + wire a worker. The token/file bridges and error surfacing are bound
|
|
54
103
|
* to THIS instance; on error we null `worker` so the next run recreates it. */
|
|
55
104
|
function make() {
|
|
@@ -87,7 +136,8 @@ export function createWorkerAgent(clientOpts) {
|
|
|
87
136
|
}
|
|
88
137
|
}
|
|
89
138
|
else if (m.kind === 'memory-request') {
|
|
90
|
-
|
|
139
|
+
// A callee's op goes to ITS memory only, never the run's.
|
|
140
|
+
const provider = (m.agent ? clientOpts.getCalleeMemoryProvider?.(m.agent) : clientOpts.getMemoryProvider?.()) || null;
|
|
91
141
|
if (!provider) {
|
|
92
142
|
send({ kind: 'memory-response', id: m.id, ok: false, error: 'No memory provider is connected.' });
|
|
93
143
|
return;
|
|
@@ -113,6 +163,11 @@ export function createWorkerAgent(clientOpts) {
|
|
|
113
163
|
send({ kind: 'memory-response', id: m.id, ok: false, error: String(e?.message || e) });
|
|
114
164
|
}
|
|
115
165
|
}
|
|
166
|
+
else if (m.kind === 'workspace-release') {
|
|
167
|
+
const release = clientOpts.releaseWorkspace;
|
|
168
|
+
if (release)
|
|
169
|
+
void release(m.lock).catch(() => undefined);
|
|
170
|
+
}
|
|
116
171
|
else if (m.kind === 'tool-request') {
|
|
117
172
|
// A sidecar tool the worker's agent called — run it here (the main thread
|
|
118
173
|
// holds the WS connection and already gated it via the permission flow).
|
|
@@ -129,6 +184,32 @@ export function createWorkerAgent(clientOpts) {
|
|
|
129
184
|
send({ kind: 'tool-response', id: m.id, ok: false, error: String(e?.message || e) });
|
|
130
185
|
}
|
|
131
186
|
}
|
|
187
|
+
else if (m.kind === 'approvals-request') {
|
|
188
|
+
// Audit every decision, whether or not an approvals service exists.
|
|
189
|
+
if (m.op === 'record')
|
|
190
|
+
auditRuns.get(m.runId)?.onDecision(m.event);
|
|
191
|
+
// The approvals service owns the config workspace, which the worker's
|
|
192
|
+
// file proxy cannot reach — only the main thread can answer this.
|
|
193
|
+
const host = clientOpts.getApprovals?.() ?? null;
|
|
194
|
+
if (!host) {
|
|
195
|
+
send({ kind: 'approvals-response', id: m.id, ok: false });
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
if (m.op === 'standing') {
|
|
200
|
+
send({ kind: 'approvals-response', id: m.id, ok: true, matches: await host.standing.matches(m.subject) });
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
const run = approvalRuns.get(m.runId);
|
|
204
|
+
const suggestion = await host.record(m.event, { host: 'web', ...(run?.context ?? {}), runId: String(m.runId) });
|
|
205
|
+
send({ kind: 'approvals-response', id: m.id, ok: true });
|
|
206
|
+
if (suggestion)
|
|
207
|
+
run?.onSuggestion?.(suggestion);
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
send({ kind: 'approvals-response', id: m.id, ok: false });
|
|
211
|
+
}
|
|
212
|
+
}
|
|
132
213
|
});
|
|
133
214
|
w.addEventListener('error', (e) => {
|
|
134
215
|
console.error('[agent] WORKER ERROR', e.message, e.filename ? `${e.filename}:${e.lineno}:${e.colno}` : '', e.error);
|
|
@@ -166,6 +247,12 @@ export function createWorkerAgent(clientOpts) {
|
|
|
166
247
|
if (opts.onAsk)
|
|
167
248
|
remoteAsk.set(runId, opts.onAsk);
|
|
168
249
|
remoteRunState.set(runId, {});
|
|
250
|
+
approvalRuns.set(runId, { context: opts.approvalContext, onSuggestion: opts.onApprovalSuggestion });
|
|
251
|
+
const audit = opts.audit ? startAudit(opts.audit, opts.model) : null;
|
|
252
|
+
if (audit)
|
|
253
|
+
auditRuns.set(runId, audit);
|
|
254
|
+
// The root run's stop reason, for the audit's closing line.
|
|
255
|
+
let auditOutcome = 'stop';
|
|
169
256
|
// Run-budget metering (only when the caller passed constraints — otherwise
|
|
170
257
|
// this is a no-op, preserving the pre-existing unmetered behavior). The
|
|
171
258
|
// gate's onUsage only reports the resulting action, so capture the
|
|
@@ -187,12 +274,24 @@ export function createWorkerAgent(clientOpts) {
|
|
|
187
274
|
remoteAborts.delete(runId);
|
|
188
275
|
remoteAsk.delete(runId);
|
|
189
276
|
remoteRunState.delete(runId);
|
|
277
|
+
approvalRuns.delete(runId);
|
|
278
|
+
auditRuns.delete(runId);
|
|
190
279
|
remoteAbort.abort(); // cancel any still-pending remote tool work
|
|
191
280
|
w.removeEventListener('message', onMessage);
|
|
192
281
|
opts.signal?.removeEventListener('abort', onAbort);
|
|
193
282
|
};
|
|
194
|
-
|
|
195
|
-
|
|
283
|
+
// Settle AFTER the audit is written (bounded, never rejecting), so a
|
|
284
|
+
// loss is reported through onEvent before the caller sees the result.
|
|
285
|
+
const settle = (outcome, then) => {
|
|
286
|
+
cleanup();
|
|
287
|
+
if (!audit) {
|
|
288
|
+
then();
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
void finishAudit(audit, outcome, opts.onEvent).then(then);
|
|
292
|
+
};
|
|
293
|
+
const done = (v) => settle(auditOutcome, () => resolve(v));
|
|
294
|
+
const failWith = (e) => settle('error', () => reject(e));
|
|
196
295
|
const fail = (message) => {
|
|
197
296
|
// failAll (worker 'error'/'messageerror') ends the run without a
|
|
198
297
|
// terminal message ever arriving, so the m.kind === 'error' branch
|
|
@@ -211,6 +310,8 @@ export function createWorkerAgent(clientOpts) {
|
|
|
211
310
|
// (`event`) AND from sub-agents/DAG nodes (`node-event`) — so no surface or
|
|
212
311
|
// nested run can drop heals (the per-call-site taps did exactly that).
|
|
213
312
|
if (m.kind === 'event') {
|
|
313
|
+
// Audit first: the usage branch below returns early.
|
|
314
|
+
audit?.onEvent(m.event);
|
|
214
315
|
// Feed the run-trace recorder at this same choke point -- a no-op for
|
|
215
316
|
// event types it doesn't reduce over, and for a run it never saw start
|
|
216
317
|
// (e.g. this is a runNode's 'event' channel, which never calls
|
|
@@ -227,9 +328,9 @@ export function createWorkerAgent(clientOpts) {
|
|
|
227
328
|
// (on a first-turn breach the previous usage is zero, which silently
|
|
228
329
|
// defeats "cheaper than current" and falls back to warn).
|
|
229
330
|
opts.onEvent?.(m.event);
|
|
230
|
-
const r = await gate.onUsage(usage);
|
|
331
|
+
const r = await gate.onUsage(usage, m.event.model);
|
|
231
332
|
if (r.action === 'stop') {
|
|
232
|
-
send({ kind: 'abort', runId });
|
|
333
|
+
send({ kind: 'abort', runId, reason: 'budget' });
|
|
233
334
|
// safe: only reached after onBreach ran, which sets lastBreach
|
|
234
335
|
opts.onEvent?.({ type: 'budget-stop', breach: lastBreach });
|
|
235
336
|
}
|
|
@@ -242,12 +343,25 @@ export function createWorkerAgent(clientOpts) {
|
|
|
242
343
|
return;
|
|
243
344
|
}
|
|
244
345
|
if (m.kind === 'node-event') {
|
|
346
|
+
audit?.onNodeEvent(m.event);
|
|
245
347
|
// A sub-agent/DAG-node heal is the inner AgentEvent of a 'node-event'
|
|
246
348
|
// NodeEvent (NodeEvent wraps AgentEvent), not the NodeEvent itself.
|
|
247
349
|
const inner = m.event.type === 'node-event' ? m.event.event : null;
|
|
248
350
|
if (inner?.type === 'heal')
|
|
249
351
|
clientOpts.onHeal?.(inner.record);
|
|
250
352
|
opts.onNodeEvent?.(m.event);
|
|
353
|
+
const metered = gate ? usageToMeter(m) : null;
|
|
354
|
+
if (gate && metered) {
|
|
355
|
+
const r = await gate.onUsage(metered.usage, metered.model);
|
|
356
|
+
if (r.action === 'stop') {
|
|
357
|
+
send({ kind: 'abort', runId, reason: 'budget' });
|
|
358
|
+
// safe: only reached after onBreach ran, which sets lastBreach
|
|
359
|
+
opts.onEvent?.({ type: 'budget-stop', breach: lastBreach });
|
|
360
|
+
}
|
|
361
|
+
else if (r.model) {
|
|
362
|
+
send({ kind: 'set-model', runId, model: r.model });
|
|
363
|
+
}
|
|
364
|
+
}
|
|
251
365
|
return;
|
|
252
366
|
}
|
|
253
367
|
if (m.kind === 'permission-request') {
|
|
@@ -255,8 +369,15 @@ export function createWorkerAgent(clientOpts) {
|
|
|
255
369
|
// so the risk (LOCAL DISK vs virtual) is current, not frozen at run start.
|
|
256
370
|
const svc = clientOpts.getFileService?.() || null;
|
|
257
371
|
const summary = fileWriteSummary(m.tool, m.input, svc) ?? m.summary;
|
|
258
|
-
const
|
|
259
|
-
|
|
372
|
+
const res = opts.onPermission ? await opts.onPermission({ tool: m.tool, summary, ...(m.callee ? { agent: m.callee } : {}) }) : null;
|
|
373
|
+
/* Nobody to ask. The run itself answers as it always has (allow); a
|
|
374
|
+
* delegated callee is capped by the stricter of that and its OWN
|
|
375
|
+
* unattended mode, and with nobody to wait for, park is a deny. */
|
|
376
|
+
const unattendedAllow = m.callee ? m.calleeUnattended === 'allow' : true;
|
|
377
|
+
const answer = res === null
|
|
378
|
+
? { allow: unattendedAllow, by: 'unattended' }
|
|
379
|
+
: typeof res === 'boolean' ? { allow: res, by: 'human' } : res;
|
|
380
|
+
send({ kind: 'permission-response', id: m.id, allow: answer.allow, by: answer.by });
|
|
260
381
|
return;
|
|
261
382
|
}
|
|
262
383
|
if (m.kind === 'ask-request') {
|
|
@@ -294,8 +415,11 @@ export function createWorkerAgent(clientOpts) {
|
|
|
294
415
|
failWith(new Error(m.message));
|
|
295
416
|
return;
|
|
296
417
|
}
|
|
297
|
-
if (m.kind === 'result')
|
|
418
|
+
if (m.kind === 'result') {
|
|
298
419
|
recorder.finish(String(m.runId), 'ok');
|
|
420
|
+
if (m.result.stopReason)
|
|
421
|
+
auditOutcome = m.result.stopReason;
|
|
422
|
+
}
|
|
299
423
|
terminal(m, done);
|
|
300
424
|
};
|
|
301
425
|
const onAbort = () => { remoteAbort.abort(); send({ kind: 'abort', runId }); };
|
|
@@ -306,10 +430,10 @@ export function createWorkerAgent(clientOpts) {
|
|
|
306
430
|
}
|
|
307
431
|
return {
|
|
308
432
|
run(messages, opts = {}) {
|
|
309
|
-
return begin(opts, (runId, send) => {
|
|
433
|
+
return begin({ ...opts, audit: opts.auditContext ?? {} }, (runId, send) => {
|
|
310
434
|
alog('client:post-run', runId, { debug: isAgentLogging() });
|
|
311
435
|
const routing = clientOpts.getModelRouting?.();
|
|
312
|
-
send({ kind: 'run', runId, messages, model: opts.model, system: opts.system, policy: opts.policy, ceiling: opts.ceiling, compression: opts.compression, temperature: opts.temperature, debug: isAgentLogging(), fileMeta: currentFileMeta(), scope: getScope(), graphConfig: clientOpts.getGraphConfig?.(), reviewEdits: !!opts.onEditReview, editorFile: opts.editorFile, remoteTools: clientOpts.getRemoteTools?.() ?? [], sessionId: opts.sessionId, toolNames: opts.toolNames, toolDeny: opts.toolDeny, loadedTools: opts.loadedTools, crewDelegates: opts.crewDelegates, agentMemory: !!clientOpts.getMemoryProvider?.(), ...(opts.sessionsRoot !== undefined ? { sessionsRoot: opts.sessionsRoot } : {}), canMoveSession: !!opts.onMoveSession, ...(routing ? { routing } : {}) });
|
|
436
|
+
send({ kind: 'run', runId, messages, model: opts.model, system: opts.system, policy: opts.policy, ceiling: opts.ceiling, compression: opts.compression, temperature: opts.temperature, debug: isAgentLogging(), fileMeta: currentFileMeta(), scope: getScope(), graphConfig: clientOpts.getGraphConfig?.(), reviewEdits: !!opts.onEditReview, editorFile: opts.editorFile, remoteTools: clientOpts.getRemoteTools?.() ?? [], sessionId: opts.sessionId, toolNames: opts.toolNames, toolDeny: opts.toolDeny, loadedTools: opts.loadedTools, skills: opts.skills, crewDelegates: opts.crewDelegates, crewOrchestration: opts.crewOrchestration, ...(opts.crewTraceRoot ? { crewTraceRoot: opts.crewTraceRoot } : {}), agentMemory: !!clientOpts.getMemoryProvider?.(), ...(opts.sessionsRoot !== undefined ? { sessionsRoot: opts.sessionsRoot } : {}), canMoveSession: !!opts.onMoveSession, ...(routing ? { routing } : {}) });
|
|
313
437
|
// WorkerAgentOpts/RunOpts have no `surface` concept yet -- every run
|
|
314
438
|
// through this client is the agent surface for now.
|
|
315
439
|
recorder.start(String(runId), { surface: 'agent', model: opts.model ?? '' });
|
|
@@ -320,7 +444,7 @@ export function createWorkerAgent(clientOpts) {
|
|
|
320
444
|
return begin(opts, (runId, send) => {
|
|
321
445
|
alog('client:post-run-node', runId, node.id, { debug: isAgentLogging() });
|
|
322
446
|
const routing = clientOpts.getModelRouting?.();
|
|
323
|
-
send({ kind: 'run-node', runId, node, inputs, model: opts.model, policy: opts.policy, ceiling: opts.ceiling, compression: opts.compression, debug: isAgentLogging(), fileMeta: currentFileMeta(), scope: getScope(), graphConfig: clientOpts.getGraphConfig?.(), remoteTools: clientOpts.getRemoteTools?.() ?? [], agentMemory: !!clientOpts.getMemoryProvider?.(), ...(routing ? { routing } : {}) });
|
|
447
|
+
send({ kind: 'run-node', runId, node, inputs, model: opts.model, policy: opts.policy, ceiling: opts.ceiling, compression: opts.compression, debug: isAgentLogging(), fileMeta: currentFileMeta(), scope: getScope(), graphConfig: clientOpts.getGraphConfig?.(), remoteTools: clientOpts.getRemoteTools?.() ?? [], toolDeny: opts.toolDeny, agentMemory: !!clientOpts.getMemoryProvider?.(), ...(routing ? { routing } : {}) });
|
|
324
448
|
}, (m, done) => { if (m.kind === 'node-result')
|
|
325
449
|
done(m.result); });
|
|
326
450
|
},
|
|
@@ -340,6 +464,11 @@ export function createWorkerAgent(clientOpts) {
|
|
|
340
464
|
// records the trace.
|
|
341
465
|
for (const runId of active.keys())
|
|
342
466
|
recorder.finish(String(runId), 'error');
|
|
467
|
+
// Same for the audit: close each in-flight run's log lines. No onEvent:
|
|
468
|
+
// the run's caller is gone, so any loss goes unreported here.
|
|
469
|
+
for (const a of auditRuns.values())
|
|
470
|
+
void finishAudit(a, 'aborted');
|
|
471
|
+
auditRuns.clear();
|
|
343
472
|
if (worker) {
|
|
344
473
|
worker.terminate();
|
|
345
474
|
worker = null;
|
package/dist/workerClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerClient.js","sourceRoot":"","sources":["../workerClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workerClient.js","sourceRoot":"","sources":["../workerClient.ts"],"names":[],"mappings":"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"}
|