@archmax-ai/harness 0.8.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.
Files changed (219) hide show
  1. package/README.md +58 -14
  2. package/dist/agent.d.ts +4 -4
  3. package/dist/agent.js +4 -4
  4. package/dist/assembly/compose.d.ts +5 -24
  5. package/dist/assembly/compose.js +40 -41
  6. package/dist/assembly/compose.js.map +1 -1
  7. package/dist/assembly/delegation-registry.js +3 -14
  8. package/dist/assembly/delegation-registry.js.map +1 -1
  9. package/dist/assembly/index.d.ts +18 -15
  10. package/dist/assembly/index.js +50 -32
  11. package/dist/assembly/index.js.map +1 -1
  12. package/dist/assembly/plain.js +1 -2
  13. package/dist/assembly/plain.js.map +1 -1
  14. package/dist/authoring-skill/archmax-harness/README.md +5 -5
  15. package/dist/authoring-skill/archmax-harness/SKILL.md +72 -30
  16. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +35 -23
  17. package/dist/authoring-skill/archmax-harness/references/cases.md +44 -10
  18. package/dist/authoring-skill/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +617 -313
  19. package/dist/authoring-skill/archmax-harness/references/code-states-and-scripts.md +115 -0
  20. package/dist/authoring-skill/archmax-harness/references/diagnostics.md +40 -7
  21. package/dist/authoring-skill/archmax-harness/references/wiring.md +19 -10
  22. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +416 -276
  23. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +161 -62
  24. package/dist/cli/state-flow.d.ts +1 -1
  25. package/dist/cli/state-flow.js +18 -28
  26. package/dist/cli/state-flow.js.map +1 -1
  27. package/dist/cli/turn.d.ts +1 -1
  28. package/dist/cli/turn.js +2 -3
  29. package/dist/cli/turn.js.map +1 -1
  30. package/dist/core/clock.d.ts +26 -0
  31. package/dist/core/clock.js +64 -0
  32. package/dist/core/clock.js.map +1 -0
  33. package/dist/core/code-description.d.ts +3 -3
  34. package/dist/core/code-description.js +3 -3
  35. package/dist/core/deepagents.d.ts +5 -5
  36. package/dist/core/deepagents.js +4 -4
  37. package/dist/core/events.d.ts +23 -42
  38. package/dist/core/events.js +21 -24
  39. package/dist/core/events.js.map +1 -1
  40. package/dist/core/message-readers.d.ts +22 -2
  41. package/dist/core/message-readers.js +31 -0
  42. package/dist/core/message-readers.js.map +1 -1
  43. package/dist/core/messages.d.ts +1 -23
  44. package/dist/core/messages.js +2 -35
  45. package/dist/core/messages.js.map +1 -1
  46. package/dist/core/mounts.js +3 -3
  47. package/dist/core/platform-prompt.generated.js +1 -1
  48. package/dist/core/platform-prompt.generated.js.map +1 -1
  49. package/dist/core/session-zone.d.ts +1 -1
  50. package/dist/core/session-zone.js +1 -1
  51. package/dist/core/workspace-context.d.ts +1 -1
  52. package/dist/core/workspace.d.ts +1 -1
  53. package/dist/core/workspace.js +1 -1
  54. package/dist/core/zones.d.ts +4 -4
  55. package/dist/core/zones.js +5 -5
  56. package/dist/core/zones.js.map +1 -1
  57. package/dist/env.d.ts +9 -9
  58. package/dist/index.d.ts +3 -7
  59. package/dist/index.js +2 -4
  60. package/dist/index.js.map +1 -1
  61. package/dist/kernel/kernel.d.ts +31 -61
  62. package/dist/kernel/kernel.js +57 -114
  63. package/dist/kernel/kernel.js.map +1 -1
  64. package/dist/machine/allow.d.ts +17 -2
  65. package/dist/machine/allow.js +16 -6
  66. package/dist/machine/allow.js.map +1 -1
  67. package/dist/machine/lint-spec.js +68 -12
  68. package/dist/machine/lint-spec.js.map +1 -1
  69. package/dist/machine/machine.d.ts +39 -16
  70. package/dist/machine/machine.js +72 -49
  71. package/dist/machine/machine.js.map +1 -1
  72. package/dist/machine/spec-schema.d.ts +34 -179
  73. package/dist/machine/spec-schema.js +93 -106
  74. package/dist/machine/spec-schema.js.map +1 -1
  75. package/dist/machine/tool-names.d.ts +34 -10
  76. package/dist/machine/tool-names.js +41 -10
  77. package/dist/machine/tool-names.js.map +1 -1
  78. package/dist/machine/tool-paths.d.ts +6 -0
  79. package/dist/machine/tool-paths.js +10 -0
  80. package/dist/machine/tool-paths.js.map +1 -1
  81. package/dist/machine/types.d.ts +14 -38
  82. package/dist/machine/types.js.map +1 -1
  83. package/dist/machine/validate-spec.d.ts +1 -1
  84. package/dist/machine/variables.d.ts +2 -0
  85. package/dist/machine/variables.js.map +1 -1
  86. package/dist/public/sandbox.d.ts +62 -66
  87. package/dist/public/sandbox.js +22 -23
  88. package/dist/public/sandbox.js.map +1 -1
  89. package/dist/public/spec.d.ts +12 -19
  90. package/dist/public/spec.js +11 -19
  91. package/dist/public/spec.js.map +1 -1
  92. package/dist/runtime/contract.d.ts +11 -12
  93. package/dist/runtime/contract.js +16 -16
  94. package/dist/runtime/contract.js.map +1 -1
  95. package/dist/sandbox/assets/parts/code-state.js +17 -0
  96. package/dist/sandbox/executor.d.ts +25 -7
  97. package/dist/sandbox/executor.js +56 -47
  98. package/dist/sandbox/executor.js.map +1 -1
  99. package/dist/sandbox/imports.d.ts +10 -10
  100. package/dist/sandbox/imports.js +11 -11
  101. package/dist/sandbox/imports.js.map +1 -1
  102. package/dist/sandbox/prelude.d.ts +5 -6
  103. package/dist/sandbox/prelude.js +38 -35
  104. package/dist/sandbox/prelude.js.map +1 -1
  105. package/dist/sandbox/ptc-gateway.d.ts +19 -18
  106. package/dist/sandbox/ptc-gateway.js +26 -22
  107. package/dist/sandbox/ptc-gateway.js.map +1 -1
  108. package/dist/sessions/operations.js +4 -5
  109. package/dist/sessions/operations.js.map +1 -1
  110. package/dist/sessions/resume.d.ts +12 -7
  111. package/dist/sessions/resume.js +12 -9
  112. package/dist/sessions/resume.js.map +1 -1
  113. package/dist/sessions/summary.d.ts +1 -1
  114. package/dist/testing/assertions.js +9 -4
  115. package/dist/testing/assertions.js.map +1 -1
  116. package/dist/testing/case-document.d.ts +2 -0
  117. package/dist/testing/case-document.js.map +1 -1
  118. package/dist/testing/case-schema.d.ts +1 -1
  119. package/dist/testing/case-schema.js +17 -1
  120. package/dist/testing/case-schema.js.map +1 -1
  121. package/dist/testing/driver.d.ts +4 -0
  122. package/dist/testing/driver.js +22 -3
  123. package/dist/testing/driver.js.map +1 -1
  124. package/dist/testing/grade.js +3 -3
  125. package/dist/testing/grade.js.map +1 -1
  126. package/dist/testing/interpreter.d.ts +2 -2
  127. package/dist/testing/interpreter.js +1 -0
  128. package/dist/testing/interpreter.js.map +1 -1
  129. package/dist/testing/runner.d.ts +2 -2
  130. package/dist/validate/validate.d.ts +1 -1
  131. package/dist/validate/validate.js +39 -70
  132. package/dist/validate/validate.js.map +1 -1
  133. package/dist/workflow/automated-controls.d.ts +63 -0
  134. package/dist/workflow/automated-controls.js +158 -0
  135. package/dist/workflow/automated-controls.js.map +1 -0
  136. package/dist/workflow/automated.d.ts +112 -0
  137. package/dist/workflow/automated.js +163 -0
  138. package/dist/workflow/automated.js.map +1 -0
  139. package/dist/workflow/checkpointer.d.ts +7 -0
  140. package/dist/workflow/checkpointer.js +28 -0
  141. package/dist/workflow/checkpointer.js.map +1 -1
  142. package/dist/workflow/code-state.d.ts +46 -0
  143. package/dist/workflow/code-state.js +26 -0
  144. package/dist/workflow/code-state.js.map +1 -0
  145. package/dist/workflow/control-tools.d.ts +54 -23
  146. package/dist/workflow/control-tools.js +121 -77
  147. package/dist/workflow/control-tools.js.map +1 -1
  148. package/dist/workflow/file-values.d.ts +4 -4
  149. package/dist/workflow/file-values.js +1 -1
  150. package/dist/workflow/file-values.js.map +1 -1
  151. package/dist/workflow/governance.d.ts +13 -22
  152. package/dist/workflow/governance.js +51 -87
  153. package/dist/workflow/governance.js.map +1 -1
  154. package/dist/workflow/grader-state.d.ts +55 -0
  155. package/dist/workflow/grader-state.js +182 -0
  156. package/dist/workflow/grader-state.js.map +1 -0
  157. package/dist/workflow/history.d.ts +11 -0
  158. package/dist/workflow/history.js +64 -0
  159. package/dist/workflow/history.js.map +1 -0
  160. package/dist/workflow/middleware.d.ts +14 -17
  161. package/dist/workflow/middleware.js +106 -74
  162. package/dist/workflow/middleware.js.map +1 -1
  163. package/dist/workflow/move-events.d.ts +21 -0
  164. package/dist/workflow/move-events.js +20 -0
  165. package/dist/workflow/move-events.js.map +1 -0
  166. package/dist/workflow/parks.d.ts +9 -2
  167. package/dist/workflow/parks.js +16 -8
  168. package/dist/workflow/parks.js.map +1 -1
  169. package/dist/workflow/paths.d.ts +9 -9
  170. package/dist/workflow/paths.js +19 -19
  171. package/dist/workflow/paths.js.map +1 -1
  172. package/dist/workflow/render-prompt.d.ts +7 -5
  173. package/dist/workflow/render-prompt.js +22 -37
  174. package/dist/workflow/render-prompt.js.map +1 -1
  175. package/dist/workflow/signature-checks.d.ts +2 -2
  176. package/dist/workflow/snapshot.js +5 -29
  177. package/dist/workflow/snapshot.js.map +1 -1
  178. package/dist/workflow/state.d.ts +19 -6
  179. package/dist/workflow/state.js +24 -8
  180. package/dist/workflow/state.js.map +1 -1
  181. package/dist/workflow/sub-workflow.d.ts +3 -3
  182. package/dist/workflow/tool-service.d.ts +1 -9
  183. package/dist/workflow/tool-service.js +21 -24
  184. package/dist/workflow/tool-service.js.map +1 -1
  185. package/dist/workflow/turn-boundary.d.ts +2 -2
  186. package/dist/workflow/turn-boundary.js +10 -7
  187. package/dist/workflow/turn-boundary.js.map +1 -1
  188. package/dist/workflow/turn-runner.js +30 -2
  189. package/dist/workflow/turn-runner.js.map +1 -1
  190. package/package.json +1 -1
  191. package/skills/archmax-harness/README.md +5 -5
  192. package/skills/archmax-harness/SKILL.md +72 -30
  193. package/skills/archmax-harness/references/backend-integration.md +35 -23
  194. package/skills/archmax-harness/references/cases.md +44 -10
  195. package/skills/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +617 -313
  196. package/skills/archmax-harness/references/code-states-and-scripts.md +115 -0
  197. package/skills/archmax-harness/references/diagnostics.md +40 -7
  198. package/skills/archmax-harness/references/wiring.md +19 -10
  199. package/skills/archmax-harness/references/workflow-schema.md +416 -276
  200. package/skills/archmax-harness/references/workflow-yaml.md +161 -62
  201. package/dist/authoring-skill/archmax-harness/references/hooks-and-scripts.md +0 -88
  202. package/dist/lifecycle/hook-shape.d.ts +0 -44
  203. package/dist/lifecycle/hook-shape.js +0 -66
  204. package/dist/lifecycle/hook-shape.js.map +0 -1
  205. package/dist/lifecycle/runner.d.ts +0 -183
  206. package/dist/lifecycle/runner.js +0 -373
  207. package/dist/lifecycle/runner.js.map +0 -1
  208. package/dist/lifecycle/transcript.d.ts +0 -27
  209. package/dist/lifecycle/transcript.js +0 -43
  210. package/dist/lifecycle/transcript.js.map +0 -1
  211. package/dist/rubrics/rubrics.d.ts +0 -135
  212. package/dist/rubrics/rubrics.js +0 -145
  213. package/dist/rubrics/rubrics.js.map +0 -1
  214. package/dist/sandbox/assets/parts/core.js +0 -22
  215. package/dist/sandbox/assets/parts/lifecycle-hook.js +0 -47
  216. package/dist/sandbox/bridge.d.ts +0 -16
  217. package/dist/sandbox/bridge.js +0 -95
  218. package/dist/sandbox/bridge.js.map +0 -1
  219. package/skills/archmax-harness/references/hooks-and-scripts.md +0 -88
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { StructuredTool } from "@langchain/core/tools";
2
+ import type { WorkflowEventEmitter } from "../core/events.js";
3
+ import type { MountPrefixes } from "../core/mounts.js";
4
+ import type { WorkflowMachine } from "../machine/machine.js";
5
+ import { type VariableStore } from "../machine/variables.js";
6
+ import type { SessionHistory } from "./history.js";
7
+ import type { FileValueCheck } from "./signature-checks.js";
8
+ /** The one decision an automated state's run made: a move, or the end of the session. */
9
+ export type AutomatedDecision = {
10
+ kind: "advance";
11
+ to: string;
12
+ reason: string;
13
+ evidence: string[];
14
+ callId?: string;
15
+ } | {
16
+ kind: "raise";
17
+ code: string;
18
+ reason: string;
19
+ callId?: string;
20
+ };
21
+ /**
22
+ * One automated run's record of what it decided and wrote. The **live view** is
23
+ * the checkpointed session with this run's writes merged in, so a later call of
24
+ * the same run — a `requires` check, a read, a guard — sees an earlier write.
25
+ */
26
+ export interface StepRecorder {
27
+ /** The state this run is in. */
28
+ readonly state: string;
29
+ /** The session's variables as this run sees them now: the store plus its own writes. */
30
+ store(): VariableStore;
31
+ /** The checkpointed session with {@link store} in place of its variables. */
32
+ view(): unknown;
33
+ /** This run's variable writes, to commit with its outcome. */
34
+ readonly delta: VariableStore;
35
+ /** The run's decision, once one was accepted. */
36
+ readonly decision: AutomatedDecision | undefined;
37
+ }
38
+ /** A recorder the controls may write to. */
39
+ interface MutableRecorder extends StepRecorder {
40
+ decide(decision: AutomatedDecision): void;
41
+ write(delta: VariableStore): void;
42
+ }
43
+ /**
44
+ * The recorder for one run of `state` over the checkpointed `session`.
45
+ * `onWrite` is told the new live store after every accepted write — the gateway
46
+ * re-reads its guards against it.
47
+ */
48
+ export declare function createStepRecorder(state: string, session: unknown, onWrite?: (store: VariableStore) => void): MutableRecorder;
49
+ export interface AutomatedControlsContext {
50
+ machine: WorkflowMachine;
51
+ emit: WorkflowEventEmitter;
52
+ mountPrefixes: MountPrefixes;
53
+ /** The `file` type's runtime check for a session in a state; omitted, a `file` value is held to its shape alone. */
54
+ files?: (state: string, variables: VariableStore) => FileValueCheck;
55
+ }
56
+ /**
57
+ * The control tools for one automated run, bound to its recorder — in the order
58
+ * `controlTools(state)` names them, so the surface and the tools agree.
59
+ * `archmax_get_history` answers with `history`: the session as it stood when the
60
+ * state was entered.
61
+ */
62
+ export declare function createAutomatedControls(ctx: AutomatedControlsContext, recorder: MutableRecorder, history: SessionHistory): StructuredTool[];
63
+ export {};
@@ -0,0 +1,158 @@
1
+ import { tool } from "langchain";
2
+ import { ADVANCE_TOOL, GET_HISTORY_TOOL, GET_VARIABLES_TOOL, RAISE_TOOL, SET_VARIABLES_TOOL, } from "../machine/tool-names.js";
3
+ import { TITLE_VARIABLE } from "../machine/variables.js";
4
+ import { advanceEvidence, advanceSchema, fileReturnsRefusal, getVariablesSchema, handleGetVariables, handleSetVariables, raiseSchema, setVariablesSchema, transitionRefusal, } from "./control-tools.js";
5
+ import { mergeVariables, readVariables } from "./state.js";
6
+ import { z } from "zod";
7
+ /**
8
+ * The recorder for one run of `state` over the checkpointed `session`.
9
+ * `onWrite` is told the new live store after every accepted write — the gateway
10
+ * re-reads its guards against it.
11
+ */
12
+ export function createStepRecorder(state, session, onWrite) {
13
+ let store = readVariables(session);
14
+ let delta = {};
15
+ let decision;
16
+ return {
17
+ state,
18
+ store: () => store,
19
+ view: () => ({ ...session, variables: store }),
20
+ get delta() {
21
+ return delta;
22
+ },
23
+ get decision() {
24
+ return decision;
25
+ },
26
+ decide(next) {
27
+ decision = next;
28
+ },
29
+ write(written) {
30
+ delta = mergeVariables(delta, written);
31
+ store = mergeVariables(store, written);
32
+ onWrite?.(store);
33
+ },
34
+ };
35
+ }
36
+ /** The call id a governed call was made under, which the gateway hands every tool it invokes. */
37
+ function callIdOf(config) {
38
+ const id = config?.toolCallId;
39
+ return typeof id === "string" && id ? id : undefined;
40
+ }
41
+ /** Why a second decision is refused, naming the one that stands. */
42
+ function alreadyDecided(name, decision) {
43
+ const standing = decision.kind === "advance"
44
+ ? `it already moves the session to '${decision.to}'`
45
+ : `it already ends the session ('${decision.code}')`;
46
+ return new Error(`${name} rejected: this state has decided — ${standing}. One decision per state.`);
47
+ }
48
+ /**
49
+ * The control tools for one automated run, bound to its recorder — in the order
50
+ * `controlTools(state)` names them, so the surface and the tools agree.
51
+ * `archmax_get_history` answers with `history`: the session as it stood when the
52
+ * state was entered.
53
+ */
54
+ export function createAutomatedControls(ctx, recorder, history) {
55
+ const { machine, emit } = ctx;
56
+ const { state } = recorder;
57
+ const offered = machine.controlTools(state);
58
+ const terminal = machine.isTerminal(state);
59
+ const tools = [];
60
+ if (offered.has(ADVANCE_TOOL) && !terminal) {
61
+ tools.push(tool(async (input, config) => {
62
+ if (recorder.decision)
63
+ throw alreadyDecided(ADVANCE_TOOL, recorder.decision);
64
+ const evidence = advanceEvidence(machine, input.to, input.evidence ?? [], ctx.mountPrefixes);
65
+ if (!evidence.ok)
66
+ throw new Error(`${ADVANCE_TOOL} rejected: ${evidence.reason}`);
67
+ const refused = transitionRefusal(machine, state, input.to, recorder.store());
68
+ if (refused)
69
+ throw new Error(`${ADVANCE_TOOL} rejected: ${refused}`);
70
+ const callId = callIdOf(config);
71
+ recorder.decide({
72
+ kind: "advance",
73
+ to: input.to,
74
+ reason: input.reason,
75
+ evidence: evidence.paths,
76
+ ...(callId ? { callId } : {}),
77
+ });
78
+ return `Decision recorded: the session moves to '${input.to}' when this state finishes. Stop now.`;
79
+ }, {
80
+ name: ADVANCE_TOOL,
81
+ description: "Move the session along one of this state's transitions: `to` is the target's slug, " +
82
+ "`reason` is what the next state reads about why it was entered. The move takes " +
83
+ "effect when this state finishes. Call it once.",
84
+ schema: advanceSchema,
85
+ }));
86
+ }
87
+ if (offered.has(RAISE_TOOL)) {
88
+ tools.push(tool(async (input, config) => {
89
+ if (recorder.decision)
90
+ throw alreadyDecided(RAISE_TOOL, recorder.decision);
91
+ const callId = callIdOf(config);
92
+ recorder.decide({ kind: "raise", code: input.code, reason: input.reason, ...(callId ? { callId } : {}) });
93
+ return `Decision recorded: the session ends as failed ('${input.code}') when this state finishes. Stop now.`;
94
+ }, {
95
+ name: RAISE_TOOL,
96
+ description: "End the session as a failure: the work cannot be accepted and must not be retried. " +
97
+ "`code` is a short token the session's host reads, `reason` what failed. Call it once, " +
98
+ "instead of advancing.",
99
+ schema: raiseSchema,
100
+ }));
101
+ }
102
+ if (offered.has(GET_VARIABLES_TOOL)) {
103
+ tools.push(tool(async (input) => {
104
+ const reply = handleGetVariables({ toolCallId: "", args: input, state: recorder.view() });
105
+ const text = typeof reply.content === "string" ? reply.content : JSON.stringify(reply.content);
106
+ if (reply.status === "error")
107
+ throw new Error(text);
108
+ return text;
109
+ }, {
110
+ name: GET_VARIABLES_TOOL,
111
+ description: "Read the session's variables. Omit `name` for all of them; pass `path` to drill into a " +
112
+ "structured value.",
113
+ schema: getVariablesSchema,
114
+ }));
115
+ }
116
+ if (offered.has(SET_VARIABLES_TOOL)) {
117
+ tools.push(tool(async (input, config) => {
118
+ const view = recorder.view();
119
+ const fileRefusal = ctx.files
120
+ ? await fileReturnsRefusal(machine, view, input, ctx.files(state, recorder.store()))
121
+ : undefined;
122
+ const outcome = handleSetVariables({ toolCallId: "", args: input, state: view }, machine, fileRefusal);
123
+ const text = typeof outcome.message.content === "string" ? outcome.message.content : JSON.stringify(outcome.message.content);
124
+ if (!outcome.delta)
125
+ throw new Error(text);
126
+ recorder.write(outcome.delta);
127
+ const callId = callIdOf(config);
128
+ emit({
129
+ type: "variables-set",
130
+ state,
131
+ names: outcome.written ?? [],
132
+ locked: outcome.locked === true,
133
+ ...(callId ? { callId } : {}),
134
+ });
135
+ const title = outcome.delta[TITLE_VARIABLE]?.value;
136
+ if (typeof title === "string")
137
+ emit({ type: "title-set", title, state, ...(callId ? { callId } : {}) });
138
+ return text;
139
+ }, {
140
+ name: SET_VARIABLES_TOOL,
141
+ description: "Record facts for the rest of the session; values may be structured. Pass `lock: true` to " +
142
+ "make one permanent. Writing a locked variable is refused.",
143
+ schema: setVariablesSchema,
144
+ }));
145
+ }
146
+ if (offered.has(GET_HISTORY_TOOL)) {
147
+ tools.push(tool(async () => JSON.stringify(history, null, 2), {
148
+ name: GET_HISTORY_TOOL,
149
+ description: "Read the session's whole history as JSON: `messages` (every message so far, oldest " +
150
+ "first — `role` is user, assistant, tool, system or runtime; an assistant message lists " +
151
+ "the tool calls it made, and a tool message carries that call's result) and `trail` " +
152
+ "(every state the session entered, with how and why).",
153
+ schema: z.object({}),
154
+ }));
155
+ }
156
+ return tools;
157
+ }
158
+ //# sourceMappingURL=automated-controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automated-controls.js","sourceRoot":"","sources":["../../src/workflow/automated-controls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Automated states — grader and code states — as the runtime runs them.
3
+ *
4
+ * Every model call of a session crosses `wrapModelCall`, the `jumpTo: "model"`
5
+ * routes that skip `beforeModel` included. So that is where an automated state
6
+ * is run: when the session's position is a grader or a code state, the call is
7
+ * **serviced in place of the agent's model** — {@link runAutomatedStep} runs the
8
+ * state and returns a marker message carrying its outcome — and `afterModel`
9
+ * strips the marker and commits the outcome ({@link automatedOutcomeOf}). A move
10
+ * jumps back to the model, where the next state's call is serviced the same way
11
+ * (an automated state, with no model call), made for real (an agent state), or
12
+ * spent on a park's handoff (a human state). One step per graph iteration: each
13
+ * committed as its own checkpointed step, and a runaway cycle bounded by the
14
+ * session's recursion limit like any runaway turn.
15
+ *
16
+ * The outcome rides in the marker, not in memory, so a process that dies
17
+ * between the model node and `afterModel` replays the commit from the marker.
18
+ */
19
+ import type { BaseChatModel } from "@langchain/core/language_models/chat_models";
20
+ import { AIMessage } from "@langchain/core/messages";
21
+ import type { RunnableConfig } from "@langchain/core/runnables";
22
+ import type { StructuredTool } from "@langchain/core/tools";
23
+ import type { WorkflowEventEmitter } from "../core/events.js";
24
+ import type { MountPrefixes } from "../core/mounts.js";
25
+ import type { PricingTable, UsageSummary } from "../core/usage.js";
26
+ import type { WorkflowMachine } from "../machine/machine.js";
27
+ import { type VariableStore } from "../machine/variables.js";
28
+ import type { ScriptExecutor } from "../sandbox/executor.js";
29
+ import type { PtcToolGateway } from "../sandbox/ptc-gateway.js";
30
+ import { type CodeScriptResolver } from "./code-state.js";
31
+ import type { FileValueCheck } from "./signature-checks.js";
32
+ import { type TrailStep } from "./state.js";
33
+ /** An automated state's type. */
34
+ export type AutomatedType = "grader" | "code";
35
+ /**
36
+ * What one automated run settled as — exactly one of: it advanced (its decision
37
+ * stood and it finished cleanly), it raised, a terminal state completed, or it
38
+ * failed (an error, a timeout, a spent budget, or a non-terminal state that
39
+ * finished undecided).
40
+ */
41
+ export type AutomatedResult = {
42
+ kind: "advanced";
43
+ to: string;
44
+ reason: string;
45
+ evidence?: string[];
46
+ } | {
47
+ kind: "raised";
48
+ code: string;
49
+ reason: string;
50
+ } | {
51
+ kind: "completed";
52
+ } | {
53
+ kind: "failed";
54
+ reason: string;
55
+ };
56
+ /** A settled run, as the marker carries it to the commit: serializable, and the whole of what it commits. */
57
+ export interface AutomatedOutcome {
58
+ state: string;
59
+ type: AutomatedType;
60
+ result: AutomatedResult;
61
+ /** The run's variable writes. */
62
+ variables?: VariableStore;
63
+ /** What the run's own model calls cost (a grader's). */
64
+ usage?: UsageSummary;
65
+ /** The sub-runs its calls dispatched, as trail steps. */
66
+ trail?: TrailStep[];
67
+ }
68
+ /** The outcome a marker message carries, when the message is one. */
69
+ export declare function automatedOutcomeOf(message: unknown): AutomatedOutcome | undefined;
70
+ export interface AutomatedStatesContext {
71
+ machine: WorkflowMachine;
72
+ emit: WorkflowEventEmitter;
73
+ mountPrefixes: MountPrefixes;
74
+ /** Governs every tool an automated state calls, against the live state. */
75
+ ptcGateway: PtcToolGateway;
76
+ /** Runs a code state's script, reading it from the authoring backend. */
77
+ codeExecutor: ScriptExecutor;
78
+ resolveScript: CodeScriptResolver;
79
+ /** The model a grader state runs on, and its id when the instance exposes one. */
80
+ graderModel(state: string): {
81
+ model: BaseChatModel;
82
+ id?: string;
83
+ };
84
+ pricing?: PricingTable;
85
+ /** The `file` type's runtime check for a session in a state; omitted, a `file` value is held to its shape alone. */
86
+ files?: (state: string, variables: VariableStore) => FileValueCheck;
87
+ /** The sub-runs the session's calls dispatched since the last drain, as trail steps. */
88
+ dispatchSteps(sessionId: string, state: string): TrailStep[];
89
+ }
90
+ export interface AutomatedStepRequest {
91
+ sessionId: string;
92
+ /** The checkpointed session. */
93
+ session: unknown;
94
+ /** Every tool the assembly registered, before any state narrows it. */
95
+ tools: StructuredTool[];
96
+ /** The turn's config, naming the calling state. */
97
+ config: RunnableConfig;
98
+ signal?: AbortSignal;
99
+ }
100
+ /**
101
+ * Run the automated state the session stands in — one step — and return the
102
+ * marker message standing in for the model call that was not made.
103
+ *
104
+ * The state is offered exactly its surface (`disclosedTools`): the registered
105
+ * tools it names, minus the agent's control declarations, plus its own controls
106
+ * bound to this run's recorder — every one wrapped by the gateway, whose live
107
+ * context is pointed at this state first. Narrative events are emitted once the
108
+ * run has settled, so nothing announces a move the run's error then discarded.
109
+ */
110
+ export declare function runAutomatedStep(ctx: AutomatedStatesContext, request: AutomatedStepRequest): Promise<AIMessage>;
111
+ /** The runtime note an automated move or raise leaves for the session to read. */
112
+ export declare function automatedNoteText(outcome: AutomatedOutcome): string | undefined;
@@ -0,0 +1,163 @@
1
+ import { AIMessage } from "@langchain/core/messages";
2
+ import { v4 as uuidv4 } from "@langchain/core/utils/uuid";
3
+ import { TRIGGER_VARIABLE } from "../machine/variables.js";
4
+ import { createAutomatedControls, createStepRecorder } from "./automated-controls.js";
5
+ import { runCodeState } from "./code-state.js";
6
+ import { runGraderState } from "./grader-state.js";
7
+ import { sessionHistory } from "./history.js";
8
+ import { reportAdvance } from "./move-events.js";
9
+ import { currentWorkflowState, readVariables, readWorkflowState } from "./state.js";
10
+ /** Where the marker message carries its outcome. */
11
+ const AUTOMATED_STEP_KEY = "archmax_automated_step";
12
+ /** The outcome a marker message carries, when the message is one. */
13
+ export function automatedOutcomeOf(message) {
14
+ const kwargs = message?.additional_kwargs;
15
+ const outcome = kwargs?.[AUTOMATED_STEP_KEY];
16
+ return outcome && typeof outcome === "object" ? outcome : undefined;
17
+ }
18
+ /** The variables as a script reads them: a flat `name → value` map. */
19
+ function flatVariables(store) {
20
+ return Object.fromEntries(Object.entries(store).map(([name, entry]) => [name, entry.value]));
21
+ }
22
+ /** How a run settles, from its decision and whether it finished cleanly. */
23
+ function settle(machine, state, type, decision, error) {
24
+ // A raise ends the session whatever the run did next; an error discards a move.
25
+ if (decision?.kind === "raise")
26
+ return { kind: "raised", code: decision.code, reason: decision.reason };
27
+ if (error !== undefined)
28
+ return { kind: "failed", reason: error };
29
+ if (decision?.kind === "advance") {
30
+ return {
31
+ kind: "advanced",
32
+ to: decision.to,
33
+ reason: decision.reason,
34
+ ...(decision.evidence.length > 0 ? { evidence: decision.evidence } : {}),
35
+ };
36
+ }
37
+ if (machine.isTerminal(state))
38
+ return { kind: "completed" };
39
+ return {
40
+ kind: "failed",
41
+ reason: `${type} state '${state}' finished without calling archmax_advance or archmax_raise`,
42
+ };
43
+ }
44
+ /**
45
+ * Run the automated state the session stands in — one step — and return the
46
+ * marker message standing in for the model call that was not made.
47
+ *
48
+ * The state is offered exactly its surface (`disclosedTools`): the registered
49
+ * tools it names, minus the agent's control declarations, plus its own controls
50
+ * bound to this run's recorder — every one wrapped by the gateway, whose live
51
+ * context is pointed at this state first. Narrative events are emitted once the
52
+ * run has settled, so nothing announces a move the run's error then discarded.
53
+ */
54
+ export async function runAutomatedStep(ctx, request) {
55
+ const { machine, emit } = ctx;
56
+ const { sessionId, session, config } = request;
57
+ const state = currentWorkflowState(session, machine.entry);
58
+ const type = machine.isGraderState(state) ? "grader" : "code";
59
+ const declared = machine.spec.states[state];
60
+ const refresh = (variables) => ctx.ptcGateway.refresh(sessionId, { state, config, replyOnly: false, variables });
61
+ refresh(readVariables(session));
62
+ const recorder = createStepRecorder(state, session, refresh);
63
+ const history = sessionHistory(session);
64
+ const surface = machine.disclosedTools(state);
65
+ const controls = machine.controlTools(state);
66
+ const own = request.tools.filter((tool) => surface.has(tool.name) && !controls.has(tool.name));
67
+ const tools = ctx.ptcGateway.wrap([...own, ...createAutomatedControls(ctx, recorder, history)], { origin: type === "grader" ? "agent" : "script", sessionId });
68
+ const startedAt = Date.now();
69
+ let error;
70
+ let usage;
71
+ if (type === "code") {
72
+ emit({ type: "code-start", state, script: declared?.script ?? "" });
73
+ const trigger = readWorkflowState(session).trigger?.id;
74
+ const input = { state, ...(trigger ? { trigger } : {}), variables: flatVariables(recorder.store()) };
75
+ ({ error } = await runCodeState({
76
+ emit,
77
+ executor: ctx.codeExecutor,
78
+ resolveScript: ctx.resolveScript,
79
+ sessionId,
80
+ state,
81
+ script: declared?.script ?? "",
82
+ input,
83
+ tools,
84
+ surface: [...surface],
85
+ ...(request.signal ? { signal: request.signal } : {}),
86
+ }));
87
+ }
88
+ else {
89
+ emit({ type: "grader-start", state });
90
+ const { model, id } = ctx.graderModel(state);
91
+ ({ error, usage } = await runGraderState({
92
+ machine,
93
+ emit,
94
+ ...(ctx.pricing ? { pricing: ctx.pricing } : {}),
95
+ state,
96
+ model,
97
+ ...(id ? { modelId: id } : {}),
98
+ tools,
99
+ recorder,
100
+ ...(request.signal ? { signal: request.signal } : {}),
101
+ }));
102
+ }
103
+ const decision = recorder.decision;
104
+ const result = settle(machine, state, type, decision, error);
105
+ const failed = result.kind === "failed";
106
+ emit({
107
+ type: type === "code" ? "code-result" : "grader-result",
108
+ state,
109
+ status: failed ? "error" : "ok",
110
+ durationMs: Date.now() - startedAt,
111
+ ...(failed ? { reason: result.reason } : {}),
112
+ });
113
+ if (result.kind === "advanced") {
114
+ reportAdvance(emit, sessionId, {
115
+ from: state,
116
+ to: result.to,
117
+ reason: result.reason,
118
+ ...(decision?.callId ? { callId: decision.callId } : {}),
119
+ parks: machine.isHumanState(result.to),
120
+ });
121
+ }
122
+ else if (result.kind === "raised") {
123
+ emit({
124
+ type: "raised",
125
+ state,
126
+ sessionId,
127
+ code: result.code,
128
+ reason: result.reason,
129
+ ...(decision?.callId ? { callId: decision.callId } : {}),
130
+ });
131
+ // The session leaves the state it failed in as a completing one does; nothing is entered.
132
+ emit({ type: "state-leave", state, next: state });
133
+ }
134
+ // The built-in `trigger` is the turn's, set at its boundary: never a run's write.
135
+ const { [TRIGGER_VARIABLE]: _trigger, ...variables } = recorder.delta;
136
+ const trail = ctx.dispatchSteps(sessionId, state);
137
+ const outcome = {
138
+ state,
139
+ type,
140
+ result,
141
+ ...(Object.keys(variables).length > 0 ? { variables } : {}),
142
+ ...(usage ? { usage } : {}),
143
+ ...(trail.length > 0 ? { trail } : {}),
144
+ };
145
+ return new AIMessage({
146
+ content: "",
147
+ id: `automated_${uuidv4()}`,
148
+ additional_kwargs: { [AUTOMATED_STEP_KEY]: outcome },
149
+ });
150
+ }
151
+ /** The runtime note an automated move or raise leaves for the session to read. */
152
+ export function automatedNoteText(outcome) {
153
+ const { state, type, result } = outcome;
154
+ const who = type === "grader" ? `The '${state}' grader` : `'${state}'`;
155
+ if (result.kind === "advanced") {
156
+ return `[${type}] ${who} moved the run to '${result.to}': ${result.reason}. You are now in '${result.to}'.`;
157
+ }
158
+ if (result.kind === "raised") {
159
+ return `[${type}] ${who} ended the session as failed ('${result.code}'): ${result.reason}`;
160
+ }
161
+ return undefined;
162
+ }
163
+ //# sourceMappingURL=automated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automated.js","sourceRoot":"","sources":["../../src/workflow/automated.ts"],"names":[],"mappings":"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"}