@automatalabs/workflows 0.36.0 → 0.37.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -3
- package/dist/cli.js +95 -6
- package/dist/config.d.ts +35 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +85 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/validate.d.ts +4 -0
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +24 -16
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -296,8 +296,15 @@ checkpoint unless the author opts in. `WorkflowManagerOptions` lets you set a de
|
|
|
296
296
|
`loadSavedWorkflow` resolver (enables nested `workflow('name')`), a custom `persistence`
|
|
297
297
|
implementation, and per-agent timeout/retry defaults.
|
|
298
298
|
|
|
299
|
-
|
|
300
|
-
|
|
299
|
+
Usage-limit and auth resumes are continuation-aware by default on both `resumeFromRunId` and
|
|
300
|
+
same-ID `resume()` / `resumeInBackground()`: when the interrupted root call's index, identity hash,
|
|
301
|
+
full execution-input fingerprint, backend identity, cwd, and reopen support still agree, the manager
|
|
302
|
+
reattaches its recorded ACP session and continues the unfinished turn. Worktree calls, changed or
|
|
303
|
+
legacy inputs, missing cwd, and every uncertain/rejected reopen run fresh. This is internal manager →
|
|
304
|
+
engine plumbing; the public SDK accepts no continuation option.
|
|
305
|
+
|
|
306
|
+
Every terminal result may also carry `fallbacks` (including `kind: "continuation"` notices that
|
|
307
|
+
record a reattached `resume`/`load` method or an exact skip reason) and `checkpointsTaken` (one
|
|
301
308
|
resolved checkpoint per call with the journaled decision and `live` / `headless-default` /
|
|
302
309
|
`journal-replay` / `injected` source). They are absent when empty, persist for cold reads, never
|
|
303
310
|
enter replay hashes, and are not part of `WorkflowRunStatus` inspection.
|
|
@@ -389,7 +396,9 @@ runner names.
|
|
|
389
396
|
Every live ACP-backed `agent()` call records a non-secret re-attach handle in
|
|
390
397
|
`run.agentSessions`. Set `agent(..., { keepSession: true })` to skip release-time `session/close`,
|
|
391
398
|
then use the runner's `loadSession()` or `resumeSession()` host API with that record. Session
|
|
392
|
-
handles are additive and are also preserved in journals;
|
|
399
|
+
handles are additive and are also preserved in journals; pause-class failures skip `session/close`
|
|
400
|
+
automatically, and eligible managed resumes consume the recorded handle internally. A continued
|
|
401
|
+
result carries a diagnostic journal marker, but neither the handle nor marker changes deterministic
|
|
393
402
|
resume identity.
|
|
394
403
|
|
|
395
404
|
### d) Bring your own backend — implement the `AgentRunner` seam
|
|
@@ -646,6 +655,43 @@ report.warnings; // approval reminders, phase mismatches, headless-abo
|
|
|
646
655
|
|
|
647
656
|
---
|
|
648
657
|
|
|
658
|
+
## Discovering harness options — `agentprism-workflows config`
|
|
659
|
+
|
|
660
|
+
Validate's sibling command runs the same no-prompt config probe **standalone** — no script
|
|
661
|
+
required — so `model` / `configOptions` values can be read off the live catalog before a
|
|
662
|
+
workflow exists:
|
|
663
|
+
|
|
664
|
+
```bash
|
|
665
|
+
npx @automatalabs/workflows config # every routable harness
|
|
666
|
+
npx @automatalabs/workflows config codex opencode # only the named harnesses
|
|
667
|
+
npx @automatalabs/workflows config claude --json # machine-readable report
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
Harness names are the routing names: built-in `claude` / `codex` / `opencode` plus any custom
|
|
671
|
+
backend registered via `AGENTPRISM_BACKENDS` (registered customs also join the no-argument
|
|
672
|
+
default set). Each harness opens one session without a prompt — zero tokens — and reports its
|
|
673
|
+
advertised config-option catalog verbatim: model ids (including bracket variants), effort
|
|
674
|
+
levels, modes, boolean knobs. A harness that cannot spawn or authenticate reports
|
|
675
|
+
`probed: false` with the reason and never blocks the others. Flags: `--cwd <dir>` (probe
|
|
676
|
+
session cwd; default the current directory), `--timeout-ms <n>` (per-harness bound, default
|
|
677
|
+
60000), `--json`. Exit codes: `0` all probed, `1` at least one probe failed, `3` usage error.
|
|
678
|
+
|
|
679
|
+
Programmatic:
|
|
680
|
+
|
|
681
|
+
```ts
|
|
682
|
+
import { probeHarnessConfig, formatHarnessConfigReport } from "@automatalabs/workflows";
|
|
683
|
+
|
|
684
|
+
const report = await probeHarnessConfig({ harnesses: ["codex"] });
|
|
685
|
+
report.ok; // every requested harness probed
|
|
686
|
+
report.harnessOptions; // [{ backendId, probed, options?: SessionConfigOption[], error?: string }]
|
|
687
|
+
formatHarnessConfigReport(report); // the CLI's human table
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
`probeHarnessConfig({ harnesses?, backends?, cwd?, timeoutMs? })` — `backends` merges over
|
|
691
|
+
`AGENTPRISM_BACKENDS` exactly like `createAcpRunner({ backends })`.
|
|
692
|
+
|
|
693
|
+
---
|
|
694
|
+
|
|
649
695
|
## Structured output
|
|
650
696
|
|
|
651
697
|
Pass a JSON Schema to `agent({ schema })` (in a script) or `runner.run(prompt, { schema })` (direct)
|
|
@@ -728,8 +774,10 @@ createReplayRunner, // backend-neutral in-memory replay composition pr
|
|
|
728
774
|
runWorkflow, // the bare engine run (no status trio)
|
|
729
775
|
parseWorkflowScript, // parse a script's meta + body
|
|
730
776
|
validateWorkflowScript, // token-free parse + mock dry run + no-prompt harness option probes
|
|
777
|
+
probeHarnessConfig, // the same no-prompt option probe standalone (the `config` CLI command)
|
|
731
778
|
fabricateFromSchema, // the dry run's JSON-Schema value fabricator
|
|
732
779
|
formatValidateReport, // render a ValidateWorkflowReport as CLI text
|
|
780
|
+
formatHarnessConfigReport, // render a HarnessConfigReport as CLI text
|
|
733
781
|
openWorkflowDir, // read-only view over folders of workflow scripts (name = filename stem)
|
|
734
782
|
WorkflowManager, // stateful / resumable run manager
|
|
735
783
|
RESUME_FALLBACK_REASONS, RESUME_DISABLED_REASONS,
|
|
@@ -762,6 +810,7 @@ MockAnswerJson, MockAnswerSequence, MockAnswerRule, MockAnswers,
|
|
|
762
810
|
ValidatedMockAnswerUse, ValidatedMockAnswerRule, UnusedMockAnswer, ValidatedMockAnswers,
|
|
763
811
|
ValidateWorkflowOptions, ValidateWorkflowReport, ValidateHarnessOptions,
|
|
764
812
|
ValidatedAgentCall, ValidatedCheckpoint,
|
|
813
|
+
ProbeHarnessConfigOptions, HarnessConfigReport,
|
|
765
814
|
WorkflowManagerOptions, CheckpointOptions, WorkflowRunResult, WorkflowRunFallback,
|
|
766
815
|
WorkflowCheckpointTaken, WorkflowCheckpointSource, WorkflowSnapshot,
|
|
767
816
|
ResumePolicy, WorkflowResumeStrategy, WorkflowResumeMatch, WorkflowResumeSafety,
|
package/dist/cli.js
CHANGED
|
@@ -1,17 +1,34 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// The @automatalabs/workflows bin (`agentprism-workflows`).
|
|
2
|
+
// The @automatalabs/workflows bin (`agentprism-workflows`). Two subcommands:
|
|
3
3
|
//
|
|
4
4
|
// agentprism-workflows validate <workflow-file> [options]
|
|
5
|
+
// agentprism-workflows config [harness ...] [options]
|
|
5
6
|
//
|
|
6
|
-
//
|
|
7
|
+
// validate checks a workflow script without spending tokens: static parse (meta literal,
|
|
7
8
|
// syntax, direct nondeterministic call expressions), then a dry run over an in-process
|
|
8
9
|
// mock AgentRunner that fabricates schema-conforming results, then one no-prompt option
|
|
9
10
|
// probe per routed ACP harness. See
|
|
10
11
|
// ./validate.ts for the programmatic API (`validateWorkflowScript`).
|
|
12
|
+
//
|
|
13
|
+
// config runs that same no-prompt probe standalone — no script needed — and prints each
|
|
14
|
+
// requested harness's advertised config-option catalog (model ids, effort levels, modes,
|
|
15
|
+
// …). See ./config.ts for the programmatic API (`probeHarnessConfig`).
|
|
11
16
|
import { existsSync, readFileSync, statSync, writeFileSync } from "node:fs";
|
|
12
17
|
import { resolve } from "node:path";
|
|
13
18
|
import { openWorkflowDir } from "@automatalabs/workflow-engine";
|
|
14
19
|
import { validateWorkflowScript, formatValidateReport } from "./validate.js";
|
|
20
|
+
import { probeHarnessConfig, formatHarnessConfigReport } from "./config.js";
|
|
21
|
+
const ROOT_USAGE = `Usage: agentprism-workflows <command> …
|
|
22
|
+
|
|
23
|
+
Commands:
|
|
24
|
+
validate <workflow-file-or-name> validate a workflow script without spending tokens
|
|
25
|
+
(static parse + mock dry run + harness config probe)
|
|
26
|
+
config [harness ...] print each ACP harness's advertised config-option
|
|
27
|
+
catalog (model ids, effort levels, modes, …) so
|
|
28
|
+
model/configOptions values come from the live
|
|
29
|
+
catalog, not guesswork
|
|
30
|
+
|
|
31
|
+
Run \`agentprism-workflows <command> --help\` for that command's options.`;
|
|
15
32
|
const USAGE = `Usage: agentprism-workflows validate <workflow-file-or-name> [options]
|
|
16
33
|
|
|
17
34
|
Validates an AgentPrism workflow script without spending tokens:
|
|
@@ -50,8 +67,33 @@ Notes:
|
|
|
50
67
|
report reminds you that real runs require explicit approval
|
|
51
68
|
|
|
52
69
|
Exit codes: 0 valid · 1 parse/static failure · 2 dry-run failure · 3 usage error`;
|
|
70
|
+
const CONFIG_USAGE = `Usage: agentprism-workflows config [harness ...] [options]
|
|
71
|
+
|
|
72
|
+
Prints each requested ACP harness's advertised, negotiable session config-option
|
|
73
|
+
catalog — model ids (including bracket variants like opus[1m]), effort levels, modes,
|
|
74
|
+
and every other session option — by opening one no-prompt session per harness. Zero
|
|
75
|
+
tokens. Run this BEFORE authoring a workflow so \`model\` / \`configOptions\` values come
|
|
76
|
+
from the live catalog instead of guesswork (or a throwaway probe workflow).
|
|
77
|
+
|
|
78
|
+
Harnesses: the built-in names (claude, codex, opencode) and any custom backend
|
|
79
|
+
registered via the AGENTPRISM_BACKENDS env var. Default: all of them. A harness that
|
|
80
|
+
cannot spawn or authenticate reports \`probed: false\` with the reason and never blocks
|
|
81
|
+
the others.
|
|
82
|
+
|
|
83
|
+
Options:
|
|
84
|
+
--cwd <dir> session cwd for the probes (default: the current directory —
|
|
85
|
+
harnesses may resolve project-level config, and hence their
|
|
86
|
+
catalog, from it)
|
|
87
|
+
--timeout-ms <n> per-harness probe bound in milliseconds (default 60000); a
|
|
88
|
+
timed-out harness reports probed:false
|
|
89
|
+
--json print the machine-readable report to stdout
|
|
90
|
+
-h, --help show this help
|
|
91
|
+
|
|
92
|
+
Exit codes: 0 all probed · 1 at least one probe failed · 3 usage error`;
|
|
93
|
+
let activeCommand = "";
|
|
53
94
|
function fail(message) {
|
|
54
|
-
|
|
95
|
+
const hint = activeCommand === "" ? "agentprism-workflows --help" : `agentprism-workflows ${activeCommand} --help`;
|
|
96
|
+
writeFileSync(process.stderr.fd, `${message}\n\nRun \`${hint}\` for usage.\n`);
|
|
55
97
|
process.exit(3);
|
|
56
98
|
}
|
|
57
99
|
function parseIntFlag(name, raw) {
|
|
@@ -60,14 +102,60 @@ function parseIntFlag(name, raw) {
|
|
|
60
102
|
fail(`${name} expects a positive number`);
|
|
61
103
|
return Math.floor(value);
|
|
62
104
|
}
|
|
105
|
+
async function mainConfig(rest) {
|
|
106
|
+
let json = false;
|
|
107
|
+
const harnesses = [];
|
|
108
|
+
const options = {};
|
|
109
|
+
for (let i = 0; i < rest.length; i++) {
|
|
110
|
+
const arg = rest[i];
|
|
111
|
+
switch (arg) {
|
|
112
|
+
case "-h":
|
|
113
|
+
case "--help":
|
|
114
|
+
process.stdout.write(`${CONFIG_USAGE}\n`);
|
|
115
|
+
process.exit(0);
|
|
116
|
+
break;
|
|
117
|
+
case "--json":
|
|
118
|
+
json = true;
|
|
119
|
+
break;
|
|
120
|
+
case "--cwd":
|
|
121
|
+
options.cwd = resolve(rest[++i] ?? fail("--cwd expects a directory"));
|
|
122
|
+
break;
|
|
123
|
+
case "--timeout-ms":
|
|
124
|
+
options.timeoutMs = parseIntFlag("--timeout-ms", rest[++i]);
|
|
125
|
+
break;
|
|
126
|
+
default:
|
|
127
|
+
if (arg.startsWith("-"))
|
|
128
|
+
fail(`unknown option "${arg}"`);
|
|
129
|
+
harnesses.push(arg);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (harnesses.length > 0)
|
|
133
|
+
options.harnesses = harnesses;
|
|
134
|
+
// A malformed AGENTPRISM_BACKENDS registry throws here — that is a configuration
|
|
135
|
+
// error (usage exit), not a probe outcome.
|
|
136
|
+
let report;
|
|
137
|
+
try {
|
|
138
|
+
report = await probeHarnessConfig(options);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
fail(error instanceof Error ? error.message : String(error));
|
|
142
|
+
}
|
|
143
|
+
writeFileSync(process.stdout.fd, json ? `${JSON.stringify(report, null, 2)}\n` : `${formatHarnessConfigReport(report)}\n`);
|
|
144
|
+
process.exitCode = report.exitCode;
|
|
145
|
+
}
|
|
63
146
|
async function main(argv) {
|
|
64
147
|
const [command, ...rest] = argv;
|
|
65
148
|
if (command === undefined || command === "-h" || command === "--help") {
|
|
66
|
-
process.stdout.write(`${
|
|
149
|
+
process.stdout.write(`${ROOT_USAGE}\n`);
|
|
67
150
|
process.exit(command === undefined ? 3 : 0);
|
|
68
151
|
}
|
|
152
|
+
if (command === "config") {
|
|
153
|
+
activeCommand = "config";
|
|
154
|
+
return mainConfig(rest);
|
|
155
|
+
}
|
|
69
156
|
if (command !== "validate")
|
|
70
|
-
fail(`unknown command "${command}" — the
|
|
157
|
+
fail(`unknown command "${command}" — the commands are: validate, config`);
|
|
158
|
+
activeCommand = "validate";
|
|
71
159
|
let file;
|
|
72
160
|
let json = false;
|
|
73
161
|
let mockAnswersFlag;
|
|
@@ -207,6 +295,7 @@ async function main(argv) {
|
|
|
207
295
|
process.exitCode = report.exitCode;
|
|
208
296
|
}
|
|
209
297
|
main(process.argv.slice(2)).catch((error) => {
|
|
210
|
-
|
|
298
|
+
const command = activeCommand === "" ? "agentprism-workflows" : activeCommand;
|
|
299
|
+
process.stderr.write(`${command} crashed: ${error instanceof Error ? (error.stack ?? error.message) : String(error)}\n`);
|
|
211
300
|
process.exit(3);
|
|
212
301
|
});
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { CustomBackendConfig } from "@automatalabs/acp-agents";
|
|
2
|
+
import type { ValidateHarnessOptions } from "./validate.js";
|
|
3
|
+
export interface ProbeHarnessConfigOptions {
|
|
4
|
+
/** Harness names to probe (built-in `claude` / `codex` / `opencode` or a registered
|
|
5
|
+
* custom name; any model spec routes like an agent() call's). Default: every routable
|
|
6
|
+
* harness — the three built-ins plus each registered custom backend. */
|
|
7
|
+
harnesses?: string[];
|
|
8
|
+
/** Programmatic custom-backend registry, merged over the AGENTPRISM_BACKENDS env var
|
|
9
|
+
* exactly like `createAcpRunner({ backends })`. */
|
|
10
|
+
backends?: Record<string, CustomBackendConfig>;
|
|
11
|
+
/** Session cwd for the probes. Default `process.cwd()` — harnesses may resolve
|
|
12
|
+
* project-level configuration (and hence their catalog) from it. */
|
|
13
|
+
cwd?: string;
|
|
14
|
+
/** Per-harness wall-clock bound. A timed-out harness reports `probed:false` without
|
|
15
|
+
* affecting the others. Default 60000. */
|
|
16
|
+
timeoutMs?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface HarnessConfigReport {
|
|
19
|
+
/** True when every requested harness probed successfully. */
|
|
20
|
+
ok: boolean;
|
|
21
|
+
/** 0 = all probed; 1 = at least one probe failed. */
|
|
22
|
+
exitCode: 0 | 1;
|
|
23
|
+
/** One entry per requested harness, in request order — the same shape validate reports. */
|
|
24
|
+
harnessOptions: ValidateHarnessOptions[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Probe each requested harness's advertised config-option catalog. A per-harness
|
|
28
|
+
* spawn/auth/session failure (or timeout) is reported as `probed:false` on that entry —
|
|
29
|
+
* never thrown. Only caller configuration errors throw: a malformed AGENTPRISM_BACKENDS /
|
|
30
|
+
* `backends` registry (loud at construction, mirroring `createAcpRunner`) or invalid options.
|
|
31
|
+
*/
|
|
32
|
+
export declare function probeHarnessConfig(options?: ProbeHarnessConfigOptions): Promise<HarnessConfigReport>;
|
|
33
|
+
/** Render a HarnessConfigReport as the human-readable CLI output (validate's table format). */
|
|
34
|
+
export declare function formatHarnessConfigReport(report: HarnessConfigReport): string;
|
|
35
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,WAAW,yBAAyB;IACxC;;6EAEyE;IACzE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;wDACoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C;yEACqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;+CAC2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,EAAE,EAAE,OAAO,CAAC;IACZ,qDAAqD;IACrD,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,2FAA2F;IAC3F,cAAc,EAAE,sBAAsB,EAAE,CAAC;CAC1C;AAKD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAoC9B;AAED,+FAA+F;AAC/F,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAU7E"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// Harness config discovery — the programmatic core behind `agentprism-workflows config`
|
|
2
|
+
// (see ./cli.ts), validate's sibling. Where validate probes only the harnesses a script
|
|
3
|
+
// routes to, this probes any requested (or every routable) harness WITHOUT a script:
|
|
4
|
+
// one no-prompt ACP session per harness, returning the agent-advertised session
|
|
5
|
+
// config-option catalog verbatim — model ids (including bracket variants), effort
|
|
6
|
+
// levels, modes, and every other negotiable option. Zero tokens. Authoring flows run
|
|
7
|
+
// this FIRST so `model` / `configOptions` values come from the live catalog, not memory.
|
|
8
|
+
import { redactText } from "@automatalabs/workflow-engine";
|
|
9
|
+
import { resolveBackendRegistry } from "@automatalabs/acp-agents";
|
|
10
|
+
import { createValidateProbeRunner } from "./validate-internal.js";
|
|
11
|
+
import { renderHarnessOptionLines } from "./validate.js";
|
|
12
|
+
const BUILTIN_HARNESSES = ["claude", "codex", "opencode"];
|
|
13
|
+
const DEFAULT_PROBE_TIMEOUT_MS = 60_000;
|
|
14
|
+
/**
|
|
15
|
+
* Probe each requested harness's advertised config-option catalog. A per-harness
|
|
16
|
+
* spawn/auth/session failure (or timeout) is reported as `probed:false` on that entry —
|
|
17
|
+
* never thrown. Only caller configuration errors throw: a malformed AGENTPRISM_BACKENDS /
|
|
18
|
+
* `backends` registry (loud at construction, mirroring `createAcpRunner`) or invalid options.
|
|
19
|
+
*/
|
|
20
|
+
export async function probeHarnessConfig(options = {}) {
|
|
21
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_PROBE_TIMEOUT_MS;
|
|
22
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
23
|
+
throw new TypeError("probeHarnessConfig: timeoutMs must be a positive number");
|
|
24
|
+
}
|
|
25
|
+
const cwd = options.cwd ?? process.cwd();
|
|
26
|
+
const registry = resolveBackendRegistry(options.backends);
|
|
27
|
+
const targets = [
|
|
28
|
+
...new Set(options.harnesses && options.harnesses.length > 0
|
|
29
|
+
? options.harnesses
|
|
30
|
+
: [...BUILTIN_HARNESSES, ...registry.keys()]),
|
|
31
|
+
];
|
|
32
|
+
const harnessOptions = [];
|
|
33
|
+
const runner = createValidateProbeRunner(options.backends);
|
|
34
|
+
try {
|
|
35
|
+
for (const target of targets) {
|
|
36
|
+
try {
|
|
37
|
+
const result = await withProbeTimeout(runner.probeConfigOptions(target, { cwd }), timeoutMs);
|
|
38
|
+
harnessOptions.push({ backendId: result.backendId, probed: true, options: result.options });
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
harnessOptions.push({ backendId: target, probed: false, error: probeErrorMessage(error) });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
try {
|
|
47
|
+
await runner.dispose();
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Probe results are already complete; disposal (e.g. of a timed-out process) is best-effort.
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const ok = harnessOptions.every((harness) => harness.probed);
|
|
54
|
+
return { ok, exitCode: ok ? 0 : 1, harnessOptions };
|
|
55
|
+
}
|
|
56
|
+
/** Render a HarnessConfigReport as the human-readable CLI output (validate's table format). */
|
|
57
|
+
export function formatHarnessConfigReport(report) {
|
|
58
|
+
const lines = ["advertised config options:"];
|
|
59
|
+
if (report.harnessOptions.length === 0) {
|
|
60
|
+
lines.push(" (no harnesses requested)");
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
lines.push(...renderHarnessOptionLines(report.harnessOptions, " "));
|
|
64
|
+
}
|
|
65
|
+
const probed = report.harnessOptions.filter((harness) => harness.probed).length;
|
|
66
|
+
lines.push(`result: ${probed}/${report.harnessOptions.length} harness(es) probed`);
|
|
67
|
+
return lines.join("\n");
|
|
68
|
+
}
|
|
69
|
+
/** Bound one probe; the underlying promise keeps its handlers, so a late settle is inert. */
|
|
70
|
+
function withProbeTimeout(op, ms) {
|
|
71
|
+
return new Promise((resolve, reject) => {
|
|
72
|
+
const timer = setTimeout(() => reject(new Error(`probe timed out after ${ms}ms`)), ms);
|
|
73
|
+
timer.unref?.();
|
|
74
|
+
op.then((value) => {
|
|
75
|
+
clearTimeout(timer);
|
|
76
|
+
resolve(value);
|
|
77
|
+
}, (error) => {
|
|
78
|
+
clearTimeout(timer);
|
|
79
|
+
reject(error);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function probeErrorMessage(error) {
|
|
84
|
+
return redactText(error instanceof Error ? error.message : String(error)).value;
|
|
85
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export type { RunIsolationOptions, IsolationRunResult, ReplayRunnerOptions, Reso
|
|
|
9
9
|
export { openWorkflowDir, type WorkflowDir, type WorkflowDirEntry, type OpenWorkflowDirOptions, } from "@automatalabs/workflow-engine";
|
|
10
10
|
export { validateWorkflowScript, fabricateFromSchema, formatValidateReport, MOCK_TOKENS_PER_AGENT } from "./validate.js";
|
|
11
11
|
export type { MockAnswerJson, MockAnswerRule, MockAnswers, MockAnswerSequence, UnusedMockAnswer, ValidateWorkflowOptions, ValidateWorkflowReport, ValidateHarnessOptions, ValidatedAgentCall, ValidatedCheckpoint, ValidatedMockAnswerRule, ValidatedMockAnswers, ValidatedMockAnswerUse, } from "./validate.js";
|
|
12
|
+
export { probeHarnessConfig, formatHarnessConfigReport } from "./config.js";
|
|
13
|
+
export type { ProbeHarnessConfigOptions, HarnessConfigReport } from "./config.js";
|
|
12
14
|
export type { WorkflowRunOptions, AgentOptions, ExecOptions, WorkflowManagerOptions, CheckpointOptions, WorkflowRunResult, WorkflowSnapshot, WorkflowPathOptions, RunPersistence, RunPersistenceOptions, PersistedRunState, PersistedAgentState, PersistedResumeFormat, PersistedResumeCandidate, PersistedCheckpointInjection, PersistedResumeSeed, PersistedRunLineageTombstone, PreparedResume, WorkflowLogTail, WorkflowRunCallStatus, WorkflowRunInspectionOptions, WorkflowRunStatus, WorkflowRunStatusTruncation, WorkflowRunFallback, WorkflowCheckpointSource, WorkflowCheckpointTaken, ResumePolicy, WorkflowResumeStrategy, WorkflowResumeMatch, WorkflowResumeFallbackReason, WorkflowResumeDisabledReason, WorkflowResumeCallLiveReason, WorkflowResumeCallFailedReason, WorkflowResumeSafety, WorkflowCallReplayProvenance, WorkflowResumeCallDecision, WorkflowResumeReport, } from "@automatalabs/workflow-engine";
|
|
13
15
|
export { AGENTPRISM_PERSISTENCE_ROOT_ENV, WorkflowError, WorkflowErrorCode, isWorkflowError, isProviderUsageLimit, isAuthRequired, } from "@automatalabs/workflow-engine";
|
|
14
16
|
export { withRunEvents, RunEventLogError, RUN_EVENT_READ_LIMIT_DEFAULT, RUN_EVENT_READ_LIMIT_MAX, RUN_EVENT_MAX_RECORD_BYTES, } from "@automatalabs/workflow-engine";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAKL,eAAe,IAAI,qBAAqB,EACzC,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAoB,YAAY,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AACjH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAyB,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAClH,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAMzF,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC/F,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EACL,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzH,YAAY,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -27,6 +27,10 @@ export { openWorkflowDir, } from "@automatalabs/workflow-engine";
|
|
|
27
27
|
// ── Token-free script validation: static parse + mock-runner dry run. Also the core of
|
|
28
28
|
// the `agentprism-workflows validate` CLI (./cli.ts). ──
|
|
29
29
|
export { validateWorkflowScript, fabricateFromSchema, formatValidateReport, MOCK_TOKENS_PER_AGENT } from "./validate.js";
|
|
30
|
+
// ── Harness config discovery: validate's sibling (`agentprism-workflows config`) — probe
|
|
31
|
+
// any routable ACP harness's advertised config-option catalog (model ids, effort levels,
|
|
32
|
+
// modes, …) without authoring a script. ──
|
|
33
|
+
export { probeHarnessConfig, formatHarnessConfigReport } from "./config.js";
|
|
30
34
|
export { AGENTPRISM_PERSISTENCE_ROOT_ENV, WorkflowError, WorkflowErrorCode, isWorkflowError, isProviderUsageLimit, isAuthRequired, } from "@automatalabs/workflow-engine";
|
|
31
35
|
// ── Durable run-event read/tail seam: the append/read/watch API over the per-run
|
|
32
36
|
// `<runId>.events.jsonl` sidecar, its error taxonomy, and the read caps (§2.10). A host
|
package/dist/validate.d.ts
CHANGED
|
@@ -131,6 +131,10 @@ export declare const MOCK_TOKENS_PER_AGENT = 1000;
|
|
|
131
131
|
* read `report.ok` / `report.exitCode`.
|
|
132
132
|
*/
|
|
133
133
|
export declare function validateWorkflowScript(script: string, options?: ValidateWorkflowOptions): Promise<ValidateWorkflowReport>;
|
|
134
|
+
/** Render the per-harness advertised config-option tables, one indent level below the
|
|
135
|
+
* given prefix. Shared verbatim between the validate report and `agentprism-workflows
|
|
136
|
+
* config` (./config.ts) so the two commands' tables never drift. */
|
|
137
|
+
export declare function renderHarnessOptionLines(harnesses: readonly ValidateHarnessOptions[], indent: string): string[];
|
|
134
138
|
/** Render a ValidateWorkflowReport as the human-readable CLI output. */
|
|
135
139
|
export declare function formatValidateReport(report: ValidateWorkflowReport): string;
|
|
136
140
|
//# sourceMappingURL=validate.d.ts.map
|
package/dist/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/validate.js
CHANGED
|
@@ -895,6 +895,29 @@ export async function validateWorkflowScript(script, options = {}) {
|
|
|
895
895
|
function truncate(text, max) {
|
|
896
896
|
return text.length > max ? `${text.slice(0, max - 1)}…` : text;
|
|
897
897
|
}
|
|
898
|
+
/** Render the per-harness advertised config-option tables, one indent level below the
|
|
899
|
+
* given prefix. Shared verbatim between the validate report and `agentprism-workflows
|
|
900
|
+
* config` (./config.ts) so the two commands' tables never drift. */
|
|
901
|
+
export function renderHarnessOptionLines(harnesses, indent) {
|
|
902
|
+
const lines = [];
|
|
903
|
+
for (const harness of harnesses) {
|
|
904
|
+
if (!harness.probed) {
|
|
905
|
+
lines.push(`${indent}${harness.backendId}: probe failed — ${harness.error ?? "unknown error"}`);
|
|
906
|
+
continue;
|
|
907
|
+
}
|
|
908
|
+
lines.push(`${indent}${harness.backendId}:`);
|
|
909
|
+
lines.push(`${indent} id | type | current | choices`);
|
|
910
|
+
if ((harness.options ?? []).length === 0) {
|
|
911
|
+
lines.push(`${indent} (none advertised)`);
|
|
912
|
+
continue;
|
|
913
|
+
}
|
|
914
|
+
for (const option of harness.options ?? []) {
|
|
915
|
+
const choices = option.type === "select" ? displayAlternatives(selectChoiceValues(option)) : "true, false";
|
|
916
|
+
lines.push(`${indent} ${option.id} | ${option.type} | ${displayValue(option.currentValue)} | ${choices}`);
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
return lines;
|
|
920
|
+
}
|
|
898
921
|
/** Render a ValidateWorkflowReport as the human-readable CLI output. */
|
|
899
922
|
export function formatValidateReport(report) {
|
|
900
923
|
const lines = [];
|
|
@@ -925,22 +948,7 @@ export function formatValidateReport(report) {
|
|
|
925
948
|
lines.push(` • ${call.label} ${bits}`);
|
|
926
949
|
}
|
|
927
950
|
lines.push(" advertised config options:");
|
|
928
|
-
|
|
929
|
-
if (!harness.probed) {
|
|
930
|
-
lines.push(` ${harness.backendId}: probe failed — ${harness.error ?? "unknown error"}`);
|
|
931
|
-
continue;
|
|
932
|
-
}
|
|
933
|
-
lines.push(` ${harness.backendId}:`);
|
|
934
|
-
lines.push(" id | type | current | choices");
|
|
935
|
-
if ((harness.options ?? []).length === 0) {
|
|
936
|
-
lines.push(" (none advertised)");
|
|
937
|
-
continue;
|
|
938
|
-
}
|
|
939
|
-
for (const option of harness.options ?? []) {
|
|
940
|
-
const choices = option.type === "select" ? displayAlternatives(selectChoiceValues(option)) : "true, false";
|
|
941
|
-
lines.push(` ${option.id} | ${option.type} | ${displayValue(option.currentValue)} | ${choices}`);
|
|
942
|
-
}
|
|
943
|
-
}
|
|
951
|
+
lines.push(...renderHarnessOptionLines(dry.harnessOptions ?? [], " "));
|
|
944
952
|
if ((dry.harnessOptions ?? []).length === 0)
|
|
945
953
|
lines.push(" (no routed harnesses)");
|
|
946
954
|
for (const cp of dry.checkpoints) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automatalabs/workflows",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22"
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"typebox": "1.3.2",
|
|
34
|
-
"@automatalabs/
|
|
35
|
-
"@automatalabs/
|
|
36
|
-
"@automatalabs/acp-agents": "0.
|
|
34
|
+
"@automatalabs/shared-types": "0.24.0",
|
|
35
|
+
"@automatalabs/workflow-engine": "0.26.0",
|
|
36
|
+
"@automatalabs/acp-agents": "0.29.0"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "tsc -b",
|