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