@automatalabs/workflows 0.35.0 → 0.37.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 +40 -0
- 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 +3 -1
- 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 +3 -3
package/README.md
CHANGED
|
@@ -646,6 +646,43 @@ report.warnings; // approval reminders, phase mismatches, headless-abo
|
|
|
646
646
|
|
|
647
647
|
---
|
|
648
648
|
|
|
649
|
+
## Discovering harness options — `agentprism-workflows config`
|
|
650
|
+
|
|
651
|
+
Validate's sibling command runs the same no-prompt config probe **standalone** — no script
|
|
652
|
+
required — so `model` / `configOptions` values can be read off the live catalog before a
|
|
653
|
+
workflow exists:
|
|
654
|
+
|
|
655
|
+
```bash
|
|
656
|
+
npx @automatalabs/workflows config # every routable harness
|
|
657
|
+
npx @automatalabs/workflows config codex opencode # only the named harnesses
|
|
658
|
+
npx @automatalabs/workflows config claude --json # machine-readable report
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
Harness names are the routing names: built-in `claude` / `codex` / `opencode` plus any custom
|
|
662
|
+
backend registered via `AGENTPRISM_BACKENDS` (registered customs also join the no-argument
|
|
663
|
+
default set). Each harness opens one session without a prompt — zero tokens — and reports its
|
|
664
|
+
advertised config-option catalog verbatim: model ids (including bracket variants), effort
|
|
665
|
+
levels, modes, boolean knobs. A harness that cannot spawn or authenticate reports
|
|
666
|
+
`probed: false` with the reason and never blocks the others. Flags: `--cwd <dir>` (probe
|
|
667
|
+
session cwd; default the current directory), `--timeout-ms <n>` (per-harness bound, default
|
|
668
|
+
60000), `--json`. Exit codes: `0` all probed, `1` at least one probe failed, `3` usage error.
|
|
669
|
+
|
|
670
|
+
Programmatic:
|
|
671
|
+
|
|
672
|
+
```ts
|
|
673
|
+
import { probeHarnessConfig, formatHarnessConfigReport } from "@automatalabs/workflows";
|
|
674
|
+
|
|
675
|
+
const report = await probeHarnessConfig({ harnesses: ["codex"] });
|
|
676
|
+
report.ok; // every requested harness probed
|
|
677
|
+
report.harnessOptions; // [{ backendId, probed, options?: SessionConfigOption[], error?: string }]
|
|
678
|
+
formatHarnessConfigReport(report); // the CLI's human table
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
`probeHarnessConfig({ harnesses?, backends?, cwd?, timeoutMs? })` — `backends` merges over
|
|
682
|
+
`AGENTPRISM_BACKENDS` exactly like `createAcpRunner({ backends })`.
|
|
683
|
+
|
|
684
|
+
---
|
|
685
|
+
|
|
649
686
|
## Structured output
|
|
650
687
|
|
|
651
688
|
Pass a JSON Schema to `agent({ schema })` (in a script) or `runner.run(prompt, { schema })` (direct)
|
|
@@ -728,8 +765,10 @@ createReplayRunner, // backend-neutral in-memory replay composition pr
|
|
|
728
765
|
runWorkflow, // the bare engine run (no status trio)
|
|
729
766
|
parseWorkflowScript, // parse a script's meta + body
|
|
730
767
|
validateWorkflowScript, // token-free parse + mock dry run + no-prompt harness option probes
|
|
768
|
+
probeHarnessConfig, // the same no-prompt option probe standalone (the `config` CLI command)
|
|
731
769
|
fabricateFromSchema, // the dry run's JSON-Schema value fabricator
|
|
732
770
|
formatValidateReport, // render a ValidateWorkflowReport as CLI text
|
|
771
|
+
formatHarnessConfigReport, // render a HarnessConfigReport as CLI text
|
|
733
772
|
openWorkflowDir, // read-only view over folders of workflow scripts (name = filename stem)
|
|
734
773
|
WorkflowManager, // stateful / resumable run manager
|
|
735
774
|
RESUME_FALLBACK_REASONS, RESUME_DISABLED_REASONS,
|
|
@@ -762,6 +801,7 @@ MockAnswerJson, MockAnswerSequence, MockAnswerRule, MockAnswers,
|
|
|
762
801
|
ValidatedMockAnswerUse, ValidatedMockAnswerRule, UnusedMockAnswer, ValidatedMockAnswers,
|
|
763
802
|
ValidateWorkflowOptions, ValidateWorkflowReport, ValidateHarnessOptions,
|
|
764
803
|
ValidatedAgentCall, ValidatedCheckpoint,
|
|
804
|
+
ProbeHarnessConfigOptions, HarnessConfigReport,
|
|
765
805
|
WorkflowManagerOptions, CheckpointOptions, WorkflowRunResult, WorkflowRunFallback,
|
|
766
806
|
WorkflowCheckpointTaken, WorkflowCheckpointSource, WorkflowSnapshot,
|
|
767
807
|
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,7 +9,9 @@ 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
|
|
12
|
+
export { probeHarnessConfig, formatHarnessConfigReport } from "./config.js";
|
|
13
|
+
export type { ProbeHarnessConfigOptions, HarnessConfigReport } from "./config.js";
|
|
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";
|
|
15
17
|
export type { RunEventPersistence, RunEventStream, AppendRunEventInput, ReadRunEventsOptions, ReadRunEventsResult, WatchRunEventsOptions, RunEventLogErrorCode, } 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.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22"
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"typebox": "1.3.2",
|
|
34
34
|
"@automatalabs/shared-types": "0.23.0",
|
|
35
|
-
"@automatalabs/
|
|
36
|
-
"@automatalabs/
|
|
35
|
+
"@automatalabs/acp-agents": "0.28.1",
|
|
36
|
+
"@automatalabs/workflow-engine": "0.25.0"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "tsc -b",
|