@archmax-ai/harness 0.1.0 → 0.2.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 +45 -4
- package/dist/assembly/compose.js +3 -5
- package/dist/assembly/compose.js.map +1 -1
- package/dist/assembly/delegation-registry.js +4 -2
- package/dist/assembly/delegation-registry.js.map +1 -1
- package/dist/authoring-skill/archmax-harness/README.md +24 -16
- package/dist/authoring-skill/archmax-harness/SKILL.md +7 -1
- package/dist/authoring-skill/archmax-harness/references/backend-integration.md +58 -2
- package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +66 -20
- package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +14 -4
- package/dist/cli/turn.d.ts +9 -4
- package/dist/cli/turn.js +35 -8
- package/dist/cli/turn.js.map +1 -1
- package/dist/cli.js +4 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/machine/machine.d.ts +9 -0
- package/dist/machine/machine.js +13 -0
- package/dist/machine/machine.js.map +1 -1
- package/dist/machine/signature.d.ts +104 -0
- package/dist/machine/signature.js +210 -0
- package/dist/machine/signature.js.map +1 -0
- package/dist/machine/spec-schema.d.ts +158 -8
- package/dist/machine/spec-schema.js +78 -6
- package/dist/machine/spec-schema.js.map +1 -1
- package/dist/machine/triggers.d.ts +6 -2
- package/dist/machine/triggers.js +7 -2
- package/dist/machine/triggers.js.map +1 -1
- package/dist/machine/types.d.ts +7 -1
- package/dist/machine/types.js.map +1 -1
- package/dist/machine/variables.d.ts +2 -0
- package/dist/machine/variables.js +4 -0
- package/dist/machine/variables.js.map +1 -1
- package/dist/public/spec.d.ts +17 -2
- package/dist/public/spec.js +15 -1
- package/dist/public/spec.js.map +1 -1
- package/dist/sessions/resume.d.ts +4 -0
- package/dist/sessions/resume.js +8 -1
- package/dist/sessions/resume.js.map +1 -1
- package/dist/workflow/control-tools.d.ts +7 -2
- package/dist/workflow/control-tools.js +27 -2
- package/dist/workflow/control-tools.js.map +1 -1
- package/dist/workflow/governance.js +28 -19
- package/dist/workflow/governance.js.map +1 -1
- package/dist/workflow/middleware.js +5 -10
- package/dist/workflow/middleware.js.map +1 -1
- package/dist/workflow/prompt-cache.d.ts +0 -2
- package/dist/workflow/prompt-cache.js +0 -7
- package/dist/workflow/prompt-cache.js.map +1 -1
- package/dist/workflow/render-prompt.js +28 -7
- package/dist/workflow/render-prompt.js.map +1 -1
- package/dist/workflow/signature-checks.d.ts +22 -0
- package/dist/workflow/signature-checks.js +52 -0
- package/dist/workflow/signature-checks.js.map +1 -0
- package/dist/workflow/sub-workflow.d.ts +23 -16
- package/dist/workflow/sub-workflow.js +78 -14
- package/dist/workflow/sub-workflow.js.map +1 -1
- package/dist/workflow/tool-service.js +1 -1
- package/dist/workflow/tool-service.js.map +1 -1
- package/dist/workflow/turn-boundary.js +4 -5
- package/dist/workflow/turn-boundary.js.map +1 -1
- package/dist/workflow/workflow-tools.d.ts +17 -9
- package/dist/workflow/workflow-tools.js +30 -17
- package/dist/workflow/workflow-tools.js.map +1 -1
- package/package.json +2 -1
- package/skills/archmax-harness/README.md +82 -0
- package/skills/archmax-harness/SKILL.md +247 -0
- package/skills/archmax-harness/references/backend-integration.md +681 -0
- package/skills/archmax-harness/references/cases.md +41 -0
- package/skills/archmax-harness/references/diagnostics.md +51 -0
- package/skills/archmax-harness/references/hook-and-test-scripts.md +1070 -0
- package/skills/archmax-harness/references/hooks-and-scripts.md +82 -0
- package/skills/archmax-harness/references/wiring.md +101 -0
- package/skills/archmax-harness/references/workflow-schema.md +1677 -0
- package/skills/archmax-harness/references/workflow-yaml.md +251 -0
package/README.md
CHANGED
|
@@ -47,6 +47,13 @@ whose output a person reads runs on a capable one.
|
|
|
47
47
|
See [configuration](https://harness.archmax.ai/reference/configuration/) for
|
|
48
48
|
every variable.
|
|
49
49
|
|
|
50
|
+
To have a coding agent (Claude Code, Cursor, Codex, …) author workflows for you, install the
|
|
51
|
+
authoring skill:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npx skills add archmax-ai/harness
|
|
55
|
+
```
|
|
56
|
+
|
|
50
57
|
## Quickstart
|
|
51
58
|
|
|
52
59
|
### A workspace
|
|
@@ -97,6 +104,28 @@ states:
|
|
|
97
104
|
instructions: Judge the tone of the reply. Return ok, correct or veto with a reason.
|
|
98
105
|
```
|
|
99
106
|
|
|
107
|
+
A trigger may also declare the contract a caller relies on: what a firing must supply and what the
|
|
108
|
+
session guarantees when it completes. A delegating workflow, a host's MCP tool and a start form all
|
|
109
|
+
read the same declaration, and the runtime holds it at the boundary:
|
|
110
|
+
|
|
111
|
+
```yaml
|
|
112
|
+
states:
|
|
113
|
+
intake:
|
|
114
|
+
triggers:
|
|
115
|
+
manual:
|
|
116
|
+
description: Refund one order and report what was refunded. # for callers, not the agent
|
|
117
|
+
requires:
|
|
118
|
+
- order_id # a bare name is untyped
|
|
119
|
+
- { name: due, type: date, description: The day the refund is due. }
|
|
120
|
+
returns:
|
|
121
|
+
- { name: total, type: number, description: Refunded amount in EUR. }
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
A start whose `due` is not a real `YYYY-MM-DD` day is refused before any model call, and a session
|
|
125
|
+
that finishes with `total` unset or not a number is rejected. `signatureJsonSchema` on
|
|
126
|
+
`@archmax-ai/harness/spec` turns the same signature into a JSON Schema. See
|
|
127
|
+
[triggers](https://harness.archmax.ai/guides/triggers/#typing-a-signature).
|
|
128
|
+
|
|
100
129
|
`examples/customer-support/` in this repository is a complete reference workspace.
|
|
101
130
|
|
|
102
131
|
### The CLI
|
|
@@ -155,10 +184,22 @@ The last two are browser-safe, with no runtime behind them. See the
|
|
|
155
184
|
|
|
156
185
|
### Authoring with a coding agent
|
|
157
186
|
|
|
158
|
-
The
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
187
|
+
The authoring skill teaches a coding agent the schema, the hook contract, governance, human
|
|
188
|
+
states, cases and the CLI. Install it with the [skills CLI](https://skills.sh):
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
npx skills add archmax-ai/harness
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
That installs the latest version from GitHub. To pin the skill to the SDK version your project
|
|
195
|
+
depends on, install the copy shipped inside the package instead, after `npm install`:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
npx skills add ./node_modules/@archmax-ai/harness
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
For skills middleware in your own agent, the `BUNDLED_AUTHORING_SKILL_DIR` export resolves to
|
|
202
|
+
the packaged copy. The source is `skills/archmax-harness/`.
|
|
162
203
|
|
|
163
204
|
## Documentation
|
|
164
205
|
|
package/dist/assembly/compose.js
CHANGED
|
@@ -21,7 +21,7 @@ import { createQuickJsSandboxRuntime } from "../sandbox/runtime.js";
|
|
|
21
21
|
import { createInterpreter } from "../sandbox/tools.js";
|
|
22
22
|
import { createWorkflowInstrumentation } from "../workflow/middleware.js";
|
|
23
23
|
import { resolveHookScript, workflowPaths } from "../workflow/paths.js";
|
|
24
|
-
import { createProviderCacheMiddleware, modelIdOf, NATIVE_CACHE_STRATEGIES, resolveCacheStrategy, resolvePromptCacheConfig,
|
|
24
|
+
import { createProviderCacheMiddleware, modelIdOf, NATIVE_CACHE_STRATEGIES, resolveCacheStrategy, resolvePromptCacheConfig, } from "../workflow/prompt-cache.js";
|
|
25
25
|
import { renderWorkflowPrompt, stripHtmlComments } from "../workflow/render-prompt.js";
|
|
26
26
|
import { describeMachineTopology } from "../workflow/session-artifacts.js";
|
|
27
27
|
import { workflowStateSchema } from "../workflow/state.js";
|
|
@@ -141,10 +141,8 @@ function resolveStateModels(ctx, machine, workflow, cacheEnabled) {
|
|
|
141
141
|
let strategy = strategies.get(model);
|
|
142
142
|
if (strategy === undefined) {
|
|
143
143
|
strategy = resolveCacheStrategy(model, cacheEnabled);
|
|
144
|
-
//
|
|
145
|
-
//
|
|
146
|
-
if (strategy === "unsupported")
|
|
147
|
-
warn(unsupportedCacheMessage(model));
|
|
144
|
+
// `unsupported` is not warned about: the providers behind such a model cache
|
|
145
|
+
// a stable prefix automatically, and the `prompt-shaping` event names it.
|
|
148
146
|
strategies.set(model, strategy);
|
|
149
147
|
}
|
|
150
148
|
return strategy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/assembly/compose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/assembly/compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,10 +103,12 @@ export function createDelegationRegistry(ctx, root) {
|
|
|
103
103
|
async signature(target) {
|
|
104
104
|
const { machine } = await load(target);
|
|
105
105
|
const title = machine.spec.title?.trim();
|
|
106
|
+
const signature = machine.signatureForTrigger(MANUAL_TRIGGER);
|
|
106
107
|
return {
|
|
107
|
-
requires:
|
|
108
|
-
returns:
|
|
108
|
+
...(signature?.requires.length ? { requires: signature.requires } : {}),
|
|
109
|
+
...(signature?.returns.length ? { returns: signature.returns } : {}),
|
|
109
110
|
...(title ? { title } : {}),
|
|
111
|
+
...(signature?.description ? { description: signature.description } : {}),
|
|
110
112
|
// Reported, not enforced here: a disabled target still binds a tool so
|
|
111
113
|
// disabling a leaf does not fail every caller; the dispatcher refuses.
|
|
112
114
|
...(machine.disabled ? { disabled: true } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation-registry.js","sourceRoot":"","sources":["../../src/assembly/delegation-registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"delegation-registry.js","sourceRoot":"","sources":["../../src/assembly/delegation-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,29 +12,37 @@ Cursor, Codex, …) how to **build with** the
|
|
|
12
12
|
|
|
13
13
|
## Install
|
|
14
14
|
|
|
15
|
-
**
|
|
16
|
-
the skill ships inside the npm package, so it always matches the installed SDK
|
|
17
|
-
version instead of a synced copy:
|
|
15
|
+
**Via the skills CLI (primary)** — from the public GitHub repository:
|
|
18
16
|
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
// <BUNDLED_AUTHORING_SKILL_DIR>/archmax-harness/SKILL.md (+ references/) — the constant
|
|
22
|
-
// is the dist/authoring-skill directory holding archmax-harness/. Point an install CLI at
|
|
23
|
-
// the skill itself:
|
|
24
|
-
// npx skills add ./node_modules/@archmax-ai/harness/dist/authoring-skill/archmax-harness
|
|
17
|
+
```bash
|
|
18
|
+
npx skills add archmax-ai/harness
|
|
25
19
|
```
|
|
26
20
|
|
|
27
|
-
|
|
21
|
+
Add `-g` to install globally, or `-a <agent>` to target a specific coding agent.
|
|
22
|
+
|
|
23
|
+
**From the installed `@archmax-ai/harness` package** — the skill ships inside the
|
|
24
|
+
npm package, so this copy always matches the installed SDK version. After
|
|
25
|
+
`npm install`:
|
|
28
26
|
|
|
29
27
|
```bash
|
|
30
|
-
npx skills add
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
npx skills add ./node_modules/@archmax-ai/harness
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`npx skills experimental_sync` picks it up too, along with any other skill in
|
|
32
|
+
`node_modules`. The package ships this directory as `skills/archmax-harness/`
|
|
33
|
+
(for installers) and as `dist/authoring-skill/archmax-harness/` (for
|
|
34
|
+
`BUNDLED_AUTHORING_SKILL_DIR`).
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
import { BUNDLED_AUTHORING_SKILL_DIR } from "@archmax-ai/harness";
|
|
38
|
+
// <BUNDLED_AUTHORING_SKILL_DIR>/archmax-harness/SKILL.md (+ references/) — the
|
|
39
|
+
// constant is the dist/authoring-skill directory, for skills middleware.
|
|
33
40
|
```
|
|
34
41
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
42
|
+
**From a checkout of this repository**: `npx skills add ./skills/archmax-harness`.
|
|
43
|
+
|
|
44
|
+
Skills appear on skills.sh automatically via install telemetry — there is no
|
|
45
|
+
separate submission step.
|
|
38
46
|
|
|
39
47
|
## What's inside
|
|
40
48
|
|
|
@@ -56,7 +56,13 @@ then verify. Do not write a file, validate, and discover the next file.
|
|
|
56
56
|
terminal states (no `transitions`), the edges between them — and for each
|
|
57
57
|
edge, the *condition* under which it is taken. That condition is the edge's
|
|
58
58
|
required `description`, and it is the only thing the agent will know about
|
|
59
|
-
where the edge leads.
|
|
59
|
+
where the edge leads. If something outside the session calls the workflow
|
|
60
|
+
(another workflow, a host's MCP tool or form), give its trigger a
|
|
61
|
+
`description` for the caller and a `requires`/`returns` signature, typing an
|
|
62
|
+
entry (`{ name, type, description }`; `string` `integer` `number` `boolean`
|
|
63
|
+
`date` `date-time` `object` `array`) where the caller must build or read the
|
|
64
|
+
value. The runtime holds typed entries at start, at `archmax_set_variables`
|
|
65
|
+
and at completion ([`references/workflow-schema.md`](references/workflow-schema.md)).
|
|
60
66
|
2. **Decide the file set** from the sketch: `workflow.yaml` always; one
|
|
61
67
|
`hooks/<check>.js` per *deterministic* gate; one inline `rubric:` per
|
|
62
68
|
*judgment* gate (tone, completeness); cases — one happy path per branch,
|
|
@@ -13,6 +13,7 @@ package's `dist/index.d.ts`.
|
|
|
13
13
|
- [Agent](#workflowruntime)
|
|
14
14
|
- [Running a workflow](#running-a-workflow)
|
|
15
15
|
- [Human-in-the-loop](#human-in-the-loop)
|
|
16
|
+
- [Exposing a workflow to outside callers (MCP, forms, APIs)](#exposing-a-workflow-to-outside-callers)
|
|
16
17
|
- [Lifecycle events (live visualization)](#lifecycle-events)
|
|
17
18
|
- [Session artifacts (historical visualization)](#run-artifacts)
|
|
18
19
|
- [Model configuration](#model-configuration)
|
|
@@ -79,6 +80,7 @@ From `@archmax-ai/harness` (`src/index.ts`):
|
|
|
79
80
|
| `SessionStoreRequiredError`, `SessionStoreCapabilityError` | class | Assembly / capability errors for run storage |
|
|
80
81
|
| `workflowStateSchema`, `workflowPaths`, `sessionPaths`, `runArtifactPaths` | schema/fn | State schema + path helpers |
|
|
81
82
|
| `runTests`, `RunTestsOptions`, `CaseResult` | fn/type | Run a workflow's cases — [against your own agent](#cases-against-your-agent) |
|
|
83
|
+
| `SIGNATURE_TYPES`, `normalizeSignature`, `signatureForTrigger`, `signatureJsonSchema`, `signatureValueIssues` | const/fn | A trigger's typed signature as JSON Schema and its conformance rule — [exposing a workflow](#exposing-a-workflow-to-outside-callers); also on `@archmax-ai/harness/spec` |
|
|
82
84
|
|
|
83
85
|
## createAgent options
|
|
84
86
|
|
|
@@ -246,7 +248,8 @@ if (result.status === WORKFLOW_STATUSES.awaitingDecision && result.pendingDecisi
|
|
|
246
248
|
// host-side assembly, and no need to re-read the spec.
|
|
247
249
|
// When they pick:
|
|
248
250
|
const outcome = await agent.workflow.decide(sessionId, { target: chosenTo, comment });
|
|
249
|
-
// DecideOutcome: { status?, workflowState?, reparked, state?, messages }
|
|
251
|
+
// DecideOutcome: { status?, workflowState?, reparked, state?, reply, rejected?, messages }
|
|
252
|
+
// `rejected` says why when status is "rejected"; Outcome from send() carries it too.
|
|
250
253
|
if (outcome.reparked) { /* parked again at another human state */ }
|
|
251
254
|
}
|
|
252
255
|
```
|
|
@@ -328,6 +331,59 @@ in (available in every state). To continue *mid-state* instead — inside the st
|
|
|
328
331
|
that stopped, with the arrival in its transcript — the turn must park rather than
|
|
329
332
|
finish.
|
|
330
333
|
|
|
334
|
+
## Exposing a workflow to outside callers
|
|
335
|
+
|
|
336
|
+
A workflow's trigger signature (`requires`/`returns`, optionally typed) is the
|
|
337
|
+
contract the runtime already enforces at the session boundary. A host that
|
|
338
|
+
exposes a workflow as an MCP tool, an OpenAPI operation or a typed start form
|
|
339
|
+
builds its schema **from that signature**, with the helpers on the browser-safe
|
|
340
|
+
`@archmax-ai/harness/spec` subpath (also on the root, as the same bindings), so
|
|
341
|
+
the published contract and the enforced one cannot drift:
|
|
342
|
+
|
|
343
|
+
```ts
|
|
344
|
+
import {
|
|
345
|
+
parseMachineSpec,
|
|
346
|
+
signatureForTrigger,
|
|
347
|
+
signatureJsonSchema,
|
|
348
|
+
signatureValueIssues,
|
|
349
|
+
} from "@archmax-ai/harness/spec";
|
|
350
|
+
|
|
351
|
+
const parsed = parseMachineSpec(yaml.parse(workflowYaml));
|
|
352
|
+
if (!parsed.ok) throw new Error(parsed.issues.map((i) => `${i.path}: ${i.message}`).join("\n"));
|
|
353
|
+
const signature = signatureForTrigger(parsed.spec, "manual"); // { description?, requires, returns }
|
|
354
|
+
|
|
355
|
+
// MCP tool (or an OpenAPI request/response body): the same mapping the delegation tool uses.
|
|
356
|
+
const mcpTool = {
|
|
357
|
+
name: "refund-order",
|
|
358
|
+
description: signature?.description, // caller-facing; never shown to the session's agent
|
|
359
|
+
inputSchema: signatureJsonSchema(signature?.requires ?? []),
|
|
360
|
+
outputSchema: signatureJsonSchema(signature?.returns ?? []),
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
// On a request, before any session opens: the rule the turn boundary applies.
|
|
364
|
+
const issues = signatureValueIssues(signature?.requires ?? [], body);
|
|
365
|
+
if (issues.length) return reply(400, issues.map((i) => i.message)); // { kind, name, type?, found?, message }
|
|
366
|
+
|
|
367
|
+
// A turn needs a message; an MCP call has none of its own, so say what was asked.
|
|
368
|
+
const outcome = await agent.workflow!.send(sessionId, { message: "Refund the order.", variables: body });
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
- `signatureJsonSchema(entries)` → `{ type: "object", properties, required }`:
|
|
372
|
+
one property per entry in declaration order, every name required,
|
|
373
|
+
`date`/`date-time` as `{ type: "string", format }`, an untyped entry as `{}`,
|
|
374
|
+
an entry's `description` carried over. It adds no `additionalProperties`; set
|
|
375
|
+
it for your own ingress.
|
|
376
|
+
- `signatureValueIssues(entries, values)` → one issue per missing name and per
|
|
377
|
+
non-conforming value; `[]` means the turn boundary will not refuse the map for
|
|
378
|
+
its signature. It **never coerces**: a form that collects text converts
|
|
379
|
+
`"4"` to `4` before it validates or seeds.
|
|
380
|
+
- A trigger's `description` is written for the caller. Use it as the MCP tool
|
|
381
|
+
or operation description. The session's own model never sees it.
|
|
382
|
+
- A host that reads specs itself must read `requires`/`returns` through
|
|
383
|
+
`normalizeSignature` (both spellings → `{ name, type?, description? }[]`),
|
|
384
|
+
never as `string[]`: an entry may be an object. Hosts must be on the release
|
|
385
|
+
that introduced typed entries before any workspace they read uses them.
|
|
386
|
+
|
|
331
387
|
## Lifecycle events
|
|
332
388
|
|
|
333
389
|
Pass `onEvent`; every `WorkflowLifecycleEvent` carries a `level`
|
|
@@ -342,7 +398,7 @@ Pass `onEvent`; every `WorkflowLifecycleEvent` carries a `level`
|
|
|
342
398
|
| `parked` (`awaiting: "input"`) / `delivered` | the agent parked the run (`{ state, sessionId, reason, resumeAt?, callId }` — the `archmax_wait` call) / an event resumed it (`{ state, trigger, to }`, where `to` is the same state) |
|
|
343
399
|
| `agent-text` | complete assistant message in a state (`{ state, text, messageId }` — always the id the message is stored under; absent only on a `partial: true` event from a failed turn) |
|
|
344
400
|
| `agent-text-delta` | streaming text chunk (`{ state, text, messageId? }`) — flows for every run, even when the graph is driven with `invoke` |
|
|
345
|
-
| `tool-called` / `tool-result` / `tool-blocked` | tool passed governance (`callId`, `args`) / settled (`callId`, `status`, `durationMs`, `output` preview) / denied. **Every** governed call, `archmax_advance` included — so a UI drawing a row per call draws one per transition; filter it if you already draw transitions from `advance`/`state-leave` |
|
|
401
|
+
| `tool-called` / `tool-result` / `tool-blocked` | tool passed governance (`callId`, `args`) / settled (`callId`, `status`, `durationMs`, `output` preview) / denied. **Every** governed call, `archmax_advance` included — so a UI drawing a row per call draws one per transition; filter it if you already draw transitions from `advance`/`state-leave`. A tool that **throws** settles `status: "error"` with the error's message as `output` while the turn **continues**: the model reads the same message as the call's answer, and nothing is thrown out of `send` — read tool failures here |
|
|
346
402
|
| `rubric-start` / `rubric-result` | grading-rubric dispatch bracketed by `dispatchId`, with the rubric's `name` |
|
|
347
403
|
| `model-usage` | per model call provider token usage: `inputTokens` (the total, of which the cache counts are a breakdown), `outputTokens`, `cacheReadTokens`, `cacheCreationTokens`, `model?` (the id the call was priced against), `costUsd?` |
|
|
348
404
|
| `prompt-shaping` | assembly-time payload summary: resolved `profile`, prompt-cache mechanism, `withheld` built-ins |
|
|
@@ -280,7 +280,8 @@ states:
|
|
|
280
280
|
# id, in declaration order (one state, one
|
|
281
281
|
# behavior, several ways in).
|
|
282
282
|
# The value is the declaration (see below):
|
|
283
|
-
# session/message/connection/
|
|
283
|
+
# session/message/connection/description/
|
|
284
|
+
# requires/returns
|
|
284
285
|
# plus any key the HOST adds — preserved,
|
|
285
286
|
# lint-warned, never interpreted.
|
|
286
287
|
# NO `entry:` and NO `name:` inside a declaration:
|
|
@@ -517,8 +518,13 @@ states:
|
|
|
517
518
|
enrich:
|
|
518
519
|
triggers:
|
|
519
520
|
manual: # the one entry: CLI, host firing, or a caller
|
|
520
|
-
|
|
521
|
-
|
|
521
|
+
description: Enrich one order and say whether it is late. # for callers only
|
|
522
|
+
requires: # a firing must supply these to start
|
|
523
|
+
- order_id # bare name = untyped
|
|
524
|
+
- { name: due, type: date, description: The day the order is due. }
|
|
525
|
+
returns: # the run guarantees these when it completes
|
|
526
|
+
- enrichment_file
|
|
527
|
+
- { name: delayed, type: boolean }
|
|
522
528
|
```
|
|
523
529
|
|
|
524
530
|
- There is no `entry:` key and no root block: the state a declaration sits on is
|
|
@@ -529,14 +535,37 @@ states:
|
|
|
529
535
|
- `requires:` / `returns:` are the run's **signature**, and both are enforced. A
|
|
530
536
|
firing that does not supply every `requires` name does not start; a run that
|
|
531
537
|
reaches a terminal state without every `returns` name set is rejected (a run
|
|
532
|
-
that *parks* is not checked — it has not finished).
|
|
533
|
-
|
|
534
|
-
|
|
538
|
+
that *parks* is not checked — it has not finished). Each entry is a bare
|
|
539
|
+
run-variable name (**untyped**: any value, `null` included) or a strict object
|
|
540
|
+
`{ name, type?, description? }` naming one; the spellings mix in one list and
|
|
541
|
+
names are distinct across both. What the agent must *do* to produce a
|
|
542
|
+
variable still belongs in the `instructions` that set it. The names — with
|
|
543
|
+
type and description when declared, as `name (type) — description` — are
|
|
535
544
|
rendered into the prompt under the trigger's entry state, so the agent is told
|
|
536
545
|
what to produce before it can be failed for omitting it. A trigger's
|
|
537
546
|
`requires:` also **guarantees** the variable for `${{…}}` guards, so `validate`
|
|
538
547
|
stops warning about a guard bound to it. This is what makes delegation
|
|
539
548
|
checkable — see [Sub-workflows are tools](#sub-workflows-are-tools).
|
|
549
|
+
- **`type`** is one of `string`, `integer` (no fractional part), `number`
|
|
550
|
+
(finite), `boolean`, `date` (RFC 3339 `YYYY-MM-DD`, a real calendar day),
|
|
551
|
+
`date-time` (RFC 3339 with a mandatory `Z`/`±hh:mm` offset), `object` (not an
|
|
552
|
+
array) or `array`. Nothing is coerced (`"4"` is not an `integer`) and a typed
|
|
553
|
+
entry never takes `null`. It is held **at the start** (a mistyped seed is
|
|
554
|
+
refused before any model call), **at the write** (`archmax_set_variables` of a
|
|
555
|
+
mistyped typed return of the current trigger is a correctable refusal,
|
|
556
|
+
nothing written) and **at completion** (a mistyped typed return rejects the
|
|
557
|
+
run — in practice a script or hook write). There are no enums, item or
|
|
558
|
+
property schemas, ranges or optional inputs. An unknown `type`, an unknown
|
|
559
|
+
entry key (`default:`) or an empty `description` fails load.
|
|
560
|
+
- **When to type.** Type an entry when something outside the session reads the
|
|
561
|
+
contract: a delegating model that must build the argument, a host publishing an
|
|
562
|
+
MCP tool or a start form. Leave it bare when any value will do. Typing a
|
|
563
|
+
`returns` entry also tells the agent the shape to write.
|
|
564
|
+
- **`description` on the declaration** says, for a **caller**, what calling this
|
|
565
|
+
entry does. It leads the delegation tool's description and a host's MCP tool
|
|
566
|
+
description; it never reaches the model of the session it starts (that
|
|
567
|
+
session's brief is its `instructions`). An entry's own `description` is
|
|
568
|
+
different: it *is* shown to the agent, beside the name.
|
|
540
569
|
- `session:` is a **dotted path over the run's variables** — the same syntax
|
|
541
570
|
`${{…}}` guards use, including array indices and negative indices
|
|
542
571
|
(`-1` = last). No script, no callback: name where the host already puts the
|
|
@@ -1123,7 +1152,9 @@ Two failure classes, routed differently:
|
|
|
1123
1152
|
|
|
1124
1153
|
- **Recoverable rejections keep the agent in place**: an invalid edge in
|
|
1125
1154
|
`archmax_advance`, a deliberate hook `veto`, or an in-budget `correct` — the
|
|
1126
|
-
agent sees the reason and retries within the same state.
|
|
1155
|
+
agent sees the reason and retries within the same state. A **tool that
|
|
1156
|
+
throws** is answered the same way: its error message is the call's
|
|
1157
|
+
error-status answer, and it never routes to `on_error`.
|
|
1127
1158
|
- **Terminal failures route to `on_error`**: a hook *execution error*, an
|
|
1128
1159
|
exhausted iteration budget (`max_iterations` used up), or an exhausted
|
|
1129
1160
|
`budget` (`maxTurns`/`timeoutMs`). With `on_error: <state>` declared, the run
|
|
@@ -1186,8 +1217,10 @@ enrich:
|
|
|
1186
1217
|
```
|
|
1187
1218
|
|
|
1188
1219
|
- **The target's signature is the call signature.** Its `manual` trigger's
|
|
1189
|
-
`requires:` are the tool's required parameters
|
|
1190
|
-
|
|
1220
|
+
`requires:` are the tool's required parameters (typed in the tool schema
|
|
1221
|
+
where the entries are typed, by the same mapping `signatureJsonSchema`
|
|
1222
|
+
publishes); its `returns:` are what the result carries; its `description`
|
|
1223
|
+
leads the tool description, and its `instructions` never reach the caller:
|
|
1191
1224
|
|
|
1192
1225
|
```
|
|
1193
1226
|
archmax_workflow_enrich-account({ account_id: "acct-42" })
|
|
@@ -1221,9 +1254,14 @@ enrich:
|
|
|
1221
1254
|
no target may call none; `tools.forbid_always` blocks a delegation tool like any
|
|
1222
1255
|
other.
|
|
1223
1256
|
- **A failure is a tool error** the calling agent can handle; the state's
|
|
1224
|
-
`on_error` catches the turn if it cannot. Depth, cycle, missing-input
|
|
1225
|
-
|
|
1226
|
-
and
|
|
1257
|
+
`on_error` catches the turn if it cannot. Depth, cycle, missing-input
|
|
1258
|
+
(`missing-param`), mistyped-input (`invalid-param`), unresolvable-reference
|
|
1259
|
+
(`unresolved-param`) and **disabled-target** refusals are blocked calls —
|
|
1260
|
+
nothing ran, so correct the call and retry. A child whose returns are unset
|
|
1261
|
+
(`missing-return`) or mistyped (`invalid-return`) is a failure: it ran.
|
|
1262
|
+
- **A whole-argument reference keeps its type.** `{ quantity: "${{count}}" }`
|
|
1263
|
+
seeds the child with the number `count` holds, so it satisfies an `integer`
|
|
1264
|
+
parameter; `{ note: "order ${{order_id}}" }` is substituted as text.
|
|
1227
1265
|
- **A `disabled: true` target is refused at dispatch, not at assembly.** The tool is
|
|
1228
1266
|
still bound and the caller still assembles (disabling one leaf must not take every
|
|
1229
1267
|
caller — or its parked sessions — offline); the call is a blocked call of kind
|
|
@@ -1244,8 +1282,12 @@ enrich:
|
|
|
1244
1282
|
enrich:
|
|
1245
1283
|
triggers:
|
|
1246
1284
|
manual:
|
|
1247
|
-
|
|
1248
|
-
|
|
1285
|
+
description: Enrich one order. # leads the caller's tool description
|
|
1286
|
+
requires: # a caller must supply these
|
|
1287
|
+
- { name: order_id, type: string, description: The order to enrich. }
|
|
1288
|
+
returns: # the child guarantees it sets these
|
|
1289
|
+
- enrichment_file
|
|
1290
|
+
- { name: delayed, type: boolean }
|
|
1249
1291
|
```
|
|
1250
1292
|
|
|
1251
1293
|
Develop it standalone on the same contract:
|
|
@@ -1255,10 +1297,13 @@ enrich:
|
|
|
1255
1297
|
A dispatch missing a `requires` name is **refused before the child is
|
|
1256
1298
|
composed**; a child that completes without every `returns` name set is
|
|
1257
1299
|
**rejected** rather than handing back half a contract (a child that *parks* is
|
|
1258
|
-
not checked — it has not finished).
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
produce
|
|
1300
|
+
not checked — it has not finished). A typed entry is held to its type at both
|
|
1301
|
+
ends: a mistyped argument is refused `invalid-param` before the child runs, and
|
|
1302
|
+
a mistyped return fails the call `invalid-return`. What the child must *do* to
|
|
1303
|
+
produce a variable belongs in the state `instructions` that set it. The names,
|
|
1304
|
+
with type and description where declared, are rendered into the child's prompt
|
|
1305
|
+
under its entry state, so it is told what to produce before it can be failed
|
|
1306
|
+
for omitting it.
|
|
1262
1307
|
- **The call answers with the returns, by name.** A signed target answers
|
|
1263
1308
|
`{ message, returns: { enrichment_file, delayed } }`; one declaring no
|
|
1264
1309
|
`returns:` answers with the closing message alone. The message keeps its own
|
|
@@ -1267,8 +1312,9 @@ enrich:
|
|
|
1267
1312
|
agent records what it needs with `archmax_set_variables`, or a script writes it,
|
|
1268
1313
|
and the calling state's `requires:` is what makes that mandatory.
|
|
1269
1314
|
- **Mocks are held to the same contract.** An `archmax_workflow_<slug>` mock for a
|
|
1270
|
-
signed target supplies `returns:`, and one that omits a declared name
|
|
1271
|
-
|
|
1315
|
+
signed target supplies `returns:`, and one that omits a declared name
|
|
1316
|
+
(`missing-return`) or supplies a mistyped typed one (`invalid-return`) fails
|
|
1317
|
+
the mocked dispatch — a mock stands in for the sub-run, never for its agreement.
|
|
1272
1318
|
- **No prose crosses the boundary.** A sub-run gets no instruction from its
|
|
1273
1319
|
caller — it works from its own state `instructions` plus the arguments it was
|
|
1274
1320
|
seeded with as locked variables, both of which reach the model through the
|
|
@@ -44,8 +44,12 @@ states:
|
|
|
44
44
|
session: conversation_id # dotted path over variables: which conversation a firing joins
|
|
45
45
|
message: false # or a dotted path to the message text; false = firings carry none
|
|
46
46
|
connection: mail # host access connection; other keys preserved with a warning
|
|
47
|
-
|
|
47
|
+
description: Record one refund decision. # for CALLERS (delegating model, MCP client); never the agent
|
|
48
|
+
requires: # variables a firing must supply (a caller's required params):
|
|
49
|
+
- order_id # a bare name is untyped (any value, null included)
|
|
50
|
+
- { name: due, type: date, description: The day it is due. } # typed: held at the boundary
|
|
48
51
|
returns: [result_file] # variables the run guarantees on completion (a caller's result)
|
|
52
|
+
# entry types: string integer number boolean date date-time object array
|
|
49
53
|
instructions: >-
|
|
50
54
|
Record the decision in scratchpad/refund.json, then archmax_advance to
|
|
51
55
|
review; never close the case yourself.
|
|
@@ -163,11 +167,17 @@ states:
|
|
|
163
167
|
corrections, exhausted budget, exhausted parks) routes to `on_error`
|
|
164
168
|
instead of failing the run; recoverable rejections (invalid edge, veto,
|
|
165
169
|
in-budget correct) keep the agent in place. Declare `on_error` on states
|
|
166
|
-
with strict `after` hooks or bounded loops.
|
|
170
|
+
with strict `after` hooks or bounded loops. A **tool that throws** is
|
|
171
|
+
neither: the call is answered with an error-status tool message carrying
|
|
172
|
+
the error, the agent stays in the state and can retry or switch tools, and
|
|
173
|
+
`on_error` never sees it (a park or a cancelled run still propagates).
|
|
167
174
|
- **Sub-workflows are tools.** Allow `archmax_workflow_<slug>` (slug verbatim)
|
|
168
175
|
and the sibling `workflows/<slug>/` is callable: its `manual` trigger's
|
|
169
|
-
`requires` are the parameters
|
|
170
|
-
|
|
176
|
+
`requires` are the parameters (typed where the entries are typed; a
|
|
177
|
+
mistyped argument is refused `invalid-param`, and `"${{count}}"` alone
|
|
178
|
+
passes the value with its own type), its `returns` the result
|
|
179
|
+
(`{ message, returns }`; a mistyped typed return fails `invalid-return`).
|
|
180
|
+
The trigger's `description` leads the tool description. Nothing captures the result — the caller records
|
|
171
181
|
what it needs with `archmax_set_variables`, made mandatory by `requires`.
|
|
172
182
|
The child is a separate session with a fresh transcript, sees only its
|
|
173
183
|
arguments (as locked variables), and shares no prose. One call = one
|
package/dist/cli/turn.d.ts
CHANGED
|
@@ -19,7 +19,8 @@ type Transition = {
|
|
|
19
19
|
};
|
|
20
20
|
/** The context a person needs to decide a parked human state, from the spec — nothing is rendered to a file. */
|
|
21
21
|
export declare function printDecisionContext(machine: WorkflowMachine, state: string, transitions: Transition[], evidence?: string[], write?: (line: string) => void): void;
|
|
22
|
-
|
|
22
|
+
/** Report a resume's result. Returns the exit code: 1 when the session ended rejected. */
|
|
23
|
+
export declare function printResumed(style: Style, sessionId: string, verb: string, outcome: DecideOutcome): number;
|
|
23
24
|
export declare function printReply(style: Style, sessionId: string, outcome: ReplyOutcome): void;
|
|
24
25
|
export interface RunTurnInput {
|
|
25
26
|
workflow: string;
|
|
@@ -29,13 +30,17 @@ export interface RunTurnInput {
|
|
|
29
30
|
sessionId?: string;
|
|
30
31
|
sessionPath?: string;
|
|
31
32
|
}
|
|
32
|
-
/**
|
|
33
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Report a turn's {@link Outcome}: an answer, a park (with what resumes it), a
|
|
35
|
+
* rejection, or a resume's result. Returns the exit code: a park is a success,
|
|
36
|
+
* a rejection is not.
|
|
37
|
+
*/
|
|
38
|
+
export declare function printOutcome(style: Style, machine: WorkflowMachine, sessionId: string, outcome: Outcome): number;
|
|
34
39
|
/**
|
|
35
40
|
* Drive one turn: name the session the firing belongs to, send the turn through
|
|
36
41
|
* `workflow.send` — which delivers, replies or opens a turn as the session's
|
|
37
42
|
* state dictates — and report how it ended. Returns the exit code; a park is a
|
|
38
|
-
* successful outcome.
|
|
43
|
+
* successful outcome, a rejected session a failed one.
|
|
39
44
|
*/
|
|
40
45
|
export declare function driveTurn(agent: Agent, style: Style, usage: UsageTracker, input: RunTurnInput): Promise<number>;
|
|
41
46
|
export {};
|