@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.
- package/README.md +58 -14
- package/dist/agent.d.ts +4 -4
- package/dist/agent.js +4 -4
- package/dist/assembly/compose.d.ts +5 -24
- package/dist/assembly/compose.js +40 -41
- 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 +18 -15
- package/dist/assembly/index.js +50 -32
- 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 +35 -23
- package/dist/authoring-skill/archmax-harness/references/cases.md +44 -10
- package/dist/authoring-skill/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +617 -313
- 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 +416 -276
- package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +161 -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 +2 -3
- package/dist/cli/turn.js.map +1 -1
- package/dist/core/clock.d.ts +26 -0
- package/dist/core/clock.js +64 -0
- package/dist/core/clock.js.map +1 -0
- package/dist/core/code-description.d.ts +3 -3
- package/dist/core/code-description.js +3 -3
- package/dist/core/deepagents.d.ts +5 -5
- package/dist/core/deepagents.js +4 -4
- 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 +22 -2
- package/dist/core/message-readers.js +31 -0
- package/dist/core/message-readers.js.map +1 -1
- package/dist/core/messages.d.ts +1 -23
- package/dist/core/messages.js +2 -35
- 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 +57 -114
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/machine/allow.d.ts +17 -2
- package/dist/machine/allow.js +16 -6
- package/dist/machine/allow.js.map +1 -1
- package/dist/machine/lint-spec.js +68 -12
- package/dist/machine/lint-spec.js.map +1 -1
- package/dist/machine/machine.d.ts +39 -16
- package/dist/machine/machine.js +72 -49
- package/dist/machine/machine.js.map +1 -1
- package/dist/machine/spec-schema.d.ts +34 -179
- package/dist/machine/spec-schema.js +93 -106
- package/dist/machine/spec-schema.js.map +1 -1
- package/dist/machine/tool-names.d.ts +34 -10
- package/dist/machine/tool-names.js +41 -10
- package/dist/machine/tool-names.js.map +1 -1
- package/dist/machine/tool-paths.d.ts +6 -0
- package/dist/machine/tool-paths.js +10 -0
- package/dist/machine/tool-paths.js.map +1 -1
- package/dist/machine/types.d.ts +14 -38
- package/dist/machine/types.js.map +1 -1
- package/dist/machine/validate-spec.d.ts +1 -1
- package/dist/machine/variables.d.ts +2 -0
- package/dist/machine/variables.js.map +1 -1
- package/dist/public/sandbox.d.ts +62 -66
- package/dist/public/sandbox.js +22 -23
- package/dist/public/sandbox.js.map +1 -1
- package/dist/public/spec.d.ts +12 -19
- package/dist/public/spec.js +11 -19
- 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 -47
- 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/operations.js +4 -5
- package/dist/sessions/operations.js.map +1 -1
- package/dist/sessions/resume.d.ts +12 -7
- package/dist/sessions/resume.js +12 -9
- package/dist/sessions/resume.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/case-document.d.ts +2 -0
- package/dist/testing/case-document.js.map +1 -1
- package/dist/testing/case-schema.d.ts +1 -1
- package/dist/testing/case-schema.js +17 -1
- package/dist/testing/case-schema.js.map +1 -1
- package/dist/testing/driver.d.ts +4 -0
- package/dist/testing/driver.js +22 -3
- package/dist/testing/driver.js.map +1 -1
- package/dist/testing/grade.js +3 -3
- package/dist/testing/grade.js.map +1 -1
- package/dist/testing/interpreter.d.ts +2 -2
- package/dist/testing/interpreter.js +1 -0
- package/dist/testing/interpreter.js.map +1 -1
- 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/checkpointer.d.ts +7 -0
- package/dist/workflow/checkpointer.js +28 -0
- package/dist/workflow/checkpointer.js.map +1 -1
- 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 +121 -77
- 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 +13 -22
- package/dist/workflow/governance.js +51 -87
- 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/workflow/history.js +64 -0
- package/dist/workflow/history.js.map +1 -0
- package/dist/workflow/middleware.d.ts +14 -17
- package/dist/workflow/middleware.js +106 -74
- 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/parks.d.ts +9 -2
- package/dist/workflow/parks.js +16 -8
- 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 +19 -6
- package/dist/workflow/state.js +24 -8
- package/dist/workflow/state.js.map +1 -1
- package/dist/workflow/sub-workflow.d.ts +3 -3
- 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 -7
- package/dist/workflow/turn-boundary.js.map +1 -1
- package/dist/workflow/turn-runner.js +30 -2
- 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 +35 -23
- package/skills/archmax-harness/references/cases.md +44 -10
- package/skills/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +617 -313
- 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 +416 -276
- package/skills/archmax-harness/references/workflow-yaml.md +161 -62
- package/dist/authoring-skill/archmax-harness/references/hooks-and-scripts.md +0 -88
- 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 -183
- package/dist/lifecycle/runner.js +0 -373
- package/dist/lifecycle/runner.js.map +0 -1
- package/dist/lifecycle/transcript.d.ts +0 -27
- package/dist/lifecycle/transcript.js +0 -43
- 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/skills/archmax-harness/references/hooks-and-scripts.md +0 -88
package/dist/assembly/index.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Takes Deep Agents' parameters verbatim and adds `workflow`: omit it for a
|
|
5
5
|
* plain Deep Agent, supply it and the same agent is governed by that machine.
|
|
6
|
-
* Every file the assembly reads — machine spec, system prompt,
|
|
7
|
-
* scripts — is served through a configured backend, never via direct `fs`, and
|
|
6
|
+
* Every file the assembly reads — machine spec, system prompt, code-state and
|
|
7
|
+
* agent scripts — is served through a configured backend, never via direct `fs`, and
|
|
8
8
|
* the authored governance plane is served by a *separate* backend the agent's
|
|
9
9
|
* workspace has no route to.
|
|
10
10
|
*/
|
|
@@ -25,17 +25,18 @@ import { DEFAULT_TRIGGER_ID, resolveTrigger } from "../machine/triggers.js";
|
|
|
25
25
|
import { buildSeededVariables, VARIABLE_NAME_PATTERN } from "../machine/variables.js";
|
|
26
26
|
import { SEED_VARIABLES_KEY } from "../sessions/scope.js";
|
|
27
27
|
import { isRuntimeContractSupported, resolveRuntimeContract, UnsupportedRuntimeContractError, } from "../runtime/contract.js";
|
|
28
|
-
import { rubricsAsSubagents, rubricsFromSpec } from "../rubrics/rubrics.js";
|
|
29
28
|
import { createArtifactEmitter, createSessionOperations, createSpecSnapshotReader, } from "../sessions/operations.js";
|
|
30
29
|
import { resolveSession } from "../sessions/resolve.js";
|
|
31
30
|
import { decide, deliver, EmptyMessageError, InvalidTurnFileError, outcomeOf, reply, resume, settle, } from "../sessions/resume.js";
|
|
32
31
|
import { createSessionFiles, isPlainFileName } from "../core/attachments.js";
|
|
32
|
+
import { turnAnchorOf } from "../core/messages.js";
|
|
33
33
|
import { BackendCheckpointSaver } from "../workflow/checkpointer.js";
|
|
34
34
|
import { DEFAULT_WORKFLOW, workflowPaths } from "../workflow/paths.js";
|
|
35
35
|
import { createPlainTurnRunner } from "../workflow/turn-runner.js";
|
|
36
36
|
import { composeGoverned, renderSystemPrompt, sessionBinder } from "./compose.js";
|
|
37
37
|
import { createDelegationRegistry } from "./delegation-registry.js";
|
|
38
38
|
import { composePlain } from "./plain.js";
|
|
39
|
+
import { parseClock } from "../core/clock.js";
|
|
39
40
|
/** Assemble an agent. See the module note. */
|
|
40
41
|
export async function createAgent(params = {}) {
|
|
41
42
|
const workspaceParams = params.workspace ?? {};
|
|
@@ -43,6 +44,13 @@ export async function createAgent(params = {}) {
|
|
|
43
44
|
// The namespace is a guarantee, not a convention: a host tool wearing it is
|
|
44
45
|
// refused before anything is assembled, on both paths.
|
|
45
46
|
assertNoReservedToolNames(params.tools);
|
|
47
|
+
// A pin that cannot be read fails assembly, before anything is composed.
|
|
48
|
+
try {
|
|
49
|
+
parseClock(params.clock ?? "");
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
throw new Error(`createAgent: 'clock' ${err.message}`, { cause: err });
|
|
53
|
+
}
|
|
46
54
|
// `false` declares the agent ungoverned: nothing is looked for. Otherwise a
|
|
47
55
|
// named workflow — or the default — is read off the authoring backend.
|
|
48
56
|
const governed = params.workflow !== false;
|
|
@@ -73,10 +81,6 @@ export async function createAgent(params = {}) {
|
|
|
73
81
|
if (issue.kind !== "missing")
|
|
74
82
|
emit({ type: "warning", scope: "workflow", message: issue.message });
|
|
75
83
|
}
|
|
76
|
-
// Grading rubrics come from the spec that was just loaded — no directory to
|
|
77
|
-
// list, no file format to parse, and nothing to merge: a grader is declared on
|
|
78
|
-
// the hook that applies it, so it arrives with the machine and is scoped to it.
|
|
79
|
-
const rubrics = rubricsFromSpec(loaded.spec ?? { states: {} });
|
|
80
84
|
// Skills are discovered once; the resolved registry is the single input to
|
|
81
85
|
// what the kernel refuses, what the prompt names, and what a listing returns.
|
|
82
86
|
const skillSources = params.skills ?? [...DEFAULT_SKILL_SOURCES];
|
|
@@ -131,20 +135,24 @@ export async function createAgent(params = {}) {
|
|
|
131
135
|
};
|
|
132
136
|
// Pricing feeds `costUsd` on usage events (host option first, then env).
|
|
133
137
|
const pricing = params.pricing ?? loadPricingEnv();
|
|
134
|
-
// The
|
|
135
|
-
//
|
|
136
|
-
//
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
138
|
+
// The model a grader state runs on: the `grader` role, asked for the id its
|
|
139
|
+
// state declares (else its workflow's `settings.model`), and memoized per
|
|
140
|
+
// distinct id. A host's factory decides what the role and the id mean; without
|
|
141
|
+
// one, an explicit `model` outranks every declared id as it does for the
|
|
142
|
+
// agent, and otherwise the env-configured model runs at the declared id.
|
|
143
|
+
const graderModels = new Map();
|
|
144
|
+
const graderModel = (id) => {
|
|
145
|
+
const key = id ?? "";
|
|
146
|
+
let resolved = graderModels.get(key);
|
|
147
|
+
if (!resolved) {
|
|
148
|
+
resolved = params.modelFactory
|
|
149
|
+
? params.modelFactory("grader", env, id)
|
|
150
|
+
: params.model !== undefined || id === undefined
|
|
151
|
+
? model
|
|
152
|
+
: createChatModel({ ...env(), model: id });
|
|
153
|
+
graderModels.set(key, resolved);
|
|
146
154
|
}
|
|
147
|
-
return
|
|
155
|
+
return resolved;
|
|
148
156
|
};
|
|
149
157
|
const ctx = {
|
|
150
158
|
params,
|
|
@@ -161,9 +169,7 @@ export async function createAgent(params = {}) {
|
|
|
161
169
|
model,
|
|
162
170
|
agentModel,
|
|
163
171
|
honoursDeclaredModels: params.model === undefined,
|
|
164
|
-
|
|
165
|
-
rubricModel,
|
|
166
|
-
subagents: rubricsAsSubagents(rubrics, rubricModel),
|
|
172
|
+
graderModel,
|
|
167
173
|
skillSources,
|
|
168
174
|
skillRegistry,
|
|
169
175
|
skillTable: skillPrefixes(skillRegistry),
|
|
@@ -175,14 +181,23 @@ export async function createAgent(params = {}) {
|
|
|
175
181
|
if (skillRegistry.size > 0)
|
|
176
182
|
emit({ type: "skills-loaded", names: [...skillRegistry.keys()] });
|
|
177
183
|
// The session-level members every agent carries, governed or plain.
|
|
178
|
-
const members = (graph,
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
const members = (graph, release, toolMocks) => {
|
|
185
|
+
// The default saver also frees the session's checkpoints, which the store still holds; a
|
|
186
|
+
// host's own checkpointer may hold the only copy, so it is left alone.
|
|
187
|
+
const dispose = (sessionId) => {
|
|
188
|
+
release(sessionId);
|
|
189
|
+
if (checkpointer instanceof BackendCheckpointSaver)
|
|
190
|
+
checkpointer.evict(sessionId);
|
|
191
|
+
};
|
|
192
|
+
return {
|
|
193
|
+
dispose,
|
|
194
|
+
runtimeContract,
|
|
195
|
+
toolMocks,
|
|
196
|
+
emitRunArtifacts: createArtifactEmitter({ graph, machine, workspace, workflowName, runtimeContract, usage, emit }),
|
|
197
|
+
sessions: createSessionOperations({ checkpointer, sessionStore, workspace, mountPrefixes, dispose }),
|
|
198
|
+
getSpecSnapshot: createSpecSnapshotReader(workspace),
|
|
199
|
+
};
|
|
200
|
+
};
|
|
186
201
|
if (!machine) {
|
|
187
202
|
const plain = composePlain(ctx, systemPrompt);
|
|
188
203
|
// Bound like a governed session: `configurable.thread_id` names the session
|
|
@@ -296,8 +311,11 @@ export async function createAgent(params = {}) {
|
|
|
296
311
|
...(Object.keys(seeds).length > 0 ? { [SEED_VARIABLES_KEY]: seeds } : {}),
|
|
297
312
|
},
|
|
298
313
|
});
|
|
314
|
+
// Where this turn begins, so the outcome's reply is what this turn said.
|
|
315
|
+
const before = await checkpointer.getTuple({ configurable: { thread_id: sessionId } });
|
|
316
|
+
const anchor = turnAnchorOf(before?.checkpoint.channel_values?.messages);
|
|
299
317
|
const result = await driver.invoke({ messages: [{ role: "user", content: message }], trigger }, turnConfig);
|
|
300
|
-
return outcomeOf(settle(result, sessionId), "turn");
|
|
318
|
+
return outcomeOf(settle(result, anchor, sessionId), "turn");
|
|
301
319
|
},
|
|
302
320
|
};
|
|
303
321
|
return new ArchmaxAgent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assembly/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assembly/index.ts"],"names":[],"mappings":"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"}
|
package/dist/assembly/plain.js
CHANGED
|
@@ -7,7 +7,7 @@ import { createFileOperationTools } from "../core/file-operations.js";
|
|
|
7
7
|
import { asCompiledAgentGraph } from "../core/deepagents.js";
|
|
8
8
|
import { TOOL_MOCK_MIDDLEWARE_NAME } from "../core/tool-mocks.js";
|
|
9
9
|
import { withoutDeletion } from "../core/workspace-router.js";
|
|
10
|
-
import { fileReadMiddleware, frameworkPassthrough,
|
|
10
|
+
import { fileReadMiddleware, frameworkPassthrough, todoMiddleware, } from "./compose.js";
|
|
11
11
|
/**
|
|
12
12
|
* A skill source as upstream's middleware wants it: a leading-slash,
|
|
13
13
|
* trailing-slash POSIX path. The assembly's own sources are workspace-relative
|
|
@@ -33,7 +33,6 @@ export function composePlain(ctx, systemPrompt) {
|
|
|
33
33
|
// The file tools are Deep Agents' plus the runtime's file operations, as on
|
|
34
34
|
// the governed path; no kernel runs here, so read-only mounts are what refuse.
|
|
35
35
|
tools: [...createFileOperationTools(ctx), ...(ctx.params.tools ?? [])],
|
|
36
|
-
...rubricParams(ctx),
|
|
37
36
|
middleware,
|
|
38
37
|
systemPrompt: { prefix: systemPrompt, base: null },
|
|
39
38
|
checkpointer: ctx.checkpointer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/assembly/plain.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAA2B,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/assembly/plain.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAA2B,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GAEf,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC;AAC/D,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,YAAY,CAC1B,GAAoB,EACpB,YAAoB;IAEpB,gFAAgF;IAChF,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,4EAA4E;QAC5E,yDAAyD;QACzD,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;QACrC,uEAAuE;QACvE,4EAA4E;QAC5E,yDAAyD;QACzD,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;QAC3C,4EAA4E;QAC5E,+EAA+E;QAC/E,KAAK,EAAE,CAAC,GAAG,wBAAwB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACtE,UAAU;QACV,YAAY,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;QAClD,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC;QAC5C,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC;KACxE,CAAC;AACJ,CAAC"}
|
|
@@ -5,10 +5,10 @@ Cursor, Codex, …) how to **build with** the
|
|
|
5
5
|
[`@archmax-ai/harness`](https://www.npmjs.com/package/@archmax-ai/harness) runtime:
|
|
6
6
|
|
|
7
7
|
1. **Author a workflow** — a `workflow.yaml` state machine plus its skills,
|
|
8
|
-
|
|
8
|
+
grader and code states, scripts, tool governance, and cases.
|
|
9
9
|
2. **Wire the runtime into a backend** — assemble an agent with
|
|
10
10
|
`createAgent`, run a workflow, resume human-in-the-loop states, and
|
|
11
|
-
stream
|
|
11
|
+
stream the event stream / session artifacts so a frontend can visualize session state.
|
|
12
12
|
|
|
13
13
|
## Install
|
|
14
14
|
|
|
@@ -50,16 +50,16 @@ separate submission step.
|
|
|
50
50
|
| --- | --- |
|
|
51
51
|
| `SKILL.md` | The entry point, loaded when the skill triggers: procedure, workspace layout, CLI, and a table saying which short reference to load for which task |
|
|
52
52
|
| `references/workflow-yaml.md` | Short: every `workflow.yaml` key as an annotated skeleton, machine rules, governance |
|
|
53
|
-
| `references/
|
|
53
|
+
| `references/code-states-and-scripts.md` | Short: the code-state script and `archmax_run` contracts |
|
|
54
54
|
| `references/cases.md` | Short: the case grammar (keys, actions, assertions, mocking rule) |
|
|
55
55
|
| `references/diagnostics.md` | Short: every `validate` diagnostic → its fix; removed keys |
|
|
56
56
|
| `references/wiring.md` | Short: `createAgent`, human states, events, artifacts |
|
|
57
57
|
| `references/workflow-schema.md` | Exhaustive `workflow.yaml` field reference + annotated example |
|
|
58
|
-
| `references/
|
|
58
|
+
| `references/code-state-and-test-scripts.md` | Full code-state script, grader + cases contracts with worked examples |
|
|
59
59
|
| `references/backend-integration.md` | Full `createAgent` / events / run-artifact integration reference |
|
|
60
60
|
|
|
61
61
|
The skill is **self-contained** — no external docs are required to use it. It
|
|
62
|
-
targets **runtime contract version `"
|
|
62
|
+
targets **runtime contract version `"3"`**.
|
|
63
63
|
|
|
64
64
|
## Naming note
|
|
65
65
|
|
|
@@ -3,13 +3,13 @@ name: archmax-harness
|
|
|
3
3
|
description: >-
|
|
4
4
|
Build with the @archmax-ai/harness runtime for LangChain Deep Agents. Use this
|
|
5
5
|
whenever you are designing, editing or fixing a workflow state machine (a
|
|
6
|
-
workflow.yaml with states, transitions,
|
|
7
|
-
governance,
|
|
6
|
+
workflow.yaml with states, transitions, grader and code states, tool and skill
|
|
7
|
+
governance, scripts, cases, or skill bundles), OR wiring the
|
|
8
8
|
@archmax-ai/harness npm package into a backend service — assembling an agent with
|
|
9
9
|
createAgent, running a workflow, resuming human-in-the-loop states, or
|
|
10
|
-
streaming
|
|
10
|
+
streaming the event stream / session artifacts so a frontend can visualize a
|
|
11
11
|
run. Trigger this skill for phrases like "design a workflow", "author a
|
|
12
|
-
workflow.yaml", "add a state/transition/
|
|
12
|
+
workflow.yaml", "add a state/transition/check", "archmax validate fails", "run
|
|
13
13
|
an agent workflow from my worker", or "integrate @archmax-ai/harness" even when the
|
|
14
14
|
runtime is not named explicitly.
|
|
15
15
|
---
|
|
@@ -20,7 +20,8 @@ The archmax harness is a thin, governed runtime over
|
|
|
20
20
|
[LangChain Deep Agents](https://docs.langchain.com/oss/javascript/deepagents/overview):
|
|
21
21
|
one Deep Agent per workflow, moved by a declarative state machine
|
|
22
22
|
(`workflow.yaml`). It holds no use-case logic — a **workspace** supplies it.
|
|
23
|
-
Runtime contract: `runtime: { engine: archmax-harness, version: "
|
|
23
|
+
Runtime contract: `runtime: { engine: archmax-harness, version: "3" }` in every spec
|
|
24
|
+
(omitted resolves to `3`; `1` and `2` are refused).
|
|
24
25
|
|
|
25
26
|
**Read by task, not by curiosity.** This file holds the procedure, the
|
|
26
27
|
workspace layout and the commands. Load exactly the short reference your next
|
|
@@ -29,12 +30,12 @@ file needs, once, and nothing else:
|
|
|
29
30
|
| You are about to… | Load |
|
|
30
31
|
| --- | --- |
|
|
31
32
|
| write or edit `workflow.yaml` | [`references/workflow-yaml.md`](references/workflow-yaml.md) — every key, machine rules, governance |
|
|
32
|
-
| write a script — a
|
|
33
|
+
| write a script — a code state's `workflows/<slug>/scripts/*.js` or a skill's `scripts/*.js` (`archmax_run`) | [`references/code-states-and-scripts.md`](references/code-states-and-scripts.md); sequence the skill case with the *Script playbook* below |
|
|
33
34
|
| write or fix a case (`tests/*.test.yaml`) | [`references/cases.md`](references/cases.md) |
|
|
34
35
|
| fix what `archmax validate` / `archmax test` reported | [`references/diagnostics.md`](references/diagnostics.md) |
|
|
35
36
|
| embed the package in a service | [`references/wiring.md`](references/wiring.md) |
|
|
36
37
|
|
|
37
|
-
The long references — `workflow-schema.md`, `
|
|
38
|
+
The long references — `workflow-schema.md`, `code-state-and-test-scripts.md`,
|
|
38
39
|
`backend-integration.md` — are exhaustive; open a **section** of one only when
|
|
39
40
|
the short reference says so or a field's exact semantics are in doubt. Do
|
|
40
41
|
**not** read the SDK source, do not `ls`/`glob` a workspace to discover its
|
|
@@ -58,8 +59,14 @@ then verify. Do not write a file, validate, and discover the next file.
|
|
|
58
59
|
`description`, which is what the agent knows about where the edge leads. Leave
|
|
59
60
|
an edge undescribed only when the target's `instructions` already say when it
|
|
60
61
|
applies: the agent is then shown them instead (never on a human state's
|
|
61
|
-
transitions, whose description is the button label
|
|
62
|
-
|
|
62
|
+
transitions, whose description is the button label, and never on an edge
|
|
63
|
+
into a grader, whose instructions are criteria the work is never shown, or
|
|
64
|
+
into a code state, which has none; a code state's own edges may go
|
|
65
|
+
undescribed, since its script routes). **Checks are states too**: sketch
|
|
66
|
+
each deterministic check as a code state and each judgment (tone,
|
|
67
|
+
completeness) as a grader state, with its edges — onward, back to the work
|
|
68
|
+
it checks, and where it gives up (see *Checks are states* below). If something outside the session calls the workflow (another
|
|
69
|
+
workflow, a host's MCP tool or form), give its trigger a
|
|
63
70
|
`description` for the caller and a `requires`/`returns` signature, typing an
|
|
64
71
|
entry (`{ name, type, description }`; `string` `integer` `number` `boolean`
|
|
65
72
|
`date` `date-time` `object` `array` `file`) where the caller must build or read the
|
|
@@ -72,10 +79,10 @@ then verify. Do not write a file, validate, and discover the next file.
|
|
|
72
79
|
them; where a person must always be reached instead, forbid the tool in
|
|
73
80
|
that state.
|
|
74
81
|
2. **Decide the file set** from the sketch: `workflow.yaml` always; one
|
|
75
|
-
`
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
failure a host branches on; a
|
|
82
|
+
`scripts/<check>.js` per code state (a grader needs no file: its criteria
|
|
83
|
+
are its `instructions`); cases — one happy path per branch, one per path a
|
|
84
|
+
check declines or sends back, one `decide:` per human state, one `raised:`
|
|
85
|
+
per failure a host branches on; a
|
|
79
86
|
`skills/<capability>/` bundle only for data, an `archmax_run` script, or
|
|
80
87
|
guidance two or more states share identically; `AGENTS.md` only for a
|
|
81
88
|
workspace-wide persona.
|
|
@@ -95,9 +102,9 @@ then verify. Do not write a file, validate, and discover the next file.
|
|
|
95
102
|
a model (`settings.model`, or `model:` on one state) only where the work
|
|
96
103
|
differs in kind — a small model on mechanical states, the default on
|
|
97
104
|
drafting, judgement and heavy-routing ones.
|
|
98
|
-
4. **Write
|
|
99
|
-
case's `title` + `description`),
|
|
100
|
-
disagreeing. Before writing a case, settle what to mock ([`references/cases.md`](references/cases.md)).
|
|
105
|
+
4. **Write code-state scripts, grader criteria, cases** — description first (a
|
|
106
|
+
script's JSDoc, a grader's give-up rule, a case's `title` + `description`),
|
|
107
|
+
then the body, and never leave the two disagreeing. Before writing a case, settle what to mock ([`references/cases.md`](references/cases.md)).
|
|
101
108
|
5. **Verify**: `archmax validate <slug>` → fix every error (and every warning
|
|
102
109
|
you can) → `archmax test <slug>`. Never call a workflow done without a clean
|
|
103
110
|
`validate`.
|
|
@@ -113,8 +120,9 @@ then verify. Do not write a file, validate, and discover the next file.
|
|
|
113
120
|
`succeeded`, `trail`) is a routing or governance defect — fix the routing state's
|
|
114
121
|
`instructions`, the transition `description`s, or the `tools`/`skills`
|
|
115
122
|
grants; a **content** miss (`reply`, `calledTool`, `grade`) is an
|
|
116
|
-
`instructions` defect in the state that answered; a
|
|
117
|
-
|
|
123
|
+
`instructions` defect in the state that answered; a decline the reply
|
|
124
|
+
quotes, or a send-back the agent keeps failing, is a code or grader state
|
|
125
|
+
speaking — fix what it names (or the check, when it is wrong). Change the
|
|
118
126
|
case only when it asserts something the spec never promised.
|
|
119
127
|
4. A `grade` miss is the one non-deterministic assertion: re-run that case
|
|
120
128
|
once before calling it a regression. Re-run with `--verbose` for raw
|
|
@@ -126,7 +134,7 @@ instead.
|
|
|
126
134
|
|
|
127
135
|
**Shapes come from tools, not from research.** Before naming any field of a
|
|
128
136
|
tool's result or a trigger's payload — in `instructions`, a `${{…}}` guard, a
|
|
129
|
-
|
|
137
|
+
code-state script — ask the host: a platform embedding this runtime typically exposes
|
|
130
138
|
describe-style tools (a tool's input and output schema, a trigger's payload
|
|
131
139
|
schema and sample) and a way to sample or invoke once with a narrow input. Call
|
|
132
140
|
those first; fall back to a recorded session's variables (`archmax sessions <id>`)
|
|
@@ -143,7 +151,7 @@ Deterministic work the model triggers with `archmax_run`. In order:
|
|
|
143
151
|
2. **Write it.** `skills/<cap>/scripts/<x>.js`: JSDoc, then the body. Input is the
|
|
144
152
|
global `args` — `args.<param>` from the model plus `args.variables`, a read-only
|
|
145
153
|
snapshot — and the **last expression** is the result. Contract:
|
|
146
|
-
[`references/
|
|
154
|
+
[`references/code-states-and-scripts.md`](references/code-states-and-scripts.md).
|
|
147
155
|
3. **Land the result in a variable.** Return structured data, and name the variable
|
|
148
156
|
in the calling state's `requires:`. A script may not call
|
|
149
157
|
`archmax_set_variables`, so `requires` is what makes the model record the return;
|
|
@@ -173,7 +181,39 @@ instructions: >-
|
|
|
173
181
|
|
|
174
182
|
Exact — a retyped copy truncates and drifts, a reference cannot — and it agrees by
|
|
175
183
|
construction with a guard on the same variable. Not available in scripts, which
|
|
176
|
-
read `args.variables
|
|
184
|
+
read `args.variables` (a code state's script: `variables`); a grader's own tool
|
|
185
|
+
arguments get it like the agent's. To write the characters literally: `$${{name}}`.
|
|
186
|
+
|
|
187
|
+
### Checks are states (grader and code states)
|
|
188
|
+
|
|
189
|
+
A check is a state on the graph, never a slot inside one. A `type: code` state
|
|
190
|
+
runs `script: scripts/<x>.js` and a `type: grader` state runs an isolated grader
|
|
191
|
+
whose criteria are its `instructions`; both run on entry with **no call of the
|
|
192
|
+
agent's model**, are offered only **their own state's** tools (grant there what
|
|
193
|
+
the check reads; never `write_todos`, `archmax_eval`, `archmax_run`, `archmax_wait`
|
|
194
|
+
or `archmax_reset`, even when `tools.allow_always` lists them), and leave like every state:
|
|
195
|
+
`archmax_advance({ to, reason })` — the `reason` is the note the next state
|
|
196
|
+
reads — or `archmax_raise({ code, reason })`. Finishing without either fails
|
|
197
|
+
closed through `on_error`, so give every automated state an `on_error`. Both
|
|
198
|
+
read the **whole session** the same way, with `archmax_get_history` →
|
|
199
|
+
`{ messages, trail }` (a script: `JSON.parse(await tools.archmax_get_history())`);
|
|
200
|
+
a tool result is inline in its tool message's `text`. Every edge into one needs
|
|
201
|
+
a `description`. Put a grader on work the agent hands on (a report, a record),
|
|
202
|
+
not on a live answer: everything the agent says in a turn is that turn's reply,
|
|
203
|
+
a draft sent back included. Contract:
|
|
204
|
+
[`references/code-states-and-scripts.md`](references/code-states-and-scripts.md).
|
|
205
|
+
|
|
206
|
+
| Want | Shape |
|
|
207
|
+
| --- | --- |
|
|
208
|
+
| A deterministic check **in front of** a state | The trigger's entry (or the edge's target) is a code state that advances to the work, or to a state that declines it |
|
|
209
|
+
| A check **behind** a state | The state's edge points at a code state with an edge onward and one **back**; a send-back's `reason` names the fix |
|
|
210
|
+
| **Approve, then end** | Approve into a **terminal code state**: its script records the result and the session completes, no model call; the session's next message opens at its trigger's entry state |
|
|
211
|
+
| Judgment with a bounded loop | A grader behind the graded state, edges onward and back; its `instructions` say "raise after N send-backs", counted as trail steps `{ kind: grader, to: <graded state> }` |
|
|
212
|
+
|
|
213
|
+
The checked state's `instructions` say that advancing into the check is what
|
|
214
|
+
hands the work in, and to fix the work when a note sends it back. There is
|
|
215
|
+
no `before:`/`after:`, no `rubric:`, no `max_iterations`: a leftover key fails to
|
|
216
|
+
load.
|
|
177
217
|
|
|
178
218
|
### Workspace layout (complete — nothing else exists)
|
|
179
219
|
|
|
@@ -183,7 +223,7 @@ read `args.variables`. To write the characters literally: `$${{name}}`.
|
|
|
183
223
|
workflows/<slug>/ # AUTHORING PLANE — runtime reads it, the agent CANNOT
|
|
184
224
|
workflow.yaml # the machine (required, canonical)
|
|
185
225
|
WORKFLOW.md # optional plain-markdown addendum, NO frontmatter
|
|
186
|
-
|
|
226
|
+
scripts/<check>.js # code-state scripts (`type: code`), run by the runtime
|
|
187
227
|
tests/<case>.test.yaml # one case per file; fixtures beside them (`from:`)
|
|
188
228
|
skills/<capability>/ # AGENT PLANE — mounted read-only, enabled per state by slug
|
|
189
229
|
SKILL.md # frontmatter (name = directory slug, description) + body
|
|
@@ -200,20 +240,21 @@ read `args.variables`. To write the characters literally: `$${{name}}`.
|
|
|
200
240
|
|
|
201
241
|
Rules that follow:
|
|
202
242
|
|
|
203
|
-
- **The agent cannot read `workflows/**`** — its spec,
|
|
204
|
-
cases have no route in its workspace. Never point `instructions`,
|
|
243
|
+
- **The agent cannot read `workflows/**`** — its spec, code-state scripts,
|
|
244
|
+
grader criteria and cases have no route in its workspace. Never point `instructions`,
|
|
205
245
|
`evidence` or a case `workspace:` at one (`validate` errors). Text the agent
|
|
206
246
|
needs goes in a skill bundle.
|
|
207
|
-
- **Placement**: a
|
|
208
|
-
never share a file
|
|
247
|
+
- **Placement**: a code-state script is the check, a runtime script is the
|
|
248
|
+
tool; they never share a file. Both directories are named `scripts/`, on
|
|
249
|
+
different planes.
|
|
209
250
|
|
|
210
251
|
| Script | Runs on | Lives at | Wired as |
|
|
211
252
|
| --- | --- | --- | --- |
|
|
212
|
-
|
|
|
253
|
+
| Code-state script | the runtime, when its `type: code` state is entered; governed by **that state's** grants | `workflows/<slug>/scripts/<x>.js` | `type: code` + `script: scripts/<x>.js` (workflow-relative, confined to `scripts/`) |
|
|
213
254
|
| Runtime script | the model's authority, via `archmax_run` | `skills/<cap>/scripts/<x>.js` | enabling the skill; narrow with `{ tool: archmax_run, paths: ["skills/<cap>/scripts/**"] }` |
|
|
214
255
|
|
|
215
256
|
`archmax_run` is confined to skill bundles by a non-overridable rule
|
|
216
|
-
(`script.skill-only`): a script in `scratchpad/` or `
|
|
257
|
+
(`script.skill-only`): a script in `scratchpad/` or `workflows/` is unrunnable.
|
|
217
258
|
- **Paths have no leading slash** (`skills/order-data/assets/orders.json`,
|
|
218
259
|
`scratchpad/refund.json`); never author a `run/` prefix. `scratchpad/` is
|
|
219
260
|
writable in every state that is granted `write_file`, whatever its entry
|
|
@@ -225,8 +266,9 @@ Rules that follow:
|
|
|
225
266
|
(`>-` is fine). Pasting a paragraph into a second state means hoist it.
|
|
226
267
|
Never one `skills/<state>/` per state.
|
|
227
268
|
- **Every `.js` you author opens with a JSDoc block**: title line, blank
|
|
228
|
-
line, then what it reads, the sequence of checks, and
|
|
229
|
-
|
|
269
|
+
line, then what it reads, the sequence of checks, and where it sends the
|
|
270
|
+
session in each case (code state: each `archmax_advance` target and why, each
|
|
271
|
+
raise) or what it computes and returns (`archmax_run` script). Admin UIs show this
|
|
230
272
|
instead of the code. No `@specification` tag, no sidecar key.
|
|
231
273
|
|
|
232
274
|
### Verify (CLI)
|