@archmax-ai/harness 0.9.0 → 1.0.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/README.md +58 -14
- package/dist/agent.d.ts +4 -6
- package/dist/agent.js +4 -6
- package/dist/agent.js.map +1 -1
- package/dist/assembly/compose.d.ts +5 -24
- package/dist/assembly/compose.js +28 -42
- package/dist/assembly/compose.js.map +1 -1
- package/dist/assembly/delegation-registry.js +3 -14
- package/dist/assembly/delegation-registry.js.map +1 -1
- package/dist/assembly/index.d.ts +8 -15
- package/dist/assembly/index.js +21 -28
- package/dist/assembly/index.js.map +1 -1
- package/dist/assembly/plain.js +1 -2
- package/dist/assembly/plain.js.map +1 -1
- package/dist/authoring-skill/archmax-harness/README.md +5 -5
- package/dist/authoring-skill/archmax-harness/SKILL.md +72 -30
- package/dist/authoring-skill/archmax-harness/references/backend-integration.md +33 -24
- package/dist/authoring-skill/archmax-harness/references/cases.md +41 -8
- package/dist/authoring-skill/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +599 -339
- package/dist/authoring-skill/archmax-harness/references/code-states-and-scripts.md +115 -0
- package/dist/authoring-skill/archmax-harness/references/diagnostics.md +40 -7
- package/dist/authoring-skill/archmax-harness/references/wiring.md +19 -10
- package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +404 -293
- package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +151 -62
- package/dist/cli/state-flow.d.ts +1 -1
- package/dist/cli/state-flow.js +18 -28
- package/dist/cli/state-flow.js.map +1 -1
- package/dist/cli/turn.d.ts +1 -1
- package/dist/cli/turn.js +1 -1
- package/dist/core/code-description.d.ts +3 -3
- package/dist/core/code-description.js +3 -3
- package/dist/core/deepagents.d.ts +5 -12
- package/dist/core/deepagents.js +4 -17
- package/dist/core/deepagents.js.map +1 -1
- package/dist/core/events.d.ts +23 -42
- package/dist/core/events.js +21 -24
- package/dist/core/events.js.map +1 -1
- package/dist/core/message-readers.d.ts +4 -5
- package/dist/core/message-readers.js +3 -8
- package/dist/core/message-readers.js.map +1 -1
- package/dist/core/messages.d.ts +0 -22
- package/dist/core/messages.js +1 -32
- package/dist/core/messages.js.map +1 -1
- package/dist/core/mounts.js +3 -3
- package/dist/core/platform-prompt.generated.js +1 -1
- package/dist/core/platform-prompt.generated.js.map +1 -1
- package/dist/core/session-zone.d.ts +1 -1
- package/dist/core/session-zone.js +1 -1
- package/dist/core/workspace-context.d.ts +1 -1
- package/dist/core/workspace.d.ts +1 -1
- package/dist/core/workspace.js +1 -1
- package/dist/core/zones.d.ts +4 -4
- package/dist/core/zones.js +5 -5
- package/dist/core/zones.js.map +1 -1
- package/dist/env.d.ts +9 -9
- package/dist/index.d.ts +3 -7
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/kernel/kernel.d.ts +31 -61
- package/dist/kernel/kernel.js +54 -112
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/machine/lint-spec.js +53 -12
- package/dist/machine/lint-spec.js.map +1 -1
- package/dist/machine/machine.d.ts +36 -18
- package/dist/machine/machine.js +62 -51
- package/dist/machine/machine.js.map +1 -1
- package/dist/machine/spec-schema.d.ts +32 -180
- package/dist/machine/spec-schema.js +52 -113
- package/dist/machine/spec-schema.js.map +1 -1
- package/dist/machine/tool-names.d.ts +34 -16
- package/dist/machine/tool-names.js +41 -16
- package/dist/machine/tool-names.js.map +1 -1
- package/dist/machine/types.d.ts +14 -46
- package/dist/machine/types.js +0 -2
- package/dist/machine/types.js.map +1 -1
- package/dist/machine/validate-spec.d.ts +1 -1
- package/dist/public/sandbox.d.ts +59 -95
- package/dist/public/sandbox.js +22 -23
- package/dist/public/sandbox.js.map +1 -1
- package/dist/public/spec.d.ts +13 -20
- package/dist/public/spec.js +12 -20
- package/dist/public/spec.js.map +1 -1
- package/dist/runtime/contract.d.ts +11 -12
- package/dist/runtime/contract.js +16 -16
- package/dist/runtime/contract.js.map +1 -1
- package/dist/sandbox/assets/parts/code-state.js +17 -0
- package/dist/sandbox/executor.d.ts +25 -7
- package/dist/sandbox/executor.js +56 -57
- package/dist/sandbox/executor.js.map +1 -1
- package/dist/sandbox/imports.d.ts +10 -10
- package/dist/sandbox/imports.js +11 -11
- package/dist/sandbox/imports.js.map +1 -1
- package/dist/sandbox/prelude.d.ts +5 -6
- package/dist/sandbox/prelude.js +38 -35
- package/dist/sandbox/prelude.js.map +1 -1
- package/dist/sandbox/ptc-gateway.d.ts +19 -18
- package/dist/sandbox/ptc-gateway.js +26 -22
- package/dist/sandbox/ptc-gateway.js.map +1 -1
- package/dist/sessions/resume.d.ts +2 -2
- package/dist/sessions/resume.js +1 -1
- package/dist/sessions/resume.js.map +1 -1
- package/dist/sessions/scope.d.ts +0 -10
- package/dist/sessions/scope.js +0 -17
- package/dist/sessions/scope.js.map +1 -1
- package/dist/sessions/summary.d.ts +1 -1
- package/dist/testing/assertions.js +9 -4
- package/dist/testing/assertions.js.map +1 -1
- package/dist/testing/driver.js +3 -0
- package/dist/testing/driver.js.map +1 -1
- package/dist/testing/interpreter.d.ts +2 -2
- package/dist/testing/runner.d.ts +2 -2
- package/dist/validate/validate.d.ts +1 -1
- package/dist/validate/validate.js +39 -70
- package/dist/validate/validate.js.map +1 -1
- package/dist/workflow/automated-controls.d.ts +63 -0
- package/dist/workflow/automated-controls.js +158 -0
- package/dist/workflow/automated-controls.js.map +1 -0
- package/dist/workflow/automated.d.ts +112 -0
- package/dist/workflow/automated.js +163 -0
- package/dist/workflow/automated.js.map +1 -0
- package/dist/workflow/code-state.d.ts +46 -0
- package/dist/workflow/code-state.js +26 -0
- package/dist/workflow/code-state.js.map +1 -0
- package/dist/workflow/control-tools.d.ts +54 -23
- package/dist/workflow/control-tools.js +99 -79
- package/dist/workflow/control-tools.js.map +1 -1
- package/dist/workflow/file-values.d.ts +4 -4
- package/dist/workflow/file-values.js +1 -1
- package/dist/workflow/file-values.js.map +1 -1
- package/dist/workflow/governance.d.ts +11 -22
- package/dist/workflow/governance.js +47 -104
- package/dist/workflow/governance.js.map +1 -1
- package/dist/workflow/grader-state.d.ts +55 -0
- package/dist/workflow/grader-state.js +182 -0
- package/dist/workflow/grader-state.js.map +1 -0
- package/dist/workflow/history.d.ts +11 -0
- package/dist/{lifecycle/transcript.js → workflow/history.js} +24 -8
- package/dist/workflow/history.js.map +1 -0
- package/dist/workflow/middleware.d.ts +14 -17
- package/dist/workflow/middleware.js +109 -95
- package/dist/workflow/middleware.js.map +1 -1
- package/dist/workflow/move-events.d.ts +21 -0
- package/dist/workflow/move-events.js +20 -0
- package/dist/workflow/move-events.js.map +1 -0
- package/dist/workflow/on-error.js +0 -2
- package/dist/workflow/on-error.js.map +1 -1
- package/dist/workflow/parks.d.ts +9 -2
- package/dist/workflow/parks.js +16 -10
- package/dist/workflow/parks.js.map +1 -1
- package/dist/workflow/paths.d.ts +9 -9
- package/dist/workflow/paths.js +19 -19
- package/dist/workflow/paths.js.map +1 -1
- package/dist/workflow/render-prompt.d.ts +7 -5
- package/dist/workflow/render-prompt.js +22 -37
- package/dist/workflow/render-prompt.js.map +1 -1
- package/dist/workflow/signature-checks.d.ts +2 -2
- package/dist/workflow/snapshot.js +5 -29
- package/dist/workflow/snapshot.js.map +1 -1
- package/dist/workflow/state.d.ts +14 -42
- package/dist/workflow/state.js +20 -33
- package/dist/workflow/state.js.map +1 -1
- package/dist/workflow/sub-workflow.d.ts +3 -3
- package/dist/workflow/sub-workflow.js +3 -7
- package/dist/workflow/sub-workflow.js.map +1 -1
- package/dist/workflow/tool-service.d.ts +1 -9
- package/dist/workflow/tool-service.js +21 -24
- package/dist/workflow/tool-service.js.map +1 -1
- package/dist/workflow/turn-boundary.d.ts +2 -2
- package/dist/workflow/turn-boundary.js +10 -15
- package/dist/workflow/turn-boundary.js.map +1 -1
- package/dist/workflow/turn-runner.js +5 -6
- package/dist/workflow/turn-runner.js.map +1 -1
- package/package.json +1 -1
- package/skills/archmax-harness/README.md +5 -5
- package/skills/archmax-harness/SKILL.md +72 -30
- package/skills/archmax-harness/references/backend-integration.md +33 -24
- package/skills/archmax-harness/references/cases.md +41 -8
- package/skills/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +599 -339
- package/skills/archmax-harness/references/code-states-and-scripts.md +115 -0
- package/skills/archmax-harness/references/diagnostics.md +40 -7
- package/skills/archmax-harness/references/wiring.md +19 -10
- package/skills/archmax-harness/references/workflow-schema.md +404 -293
- package/skills/archmax-harness/references/workflow-yaml.md +151 -62
- package/dist/authoring-skill/archmax-harness/references/hooks-and-scripts.md +0 -89
- package/dist/lifecycle/hook-shape.d.ts +0 -44
- package/dist/lifecycle/hook-shape.js +0 -66
- package/dist/lifecycle/hook-shape.js.map +0 -1
- package/dist/lifecycle/runner.d.ts +0 -197
- package/dist/lifecycle/runner.js +0 -419
- package/dist/lifecycle/runner.js.map +0 -1
- package/dist/lifecycle/tool-calls.d.ts +0 -9
- package/dist/lifecycle/tool-calls.js +0 -57
- package/dist/lifecycle/tool-calls.js.map +0 -1
- package/dist/lifecycle/transcript.d.ts +0 -31
- package/dist/lifecycle/transcript.js.map +0 -1
- package/dist/rubrics/rubrics.d.ts +0 -135
- package/dist/rubrics/rubrics.js +0 -145
- package/dist/rubrics/rubrics.js.map +0 -1
- package/dist/sandbox/assets/parts/core.js +0 -22
- package/dist/sandbox/assets/parts/lifecycle-hook.js +0 -47
- package/dist/sandbox/bridge.d.ts +0 -16
- package/dist/sandbox/bridge.js +0 -95
- package/dist/sandbox/bridge.js.map +0 -1
- package/dist/workflow/visits.d.ts +0 -21
- package/dist/workflow/visits.js +0 -45
- package/dist/workflow/visits.js.map +0 -1
- package/skills/archmax-harness/references/hooks-and-scripts.md +0 -89
|
@@ -5,7 +5,7 @@ import { readClockPin } from "../core/clock.js";
|
|
|
5
5
|
import { ADVANCE_TOOL, entryStateOf, RESET_TOOL, unresolvedArgumentMessage } from "./control-tools.js";
|
|
6
6
|
import { resolveArguments } from "../machine/variables.js";
|
|
7
7
|
import { currentWorkflowState, isReplyOnly, readAuditTrail, readVariables, readWorkflowState, } from "./state.js";
|
|
8
|
-
import { CALLING_STATE_KEY,
|
|
8
|
+
import { CALLING_STATE_KEY, releaseScopes } from "../sessions/scope.js";
|
|
9
9
|
import { isWorkflowToolName, workflowSlugFromToolName } from "../machine/tool-names.js";
|
|
10
10
|
import { toolOutputPreview } from "../core/tool-telemetry.js";
|
|
11
11
|
import { decide } from "../kernel/kernel.js";
|
|
@@ -20,7 +20,7 @@ import { replyOnlyDirective } from "./parks.js";
|
|
|
20
20
|
import { renderStateGraph } from "./render-prompt.js";
|
|
21
21
|
import { blockedMessage, createToolService } from "./tool-service.js";
|
|
22
22
|
import { buildRunnableConfig } from "./runtime-config.js";
|
|
23
|
-
import {
|
|
23
|
+
import { runAutomatedStep } from "./automated.js";
|
|
24
24
|
export { buildRunnableConfig } from "./runtime-config.js";
|
|
25
25
|
/**
|
|
26
26
|
* Resolve the name the model called to a registered tool: an exact match, or the
|
|
@@ -157,8 +157,6 @@ function applySystemMessage(request, staticText, volatileText, marker) {
|
|
|
157
157
|
}
|
|
158
158
|
/** Where a model call that ran out of its state's time budget says so. */
|
|
159
159
|
const BUDGET_EXHAUSTED_KEY = "archmax_budget_exhausted";
|
|
160
|
-
/** Where a reply standing in for a model call a `before` hook refused says so. */
|
|
161
|
-
const BEFORE_VETO_KEY = "archmax_before_veto";
|
|
162
160
|
/** The reason kwarg `key` carries on `message`, when it carries one. */
|
|
163
161
|
function markerReason(message, key) {
|
|
164
162
|
const kwargs = message
|
|
@@ -170,18 +168,8 @@ function markerReason(message, key) {
|
|
|
170
168
|
export function budgetExhaustedReason(message) {
|
|
171
169
|
return markerReason(message, BUDGET_EXHAUSTED_KEY);
|
|
172
170
|
}
|
|
173
|
-
/**
|
|
174
|
-
* The reason a `before` hook refused the state this message stands in for, if it
|
|
175
|
-
* did. The refusal is a fail-closed rejection like any other, so `afterModel`
|
|
176
|
-
* routes it through `on_error` instead of letting the turn settle as completed
|
|
177
|
-
* (issue #29) — the marker is how it tells the refusal apart from an ordinary
|
|
178
|
-
* reply, since the model never ran.
|
|
179
|
-
*/
|
|
180
|
-
export function beforeVetoReason(message) {
|
|
181
|
-
return markerReason(message, BEFORE_VETO_KEY);
|
|
182
|
-
}
|
|
183
171
|
export function createGovernance(ctx) {
|
|
184
|
-
const { machine, emit,
|
|
172
|
+
const { machine, emit, policyRules, mountPrefixes, skills, ptcGateway, subWorkflows } = ctx;
|
|
185
173
|
const skillTable = skillPrefixes(skills);
|
|
186
174
|
const skillSlugs = [...skills.keys()];
|
|
187
175
|
const enabledSkillsIn = (state) => machine.enabledSkills(state, skillSlugs);
|
|
@@ -192,18 +180,28 @@ export function createGovernance(ctx) {
|
|
|
192
180
|
const cacheTtl = ctx.shaping.cacheTtl ?? DEFAULT_CACHE_TTL;
|
|
193
181
|
// Keyed by session id; a sub-run is its own session.
|
|
194
182
|
const modelContexts = new Map();
|
|
195
|
-
const pendingBeforeDone = new Map();
|
|
196
183
|
// Fallback ids for tool calls the model supplied no id for.
|
|
197
184
|
let generatedCallSeq = 0;
|
|
198
185
|
const service = createToolService({
|
|
199
186
|
machine,
|
|
200
187
|
emit,
|
|
201
|
-
lifecycle,
|
|
202
188
|
mountPrefixes,
|
|
203
189
|
...(subWorkflows ? { subWorkflows } : {}),
|
|
204
190
|
...(ctx.files ? { files: ctx.files } : {}),
|
|
205
|
-
lifecycleCtx,
|
|
206
191
|
});
|
|
192
|
+
// An automated state runs through the same gateway, dispatcher and file check
|
|
193
|
+
// the session's own calls use.
|
|
194
|
+
const automated = ctx.automated && ptcGateway
|
|
195
|
+
? {
|
|
196
|
+
...ctx.automated,
|
|
197
|
+
machine,
|
|
198
|
+
emit,
|
|
199
|
+
mountPrefixes,
|
|
200
|
+
ptcGateway,
|
|
201
|
+
...(ctx.files ? { files: ctx.files } : {}),
|
|
202
|
+
dispatchSteps: service.dispatchSteps,
|
|
203
|
+
}
|
|
204
|
+
: undefined;
|
|
207
205
|
/**
|
|
208
206
|
* Filter a scoped listing (`ls`, `glob`, `grep`) to what the state can reach:
|
|
209
207
|
* the kernel refuses a path inside a disabled skill bundle or a mount the
|
|
@@ -241,36 +239,6 @@ export function createGovernance(ctx) {
|
|
|
241
239
|
response_metadata: result.response_metadata,
|
|
242
240
|
});
|
|
243
241
|
}
|
|
244
|
-
function lifecycleCtx(sessionId, state, signal) {
|
|
245
|
-
const context = modelContexts.get(sessionId);
|
|
246
|
-
const fields = readWorkflowState(state);
|
|
247
|
-
// The session's own transcript, never the request prepared for the model, which summarization may have shortened.
|
|
248
|
-
const messages = messagesIn(state);
|
|
249
|
-
return {
|
|
250
|
-
sessionId,
|
|
251
|
-
tools: context?.tools ?? [],
|
|
252
|
-
messages,
|
|
253
|
-
visits: visitSpans(messages, state),
|
|
254
|
-
taskTool: context?.taskTool,
|
|
255
|
-
config: context?.config ?? {},
|
|
256
|
-
iterations: { ...(fields.iterations ?? {}) },
|
|
257
|
-
...(fields.trigger ? { trigger: fields.trigger } : {}),
|
|
258
|
-
variables: Object.fromEntries(Object.entries(readVariables(state)).map(([name, entry]) => [name, entry.value])),
|
|
259
|
-
variableStore: readVariables(state),
|
|
260
|
-
...(signal ? { signal } : {}),
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* The model calls this turn has left, this one included, while its budget is
|
|
265
|
-
* being counted and not yet spent; `beforeModel` has already counted this call.
|
|
266
|
-
*/
|
|
267
|
-
function turnCallsLeft(request) {
|
|
268
|
-
const calls = readWorkflowState(request.state).turnCalls;
|
|
269
|
-
const invocation = invocationOf(request.runtime);
|
|
270
|
-
if (!calls || calls.exhausted || invocation === undefined || calls.invocation !== invocation)
|
|
271
|
-
return undefined;
|
|
272
|
-
return machine.maxModelCalls - calls.count + 1;
|
|
273
|
-
}
|
|
274
242
|
/** The volatile prompt section: what the model is told about where the run stands right now. */
|
|
275
243
|
function volatileSection(request, workflowState, replyOnly) {
|
|
276
244
|
// First, and outside either heading: the clock is true of the turn, not of
|
|
@@ -320,10 +288,6 @@ export function createGovernance(ctx) {
|
|
|
320
288
|
...argConstraints,
|
|
321
289
|
].join("\n"));
|
|
322
290
|
}
|
|
323
|
-
const left = turnCallsLeft(request);
|
|
324
|
-
if (left !== undefined && left * 5 <= machine.maxModelCalls) {
|
|
325
|
-
sections.push(`This turn has ${left} model call${left === 1 ? "" : "s"} left. Finish what you are doing and answer the person.`);
|
|
326
|
-
}
|
|
327
291
|
// Last, immediately before the model acts: choosing the edge is the decision
|
|
328
292
|
// the turn ends on. This is the only place the graph is disclosed at all.
|
|
329
293
|
const graph = renderStateGraph(machine, workflowState, {
|
|
@@ -340,34 +304,41 @@ export function createGovernance(ctx) {
|
|
|
340
304
|
const sessionId = ctx.sessionIdOf(request.runtime);
|
|
341
305
|
const tools = asStructuredTools(request.tools);
|
|
342
306
|
const workflowState = currentWorkflowState(request.state, machine.entry);
|
|
343
|
-
const
|
|
307
|
+
const base = buildRunnableConfig(request.runtime ?? {});
|
|
308
|
+
// The state rides on the config, so a delegation a script or an automated
|
|
309
|
+
// state makes names the state it was made from.
|
|
310
|
+
const config = {
|
|
311
|
+
...base,
|
|
312
|
+
configurable: { ...(base.configurable ?? {}), [CALLING_STATE_KEY]: workflowState },
|
|
313
|
+
};
|
|
344
314
|
const replyOnly = isReplyOnly(request.state);
|
|
345
|
-
//
|
|
315
|
+
// An automated state's calls may dispatch: they number above what the session has taken.
|
|
346
316
|
subWorkflows?.reserve(sessionId, readWorkflowState(request.state).dispatchCount ?? 0);
|
|
317
|
+
modelContexts.set(sessionId, { toolNames: tools.map((t) => t.name) });
|
|
318
|
+
// An automated state is serviced here, in place of the agent's model: the
|
|
319
|
+
// state runs, and the marker standing in for the call carries its outcome to
|
|
320
|
+
// `afterModel`. A parked session never stands in one.
|
|
321
|
+
if (!replyOnly && machine.isAutomatedState(workflowState)) {
|
|
322
|
+
if (!automated) {
|
|
323
|
+
throw new Error(`state '${workflowState}' is a ${machine.stateType(workflowState)} state, and this ` +
|
|
324
|
+
`assembly wires nothing to run one (no automated-state runner and PTC gateway)`);
|
|
325
|
+
}
|
|
326
|
+
return runAutomatedStep(automated, {
|
|
327
|
+
sessionId,
|
|
328
|
+
session: request.state,
|
|
329
|
+
tools,
|
|
330
|
+
config,
|
|
331
|
+
...(request.runtime?.signal ? { signal: request.runtime.signal } : {}),
|
|
332
|
+
});
|
|
333
|
+
}
|
|
347
334
|
// Point every wrapped PTC tool at the state, config and variables in force
|
|
348
|
-
// now; the
|
|
349
|
-
// the variables are what a script call's `${{name}}` guards resolve against.
|
|
335
|
+
// now; the variables are what a script call's `${{name}}` guards resolve against.
|
|
350
336
|
ptcGateway?.refresh(sessionId, {
|
|
351
337
|
state: workflowState,
|
|
352
|
-
config
|
|
353
|
-
...config,
|
|
354
|
-
configurable: { ...(config.configurable ?? {}), [CALLING_STATE_KEY]: workflowState },
|
|
355
|
-
},
|
|
338
|
+
config,
|
|
356
339
|
replyOnly,
|
|
357
340
|
variables: readVariables(request.state),
|
|
358
341
|
});
|
|
359
|
-
// Captured from the UNFILTERED surface: lifecycle hooks keep full access
|
|
360
|
-
// regardless of what the model is shown.
|
|
361
|
-
const lifecycleTools = lifecycle.resolvePtcTools(tools);
|
|
362
|
-
modelContexts.set(sessionId, {
|
|
363
|
-
tools: ptcGateway
|
|
364
|
-
? ptcGateway.wrap(lifecycleTools, { origin: "lifecycle", sessionId })
|
|
365
|
-
: lifecycleTools,
|
|
366
|
-
taskTool: tools.find((t) => t.name === "task"),
|
|
367
|
-
config,
|
|
368
|
-
messages: request.messages ?? [],
|
|
369
|
-
toolNames: tools.map((t) => t.name),
|
|
370
|
-
});
|
|
371
342
|
// Progressive disclosure: the active state's surface in registration order (a
|
|
372
343
|
// byte-identical cacheable prefix). A reply-only turn is handed the same list:
|
|
373
344
|
// its transcript carries tool calls and runtime notes, and a provider may refuse
|
|
@@ -388,23 +359,6 @@ export function createGovernance(ctx) {
|
|
|
388
359
|
// whatever the workflow's own model is.
|
|
389
360
|
const strategy = ctx.stateModels?.cacheStrategyFor(workflowState) ?? cacheStrategy;
|
|
390
361
|
applySystemMessage(request, staticPromptOf(request), volatileSection(request, workflowState, replyOnly), strategy === "anthropic-compat" ? cacheControl(cacheTtl) : undefined);
|
|
391
|
-
// A reply-only turn enters nothing, so no `before` hook gates it.
|
|
392
|
-
const beforeDone = {
|
|
393
|
-
...(readWorkflowState(request.state).beforeDone ?? {}),
|
|
394
|
-
...(pendingBeforeDone.get(sessionId) ?? {}),
|
|
395
|
-
};
|
|
396
|
-
if (!replyOnly && !beforeDone[workflowState]) {
|
|
397
|
-
const veto = await lifecycle.runPhase(workflowState, "before", lifecycleCtx(sessionId, request.state, request.runtime?.signal));
|
|
398
|
-
if (veto) {
|
|
399
|
-
// The refusal is the person's answer *and* a rejection: the text is the
|
|
400
|
-
// reply, the marker is what `afterModel` routes on.
|
|
401
|
-
return new AIMessage({
|
|
402
|
-
content: `Request rejected before the '${workflowState}' state could run: ${veto.reason}`,
|
|
403
|
-
additional_kwargs: { [BEFORE_VETO_KEY]: veto.reason },
|
|
404
|
-
});
|
|
405
|
-
}
|
|
406
|
-
pendingBeforeDone.set(sessionId, { ...beforeDone, [workflowState]: true });
|
|
407
|
-
}
|
|
408
362
|
// Narrowed rather than forwarded blind: this middleware is innermost, so the
|
|
409
363
|
// agent node blames it for whatever the handler returned.
|
|
410
364
|
const call = async () => asModelCallResult(await handler(request), `state '${workflowState}'`);
|
|
@@ -461,8 +415,8 @@ export function createGovernance(ctx) {
|
|
|
461
415
|
* checkpointed `dispatchCount`. The model's delegation calls in one batch are
|
|
462
416
|
* numbered in tool-call order from the count the step read, so a node
|
|
463
417
|
* replayed from its checkpoint gives each call the same number — the same
|
|
464
|
-
* child. That count plus the batch is reserved first, so a script
|
|
465
|
-
*
|
|
418
|
+
* child. That count plus the batch is reserved first, so a script dispatching
|
|
419
|
+
* in the same step numbers above every one of them. The call's
|
|
466
420
|
* result carries the count it leaves, so the next step, and the next turn on
|
|
467
421
|
* a fresh agent, continue from it.
|
|
468
422
|
*/
|
|
@@ -546,10 +500,7 @@ export function createGovernance(ctx) {
|
|
|
546
500
|
const serviced = await service.serviceControlTool(request, call, args);
|
|
547
501
|
if (serviced)
|
|
548
502
|
return serviced;
|
|
549
|
-
// Governed call telemetry.
|
|
550
|
-
// the runtime reaches `task`, through the bridge, which emits its own
|
|
551
|
-
// `rubric-start`/`rubric-result` pair — an agent-initiated call never gets
|
|
552
|
-
// this far, because the kernel refuses it.
|
|
503
|
+
// Governed call telemetry.
|
|
553
504
|
service.emitToolCalled(workflowState, toolName, callId, args);
|
|
554
505
|
const startedAt = Date.now();
|
|
555
506
|
const settle = (status, preview) => {
|
|
@@ -597,20 +548,12 @@ export function createGovernance(ctx) {
|
|
|
597
548
|
subWorkflows.reserve(sessionId, readWorkflowState(state).dispatchCount ?? 0);
|
|
598
549
|
return subWorkflows.dispatchCount(sessionId);
|
|
599
550
|
},
|
|
600
|
-
lifecycleCtx,
|
|
601
|
-
reportMove: service.reportMove,
|
|
602
551
|
endTurn(sessionId) {
|
|
603
|
-
const staged = pendingBeforeDone.get(sessionId);
|
|
604
552
|
modelContexts.delete(sessionId);
|
|
605
|
-
pendingBeforeDone.delete(sessionId);
|
|
606
553
|
service.releaseSession(sessionId);
|
|
607
|
-
return staged;
|
|
608
554
|
},
|
|
609
555
|
release(sessionId) {
|
|
610
|
-
const scopes =
|
|
611
|
-
...releaseScopes(modelContexts, sessionId),
|
|
612
|
-
...releaseScopes(pendingBeforeDone, sessionId),
|
|
613
|
-
];
|
|
556
|
+
const scopes = releaseScopes(modelContexts, sessionId);
|
|
614
557
|
for (const scope of new Set([...scopes, sessionId]))
|
|
615
558
|
service.releaseSession(scope);
|
|
616
559
|
return scopes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/workflow/governance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/workflow/governance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A grader state's run: an isolated grader subagent — its own model, its own
|
|
3
|
+
* prompt, its own messages — that judges the session and decides where it goes.
|
|
4
|
+
*
|
|
5
|
+
* Isolated in three ways. It reads the session only through its tools
|
|
6
|
+
* (`archmax_get_history` above all), and nothing it says enters the session's
|
|
7
|
+
* transcript. Its tokens are tagged `nostream`, so they never stream as the
|
|
8
|
+
* session's text. And it compiles with no checkpointer, so it writes nothing into
|
|
9
|
+
* the session's thread. What it decided reaches the session as the step
|
|
10
|
+
* recorder's decision, which the orchestrator (`automated.ts`) commits.
|
|
11
|
+
*
|
|
12
|
+
* Its tools are its state's surface, already governed by the PTC gateway on the
|
|
13
|
+
* `agent` origin; this module adds what a model's calls get on the agent's own
|
|
14
|
+
* path — `${{…}}` argument substitution, and a refused or failed call answered
|
|
15
|
+
* as an error the model can read rather than thrown — and ends the loop the
|
|
16
|
+
* moment a decision is recorded.
|
|
17
|
+
*/
|
|
18
|
+
import type { BaseChatModel } from "@langchain/core/language_models/chat_models";
|
|
19
|
+
import type { StructuredTool } from "@langchain/core/tools";
|
|
20
|
+
import type { WorkflowEventEmitter } from "../core/events.js";
|
|
21
|
+
import { type PricingTable, type UsageSummary } from "../core/usage.js";
|
|
22
|
+
import type { WorkflowMachine } from "../machine/machine.js";
|
|
23
|
+
import type { StepRecorder } from "./automated-controls.js";
|
|
24
|
+
/**
|
|
25
|
+
* What every grader is told before its state's criteria: what it is, how it reads
|
|
26
|
+
* the session, and the two calls it decides with. Compiled in, like the platform
|
|
27
|
+
* prompt: a grader's contract is the runtime's, its criteria are the author's.
|
|
28
|
+
*/
|
|
29
|
+
export declare const GRADER_PREAMBLE = "# Grader\n\nYou are the grader of one state of a workflow session. You do not talk to anyone:\nyou judge the session's work against the criteria below and decide where the\nsession goes next.\n\n1. Read the session with `archmax_get_history`: every message so far, and the trail of\n states it moved through and why. Read files or variables when the criteria need them.\n2. Decide by calling `archmax_advance({ \"to\": \"<slug>\", \"reason\": \"<what you found>\" })` with\n one of the transitions listed in your task. The reason is what the next state reads:\n when you send work back, say exactly what has to change.\n3. When the work cannot be accepted and must not be retried \u2014 your criteria say when \u2014\n call `archmax_raise({ \"code\": \"<short-token>\", \"reason\": \"<why>\" })` instead: it ends the\n session as failed.\n\nMake exactly one of those two calls, then stop. Text you write is read by no one.\n\n## Criteria";
|
|
30
|
+
/** The task a grader is handed: where it stands, and the transitions it chooses from. */
|
|
31
|
+
export declare function graderTask(machine: WorkflowMachine, state: string): string;
|
|
32
|
+
export interface GraderStateRun {
|
|
33
|
+
machine: WorkflowMachine;
|
|
34
|
+
emit: WorkflowEventEmitter;
|
|
35
|
+
pricing?: PricingTable;
|
|
36
|
+
state: string;
|
|
37
|
+
model: BaseChatModel;
|
|
38
|
+
/** The model's id, for usage events, when the instance exposes one. */
|
|
39
|
+
modelId?: string;
|
|
40
|
+
/** The grader state's tools, governed (controls included). */
|
|
41
|
+
tools: StructuredTool[];
|
|
42
|
+
recorder: StepRecorder;
|
|
43
|
+
/** The turn's abort signal: a cancelled turn cancels the grader. */
|
|
44
|
+
signal?: AbortSignal;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Run a grader state's subagent. Settles with the error that stopped it, if one
|
|
48
|
+
* did — an exhausted `budget.maxTurns`, an expired `budget.timeoutMs`, a model
|
|
49
|
+
* or runtime failure — and with its usage across every model call. A cancelled
|
|
50
|
+
* turn is not the grader's failure: its abort propagates.
|
|
51
|
+
*/
|
|
52
|
+
export declare function runGraderState(run: GraderStateRun): Promise<{
|
|
53
|
+
error?: string;
|
|
54
|
+
usage?: UsageSummary;
|
|
55
|
+
}>;
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { HumanMessage, ToolMessage } from "@langchain/core/messages";
|
|
2
|
+
import { isCommand, isGraphBubbleUp } from "@langchain/langgraph";
|
|
3
|
+
import { createAgent, createMiddleware, tool } from "langchain";
|
|
4
|
+
import { DEFAULT_RECURSION_LIMIT } from "../core/deepagents.js";
|
|
5
|
+
import { contentToString, isAiMessage } from "../core/messages.js";
|
|
6
|
+
import { addSummaries, extractUsage, summarizeUsage } from "../core/usage.js";
|
|
7
|
+
import { ADVANCE_TOOL, GET_HISTORY_TOOL, RAISE_TOOL, isWorkflowToolName } from "../machine/tool-names.js";
|
|
8
|
+
import { resolveArguments } from "../machine/variables.js";
|
|
9
|
+
import { PtcGovernanceError } from "../sandbox/ptc-gateway.js";
|
|
10
|
+
import { unresolvedArgumentMessage } from "./control-tools.js";
|
|
11
|
+
import { renderTransitions } from "./render-prompt.js";
|
|
12
|
+
import { blockedMessage } from "./tool-service.js";
|
|
13
|
+
/**
|
|
14
|
+
* What every grader is told before its state's criteria: what it is, how it reads
|
|
15
|
+
* the session, and the two calls it decides with. Compiled in, like the platform
|
|
16
|
+
* prompt: a grader's contract is the runtime's, its criteria are the author's.
|
|
17
|
+
*/
|
|
18
|
+
export const GRADER_PREAMBLE = `# Grader
|
|
19
|
+
|
|
20
|
+
You are the grader of one state of a workflow session. You do not talk to anyone:
|
|
21
|
+
you judge the session's work against the criteria below and decide where the
|
|
22
|
+
session goes next.
|
|
23
|
+
|
|
24
|
+
1. Read the session with \`${GET_HISTORY_TOOL}\`: every message so far, and the trail of
|
|
25
|
+
states it moved through and why. Read files or variables when the criteria need them.
|
|
26
|
+
2. Decide by calling \`${ADVANCE_TOOL}({ "to": "<slug>", "reason": "<what you found>" })\` with
|
|
27
|
+
one of the transitions listed in your task. The reason is what the next state reads:
|
|
28
|
+
when you send work back, say exactly what has to change.
|
|
29
|
+
3. When the work cannot be accepted and must not be retried — your criteria say when —
|
|
30
|
+
call \`${RAISE_TOOL}({ "code": "<short-token>", "reason": "<why>" })\` instead: it ends the
|
|
31
|
+
session as failed.
|
|
32
|
+
|
|
33
|
+
Make exactly one of those two calls, then stop. Text you write is read by no one.
|
|
34
|
+
|
|
35
|
+
## Criteria`;
|
|
36
|
+
/** The task a grader is handed: where it stands, and the transitions it chooses from. */
|
|
37
|
+
export function graderTask(machine, state) {
|
|
38
|
+
return [
|
|
39
|
+
`You are grading the session in the grader state \`${state}\`.`,
|
|
40
|
+
`Transitions — choose one with \`${ADVANCE_TOOL}\`:`,
|
|
41
|
+
...renderTransitions(machine, state),
|
|
42
|
+
].join("\n\n");
|
|
43
|
+
}
|
|
44
|
+
/** The tag LangGraph's message stream skips: a grader's tokens are not the session's text. */
|
|
45
|
+
const NO_STREAM_TAG = "langsmith:nostream";
|
|
46
|
+
/** The text a tool's settled value reads as, for the grader's tool answer. */
|
|
47
|
+
function answerText(value) {
|
|
48
|
+
if (typeof value === "string")
|
|
49
|
+
return value;
|
|
50
|
+
if (value instanceof ToolMessage)
|
|
51
|
+
return contentToString(value.content);
|
|
52
|
+
if (isCommand(value)) {
|
|
53
|
+
const messages = value.update?.messages ?? [];
|
|
54
|
+
const answer = [...messages].reverse().find((m) => m instanceof ToolMessage);
|
|
55
|
+
if (answer)
|
|
56
|
+
return contentToString(answer.content);
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
return JSON.stringify(value) ?? String(value);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return String(value);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The grader's own instance of a governed tool: same name, description and
|
|
67
|
+
* schema, invoked with plain arguments. The grader's tool node hands a tool a
|
|
68
|
+
* tool call and its own config; the governed tool takes arguments and runs on
|
|
69
|
+
* the session's turn config, which the gateway supplies.
|
|
70
|
+
*/
|
|
71
|
+
function graderTool(governed) {
|
|
72
|
+
return tool(async (args) => answerText(await governed.invoke(args)), {
|
|
73
|
+
name: governed.name,
|
|
74
|
+
description: governed.description,
|
|
75
|
+
schema: governed.schema,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Run a grader state's subagent. Settles with the error that stopped it, if one
|
|
80
|
+
* did — an exhausted `budget.maxTurns`, an expired `budget.timeoutMs`, a model
|
|
81
|
+
* or runtime failure — and with its usage across every model call. A cancelled
|
|
82
|
+
* turn is not the grader's failure: its abort propagates.
|
|
83
|
+
*/
|
|
84
|
+
export async function runGraderState(run) {
|
|
85
|
+
const { machine, emit, recorder, state } = run;
|
|
86
|
+
const declared = machine.spec.states[state];
|
|
87
|
+
const maxTurns = declared?.budget?.maxTurns;
|
|
88
|
+
const timeoutMs = declared?.budget?.timeoutMs;
|
|
89
|
+
let usage;
|
|
90
|
+
let modelCalls = 0;
|
|
91
|
+
let exhausted;
|
|
92
|
+
const middleware = createMiddleware({
|
|
93
|
+
name: "GraderMiddleware",
|
|
94
|
+
beforeModel: {
|
|
95
|
+
canJumpTo: ["end"],
|
|
96
|
+
hook: () => {
|
|
97
|
+
// Decided: the run is over, with no further model call.
|
|
98
|
+
if (recorder.decision)
|
|
99
|
+
return { jumpTo: "end" };
|
|
100
|
+
if (maxTurns != null && modelCalls + 1 > maxTurns) {
|
|
101
|
+
exhausted = `grader state '${state}' exhausted its turn budget (maxTurns: ${maxTurns})`;
|
|
102
|
+
return { jumpTo: "end" };
|
|
103
|
+
}
|
|
104
|
+
modelCalls += 1;
|
|
105
|
+
return undefined;
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
afterModel: (stateView) => {
|
|
109
|
+
const last = stateView.messages?.at(-1);
|
|
110
|
+
if (!last || !isAiMessage(last))
|
|
111
|
+
return undefined;
|
|
112
|
+
const extracted = extractUsage(last);
|
|
113
|
+
if (!extracted)
|
|
114
|
+
return undefined;
|
|
115
|
+
const model = extracted.model ?? run.modelId;
|
|
116
|
+
const summary = summarizeUsage(extracted.usage, run.pricing, model);
|
|
117
|
+
emit({ type: "model-usage", state, ...summary, ...(model ? { model } : {}) });
|
|
118
|
+
usage = usage ? addSummaries(usage, summary) : summary;
|
|
119
|
+
return undefined;
|
|
120
|
+
},
|
|
121
|
+
wrapToolCall: async (request, handler) => {
|
|
122
|
+
const name = request.toolCall.name;
|
|
123
|
+
const callId = request.toolCall.id ?? "";
|
|
124
|
+
let call = request;
|
|
125
|
+
// `${{…}}` resolves against the session's variables as this run sees them,
|
|
126
|
+
// exactly as the agent's own arguments do; a delegation's are its params.
|
|
127
|
+
if (!isWorkflowToolName(name)) {
|
|
128
|
+
const substituted = resolveArguments((request.toolCall.args ?? {}), recorder.store());
|
|
129
|
+
if (!substituted.ok)
|
|
130
|
+
return blockedMessage(name, callId, unresolvedArgumentMessage(substituted));
|
|
131
|
+
call = { ...request, toolCall: { ...request.toolCall, args: substituted.args } };
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
return await handler(call);
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
if (isGraphBubbleUp(err) || run.signal?.aborted)
|
|
138
|
+
throw err;
|
|
139
|
+
const cause = err?.cause ?? err;
|
|
140
|
+
const message = String(cause?.message ?? cause);
|
|
141
|
+
if (cause instanceof PtcGovernanceError)
|
|
142
|
+
return blockedMessage(name, callId, message);
|
|
143
|
+
return new ToolMessage({ content: message, tool_call_id: callId, name, status: "error" });
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
const grader = createAgent({
|
|
148
|
+
model: run.model,
|
|
149
|
+
tools: run.tools.map(graderTool),
|
|
150
|
+
systemPrompt: `${GRADER_PREAMBLE}\n\n${declared?.instructions?.trim() ?? ""}`,
|
|
151
|
+
middleware: [middleware],
|
|
152
|
+
checkpointer: false,
|
|
153
|
+
name: `grader:${state}`,
|
|
154
|
+
});
|
|
155
|
+
const signals = [run.signal, timeoutMs != null ? AbortSignal.timeout(timeoutMs) : undefined].filter((signal) => signal !== undefined);
|
|
156
|
+
const signal = signals.length > 1 ? AbortSignal.any(signals) : signals[0];
|
|
157
|
+
try {
|
|
158
|
+
await grader.invoke({ messages: [new HumanMessage(graderTask(machine, state))] }, {
|
|
159
|
+
...(signal ? { signal } : {}),
|
|
160
|
+
tags: [NO_STREAM_TAG],
|
|
161
|
+
// A model call is up to four graph steps (before it, the call, after it,
|
|
162
|
+
// its tools): room for every call the budget allows, which the
|
|
163
|
+
// middleware enforces first; unbounded, a session's own limit.
|
|
164
|
+
recursionLimit: maxTurns != null ? 4 * maxTurns + 8 : DEFAULT_RECURSION_LIMIT,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
if (run.signal?.aborted)
|
|
169
|
+
throw err;
|
|
170
|
+
if (recorder.decision)
|
|
171
|
+
return { ...(usage ? { usage } : {}) };
|
|
172
|
+
const expired = timeoutMs != null && signal?.aborted;
|
|
173
|
+
return {
|
|
174
|
+
error: expired
|
|
175
|
+
? `grader state '${state}' exceeded its time budget (timeoutMs: ${timeoutMs})`
|
|
176
|
+
: `grader state '${state}' failed: ${err?.message ?? String(err)}`,
|
|
177
|
+
...(usage ? { usage } : {}),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
return { ...(exhausted && !recorder.decision ? { error: exhausted } : {}), ...(usage ? { usage } : {}) };
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=grader-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grader-state.js","sourceRoot":"","sources":["../../src/workflow/grader-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { HistoryMessage, SessionHistory } from "../public/sandbox.js";
|
|
2
|
+
export type { HistoryMessage, SessionHistory };
|
|
3
|
+
/**
|
|
4
|
+
* The transcript as plain messages, oldest first. A runtime note is carried in
|
|
5
|
+
* the transcript as a tool-call pair; only the half holding the text is kept,
|
|
6
|
+
* as one `runtime` entry. A tool result carries its text, the tool that
|
|
7
|
+
* produced it, and the id of the call it answers.
|
|
8
|
+
*/
|
|
9
|
+
export declare function historyMessages(messages: unknown[]): HistoryMessage[];
|
|
10
|
+
/** The history of the session whose checkpointed state this is. */
|
|
11
|
+
export declare function sessionHistory(state: unknown): SessionHistory;
|