@archmax-ai/harness 0.9.0 → 1.0.1

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.
Files changed (207) hide show
  1. package/README.md +58 -14
  2. package/dist/agent.d.ts +4 -6
  3. package/dist/agent.js +4 -6
  4. package/dist/agent.js.map +1 -1
  5. package/dist/assembly/compose.d.ts +5 -24
  6. package/dist/assembly/compose.js +28 -42
  7. package/dist/assembly/compose.js.map +1 -1
  8. package/dist/assembly/delegation-registry.js +3 -14
  9. package/dist/assembly/delegation-registry.js.map +1 -1
  10. package/dist/assembly/index.d.ts +8 -15
  11. package/dist/assembly/index.js +21 -28
  12. package/dist/assembly/index.js.map +1 -1
  13. package/dist/assembly/plain.js +1 -2
  14. package/dist/assembly/plain.js.map +1 -1
  15. package/dist/authoring-skill/archmax-harness/README.md +5 -5
  16. package/dist/authoring-skill/archmax-harness/SKILL.md +72 -30
  17. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +33 -24
  18. package/dist/authoring-skill/archmax-harness/references/cases.md +41 -8
  19. package/dist/authoring-skill/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +599 -339
  20. package/dist/authoring-skill/archmax-harness/references/code-states-and-scripts.md +115 -0
  21. package/dist/authoring-skill/archmax-harness/references/diagnostics.md +40 -7
  22. package/dist/authoring-skill/archmax-harness/references/wiring.md +19 -10
  23. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +404 -293
  24. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +151 -62
  25. package/dist/cli/state-flow.d.ts +1 -1
  26. package/dist/cli/state-flow.js +18 -28
  27. package/dist/cli/state-flow.js.map +1 -1
  28. package/dist/cli/turn.d.ts +1 -1
  29. package/dist/cli/turn.js +1 -1
  30. package/dist/core/code-description.d.ts +3 -3
  31. package/dist/core/code-description.js +3 -3
  32. package/dist/core/deepagents.d.ts +5 -12
  33. package/dist/core/deepagents.js +4 -17
  34. package/dist/core/deepagents.js.map +1 -1
  35. package/dist/core/events.d.ts +23 -42
  36. package/dist/core/events.js +21 -24
  37. package/dist/core/events.js.map +1 -1
  38. package/dist/core/message-readers.d.ts +4 -5
  39. package/dist/core/message-readers.js +3 -8
  40. package/dist/core/message-readers.js.map +1 -1
  41. package/dist/core/messages.d.ts +0 -22
  42. package/dist/core/messages.js +1 -32
  43. package/dist/core/messages.js.map +1 -1
  44. package/dist/core/mounts.js +3 -3
  45. package/dist/core/platform-prompt.generated.js +1 -1
  46. package/dist/core/platform-prompt.generated.js.map +1 -1
  47. package/dist/core/session-zone.d.ts +1 -1
  48. package/dist/core/session-zone.js +1 -1
  49. package/dist/core/workspace-context.d.ts +1 -1
  50. package/dist/core/workspace.d.ts +1 -1
  51. package/dist/core/workspace.js +1 -1
  52. package/dist/core/zones.d.ts +4 -4
  53. package/dist/core/zones.js +5 -5
  54. package/dist/core/zones.js.map +1 -1
  55. package/dist/env.d.ts +9 -9
  56. package/dist/index.d.ts +3 -7
  57. package/dist/index.js +2 -4
  58. package/dist/index.js.map +1 -1
  59. package/dist/kernel/kernel.d.ts +31 -61
  60. package/dist/kernel/kernel.js +54 -112
  61. package/dist/kernel/kernel.js.map +1 -1
  62. package/dist/machine/lint-spec.js +53 -12
  63. package/dist/machine/lint-spec.js.map +1 -1
  64. package/dist/machine/machine.d.ts +36 -18
  65. package/dist/machine/machine.js +62 -51
  66. package/dist/machine/machine.js.map +1 -1
  67. package/dist/machine/spec-schema.d.ts +32 -180
  68. package/dist/machine/spec-schema.js +52 -113
  69. package/dist/machine/spec-schema.js.map +1 -1
  70. package/dist/machine/tool-names.d.ts +34 -16
  71. package/dist/machine/tool-names.js +41 -16
  72. package/dist/machine/tool-names.js.map +1 -1
  73. package/dist/machine/types.d.ts +14 -46
  74. package/dist/machine/types.js +0 -2
  75. package/dist/machine/types.js.map +1 -1
  76. package/dist/machine/validate-spec.d.ts +1 -1
  77. package/dist/public/sandbox.d.ts +59 -95
  78. package/dist/public/sandbox.js +22 -23
  79. package/dist/public/sandbox.js.map +1 -1
  80. package/dist/public/spec.d.ts +13 -20
  81. package/dist/public/spec.js +12 -20
  82. package/dist/public/spec.js.map +1 -1
  83. package/dist/runtime/contract.d.ts +11 -12
  84. package/dist/runtime/contract.js +16 -16
  85. package/dist/runtime/contract.js.map +1 -1
  86. package/dist/sandbox/assets/parts/code-state.js +17 -0
  87. package/dist/sandbox/executor.d.ts +25 -7
  88. package/dist/sandbox/executor.js +56 -57
  89. package/dist/sandbox/executor.js.map +1 -1
  90. package/dist/sandbox/imports.d.ts +10 -10
  91. package/dist/sandbox/imports.js +11 -11
  92. package/dist/sandbox/imports.js.map +1 -1
  93. package/dist/sandbox/prelude.d.ts +5 -6
  94. package/dist/sandbox/prelude.js +38 -35
  95. package/dist/sandbox/prelude.js.map +1 -1
  96. package/dist/sandbox/ptc-gateway.d.ts +19 -18
  97. package/dist/sandbox/ptc-gateway.js +26 -22
  98. package/dist/sandbox/ptc-gateway.js.map +1 -1
  99. package/dist/sessions/resume.d.ts +2 -2
  100. package/dist/sessions/resume.js +1 -1
  101. package/dist/sessions/resume.js.map +1 -1
  102. package/dist/sessions/scope.d.ts +0 -10
  103. package/dist/sessions/scope.js +0 -17
  104. package/dist/sessions/scope.js.map +1 -1
  105. package/dist/sessions/summary.d.ts +1 -1
  106. package/dist/testing/assertions.js +9 -4
  107. package/dist/testing/assertions.js.map +1 -1
  108. package/dist/testing/driver.js +3 -0
  109. package/dist/testing/driver.js.map +1 -1
  110. package/dist/testing/interpreter.d.ts +2 -2
  111. package/dist/testing/runner.d.ts +2 -2
  112. package/dist/validate/validate.d.ts +1 -1
  113. package/dist/validate/validate.js +39 -70
  114. package/dist/validate/validate.js.map +1 -1
  115. package/dist/workflow/automated-controls.d.ts +63 -0
  116. package/dist/workflow/automated-controls.js +158 -0
  117. package/dist/workflow/automated-controls.js.map +1 -0
  118. package/dist/workflow/automated.d.ts +112 -0
  119. package/dist/workflow/automated.js +163 -0
  120. package/dist/workflow/automated.js.map +1 -0
  121. package/dist/workflow/code-state.d.ts +46 -0
  122. package/dist/workflow/code-state.js +26 -0
  123. package/dist/workflow/code-state.js.map +1 -0
  124. package/dist/workflow/control-tools.d.ts +54 -23
  125. package/dist/workflow/control-tools.js +99 -79
  126. package/dist/workflow/control-tools.js.map +1 -1
  127. package/dist/workflow/file-values.d.ts +4 -4
  128. package/dist/workflow/file-values.js +1 -1
  129. package/dist/workflow/file-values.js.map +1 -1
  130. package/dist/workflow/governance.d.ts +11 -22
  131. package/dist/workflow/governance.js +47 -104
  132. package/dist/workflow/governance.js.map +1 -1
  133. package/dist/workflow/grader-state.d.ts +55 -0
  134. package/dist/workflow/grader-state.js +182 -0
  135. package/dist/workflow/grader-state.js.map +1 -0
  136. package/dist/workflow/history.d.ts +11 -0
  137. package/dist/{lifecycle/transcript.js → workflow/history.js} +24 -8
  138. package/dist/workflow/history.js.map +1 -0
  139. package/dist/workflow/middleware.d.ts +14 -17
  140. package/dist/workflow/middleware.js +109 -95
  141. package/dist/workflow/middleware.js.map +1 -1
  142. package/dist/workflow/move-events.d.ts +21 -0
  143. package/dist/workflow/move-events.js +20 -0
  144. package/dist/workflow/move-events.js.map +1 -0
  145. package/dist/workflow/on-error.js +0 -2
  146. package/dist/workflow/on-error.js.map +1 -1
  147. package/dist/workflow/parks.d.ts +9 -2
  148. package/dist/workflow/parks.js +16 -10
  149. package/dist/workflow/parks.js.map +1 -1
  150. package/dist/workflow/paths.d.ts +9 -9
  151. package/dist/workflow/paths.js +19 -19
  152. package/dist/workflow/paths.js.map +1 -1
  153. package/dist/workflow/render-prompt.d.ts +7 -5
  154. package/dist/workflow/render-prompt.js +22 -37
  155. package/dist/workflow/render-prompt.js.map +1 -1
  156. package/dist/workflow/signature-checks.d.ts +2 -2
  157. package/dist/workflow/snapshot.js +5 -29
  158. package/dist/workflow/snapshot.js.map +1 -1
  159. package/dist/workflow/state.d.ts +14 -42
  160. package/dist/workflow/state.js +20 -33
  161. package/dist/workflow/state.js.map +1 -1
  162. package/dist/workflow/sub-workflow.d.ts +3 -3
  163. package/dist/workflow/sub-workflow.js +3 -7
  164. package/dist/workflow/sub-workflow.js.map +1 -1
  165. package/dist/workflow/tool-service.d.ts +1 -9
  166. package/dist/workflow/tool-service.js +21 -24
  167. package/dist/workflow/tool-service.js.map +1 -1
  168. package/dist/workflow/turn-boundary.d.ts +2 -2
  169. package/dist/workflow/turn-boundary.js +10 -15
  170. package/dist/workflow/turn-boundary.js.map +1 -1
  171. package/dist/workflow/turn-runner.js +5 -6
  172. package/dist/workflow/turn-runner.js.map +1 -1
  173. package/package.json +2 -2
  174. package/skills/archmax-harness/README.md +5 -5
  175. package/skills/archmax-harness/SKILL.md +72 -30
  176. package/skills/archmax-harness/references/backend-integration.md +33 -24
  177. package/skills/archmax-harness/references/cases.md +41 -8
  178. package/skills/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +599 -339
  179. package/skills/archmax-harness/references/code-states-and-scripts.md +115 -0
  180. package/skills/archmax-harness/references/diagnostics.md +40 -7
  181. package/skills/archmax-harness/references/wiring.md +19 -10
  182. package/skills/archmax-harness/references/workflow-schema.md +404 -293
  183. package/skills/archmax-harness/references/workflow-yaml.md +151 -62
  184. package/dist/authoring-skill/archmax-harness/references/hooks-and-scripts.md +0 -89
  185. package/dist/lifecycle/hook-shape.d.ts +0 -44
  186. package/dist/lifecycle/hook-shape.js +0 -66
  187. package/dist/lifecycle/hook-shape.js.map +0 -1
  188. package/dist/lifecycle/runner.d.ts +0 -197
  189. package/dist/lifecycle/runner.js +0 -419
  190. package/dist/lifecycle/runner.js.map +0 -1
  191. package/dist/lifecycle/tool-calls.d.ts +0 -9
  192. package/dist/lifecycle/tool-calls.js +0 -57
  193. package/dist/lifecycle/tool-calls.js.map +0 -1
  194. package/dist/lifecycle/transcript.d.ts +0 -31
  195. package/dist/lifecycle/transcript.js.map +0 -1
  196. package/dist/rubrics/rubrics.d.ts +0 -135
  197. package/dist/rubrics/rubrics.js +0 -145
  198. package/dist/rubrics/rubrics.js.map +0 -1
  199. package/dist/sandbox/assets/parts/core.js +0 -22
  200. package/dist/sandbox/assets/parts/lifecycle-hook.js +0 -47
  201. package/dist/sandbox/bridge.d.ts +0 -16
  202. package/dist/sandbox/bridge.js +0 -95
  203. package/dist/sandbox/bridge.js.map +0 -1
  204. package/dist/workflow/visits.d.ts +0 -21
  205. package/dist/workflow/visits.js +0 -45
  206. package/dist/workflow/visits.js.map +0 -1
  207. 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, invocationOf, releaseScopes } from "../sessions/scope.js";
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 { messagesIn, visitSpans } from "./visits.js";
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, lifecycle, policyRules, mountPrefixes, skills, ptcGateway, subWorkflows } = ctx;
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 config = buildRunnableConfig(request.runtime ?? {});
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
- // A `before` hook below may dispatch: it numbers above what the session has taken.
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 state rides on the config so a script's delegation names it, and
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 or hook
465
- * dispatching in the same step numbers above every one of them. The call's
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. A rubric dispatch is *not* bracketed here: only
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":"AAkBA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAwC,MAAM,kBAAkB,CAAC;AAEpH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;6BAMF,gBAAgB;;yBAEpB,YAAY;;;;YAIzB,UAAU;;;;;YAKV,CAAC;AAEb,yFAAyF;AACzF,MAAM,UAAU,UAAU,CAAC,OAAwB,EAAE,KAAa;IAChE,OAAO;QACL,qDAAqD,KAAK,KAAK;QAC/D,mCAAmC,YAAY,KAAK;QACpD,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;KACrC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAiBD,8FAA8F;AAC9F,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C,8EAA8E;AAC9E,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,WAAW;QAAE,OAAO,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAI,KAA+C,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QACzF,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,WAAW,CAA4B,CAAC;QACxG,IAAI,MAAM;YAAE,OAAO,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,QAAwB;IAC1C,OAAO,IAAI,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAa,CAAC,CAAC,EAAE;QACrG,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAe;KACjC,CAA8B,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAmB;IACtD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC5C,MAAM,SAAS,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;IAC9C,IAAI,KAA+B,CAAC;IACpC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAA6B,CAAC;IAElC,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,KAAK,CAAC;YAClB,IAAI,EAAE,GAAG,EAAE;gBACT,wDAAwD;gBACxD,IAAI,QAAQ,CAAC,QAAQ;oBAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAW,CAAC;gBACzD,IAAI,QAAQ,IAAI,IAAI,IAAI,UAAU,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;oBAClD,SAAS,GAAG,iBAAiB,KAAK,0CAA0C,QAAQ,GAAG,CAAC;oBACxF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAW,CAAC;gBACpC,CAAC;gBACD,UAAU,IAAI,CAAC,CAAC;gBAChB,OAAO,SAAS,CAAC;YACnB,CAAC;SACF;QACD,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE;YACxB,MAAM,IAAI,GAAI,SAAsC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YAClD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS;gBAAE,OAAO,SAAS,CAAC;YACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC;YAC7C,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9E,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;YACzC,IAAI,IAAI,GAAG,OAAO,CAAC;YACnB,2EAA2E;YAC3E,0EAA0E;YAC1E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAA4B,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjH,IAAI,CAAC,WAAW,CAAC,EAAE;oBAAE,OAAO,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjG,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACnF,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO;oBAAE,MAAM,GAAG,CAAC;gBAC3D,MAAM,KAAK,GAAI,GAA2B,EAAE,KAAK,IAAI,GAAG,CAAC;gBACzD,MAAM,OAAO,GAAG,MAAM,CAAE,KAAe,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;gBAC3D,IAAI,KAAK,YAAY,kBAAkB;oBAAE,OAAO,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACtF,OAAO,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;QAChC,YAAY,EAAE,GAAG,eAAe,OAAO,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC7E,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE,UAAU,KAAK,EAAE;KACxB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CACjG,CAAC,MAAM,EAAyB,EAAE,CAAC,MAAM,KAAK,SAAS,CACxD,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CACjB,EAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAC5D;YACE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,IAAI,EAAE,CAAC,aAAa,CAAC;YACrB,yEAAyE;YACzE,+DAA+D;YAC/D,+DAA+D;YAC/D,cAAc,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;SAC9E,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,GAAG,CAAC;QACnC,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,IAAI,MAAM,EAAE,OAAO,CAAC;QACrD,OAAO;YACL,KAAK,EAAE,OAAO;gBACZ,CAAC,CAAC,iBAAiB,KAAK,0CAA0C,SAAS,GAAG;gBAC9E,CAAC,CAAC,iBAAiB,KAAK,aAAc,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;YAC/E,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3G,CAAC"}
@@ -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;