@automatalabs/workflows 0.30.0 → 0.31.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 +53 -26
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -23
- package/dist/isolation.d.ts +24 -0
- package/dist/isolation.d.ts.map +1 -0
- package/dist/isolation.js +54 -0
- package/dist/script-backends.d.ts +7 -0
- package/dist/script-backends.d.ts.map +1 -0
- package/dist/script-backends.js +20 -0
- package/dist/validate.d.ts +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -15,10 +15,10 @@ If you want to expose a `workflow` tool to an MCP host (Claude Code, Zed, …),
|
|
|
15
15
|
you want to embed the runner in your own program, use this one.
|
|
16
16
|
|
|
17
17
|
It is a **programmatic library**, not an MCP stdio server. It is a thin facade over the engine +
|
|
18
|
-
ACP packages and adds
|
|
19
|
-
|
|
20
|
-
optional StructuredOutput tool for eligible agents; consumers still interact
|
|
21
|
-
workflow/runner APIs rather than MCP server schemas.
|
|
18
|
+
ACP packages and adds ACP-defaulted helpers for ordinary runs (`runDynamicWorkflow`) and
|
|
19
|
+
substitution tests (`runIsolation`). The ACP layer does use `@modelcontextprotocol/sdk` internally
|
|
20
|
+
when it hosts the optional StructuredOutput tool for eligible agents; consumers still interact
|
|
21
|
+
through this SDK's workflow/runner APIs rather than MCP server schemas.
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
@@ -116,6 +116,27 @@ Every script **must** begin with `export const meta = { name, description, phase
|
|
|
116
116
|
statement, and must be **deterministic** — `Date.now()`, `Math.random()`, and `new Date()` are
|
|
117
117
|
unavailable inside the realm (they would break journal replay on resume).
|
|
118
118
|
|
|
119
|
+
### Substitution testing (isolation mode)
|
|
120
|
+
|
|
121
|
+
Record a normal managed run, then re-run its recorded script with one selected step live while all
|
|
122
|
+
other calls are served from the recording:
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
import { runIsolation } from "@automatalabs/workflows";
|
|
126
|
+
|
|
127
|
+
const isolated = await runIsolation({
|
|
128
|
+
baselineRunId: recorded.runId,
|
|
129
|
+
live: [{ label: "step-2", model: "codex/gpt-5.3-codex" }],
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
const target = isolated.report.calls.find((call) => call.mode === "live-target");
|
|
133
|
+
console.log(isolated.status, target?.recordedUsage, target?.liveUsage);
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
The SDK defaults the live runner to ACP and disposes it; pass `runner` to inject and retain your own.
|
|
137
|
+
See the [Isolation mode API](../../docs/api.md#isolation-mode) for baseline admissibility, target
|
|
138
|
+
selection, typed refusals, report semantics, and the lower-level `createReplayRunner` composition.
|
|
139
|
+
|
|
119
140
|
### b) `createAcpRunner().run(...)` — drive a single agent
|
|
120
141
|
|
|
121
142
|
Skip the script realm entirely and call one agent directly. The runner is the default ACP
|
|
@@ -132,7 +153,7 @@ try {
|
|
|
132
153
|
type: "object", additionalProperties: false,
|
|
133
154
|
required: ["summary"], properties: { summary: { type: "string" } },
|
|
134
155
|
},
|
|
135
|
-
model: "opus",
|
|
156
|
+
model: "claude/opus[1m]", // registered prefix routes; the remaining id is verbatim
|
|
136
157
|
cwd: process.cwd(), // absolute working dir for the agent's session
|
|
137
158
|
});
|
|
138
159
|
// data is the schema-validated object (not text)
|
|
@@ -159,7 +180,7 @@ experimental), never via the return value.
|
|
|
159
180
|
>
|
|
160
181
|
> ```ts
|
|
161
182
|
> await runner.run("Cut the release.", {
|
|
162
|
-
> model: "gpt-5.
|
|
183
|
+
> model: "codex/gpt-5.6-sol",
|
|
163
184
|
> baseInstructions: "You are a release bot. Only touch CHANGELOG.md.",
|
|
164
185
|
> developerInstructions: "Prefer conventional-commit summaries.",
|
|
165
186
|
> });
|
|
@@ -179,8 +200,8 @@ experimental), never via the return value.
|
|
|
179
200
|
> await runner.run("Verify the checkout flow.", { model: "browser" });
|
|
180
201
|
> ```
|
|
181
202
|
>
|
|
182
|
-
> `model: "browser/vision-large"` additionally
|
|
183
|
-
>
|
|
203
|
+
> `model: "browser/vision-large"` additionally sends exactly `vision-large` as the agent's model
|
|
204
|
+
> config option. The same registry can be declared via `AGENTPRISM_BACKENDS` (JSON env var; the
|
|
184
205
|
> programmatic option wins per name). A `schema` is forwarded as turn-level `_meta.outputSchema`
|
|
185
206
|
> and embedded in the prompt. Eligible HTTP-MCP agents also receive the client-hosted
|
|
186
207
|
> `StructuredOutput` capture tool; otherwise the result is JSON-parsed from the final message.
|
|
@@ -251,8 +272,8 @@ checkpoint unless the author opts in. `WorkflowManagerOptions` lets you set a de
|
|
|
251
272
|
`loadSavedWorkflow` resolver (enables nested `workflow('name')`), a custom `persistence`
|
|
252
273
|
implementation, and per-agent timeout/retry defaults.
|
|
253
274
|
|
|
254
|
-
Every terminal result may also carry `fallbacks` (
|
|
255
|
-
|
|
275
|
+
Every terminal result may also carry `fallbacks` (a compatibility audit surface for non-resolution
|
|
276
|
+
subsystems or third-party runners) and `checkpointsTaken` (one
|
|
256
277
|
resolved checkpoint per call with the journaled decision and `live` / `headless-default` /
|
|
257
278
|
`journal-replay` / `injected` source). They are absent when empty, persist for cold reads, never
|
|
258
279
|
enter replay hashes, and are not part of `WorkflowRunStatus` inspection.
|
|
@@ -583,26 +604,27 @@ toStrictJsonSchema(schema); // OpenAI-strict-normalized (Codex outputSchema)
|
|
|
583
604
|
|
|
584
605
|
## Backend selection
|
|
585
606
|
|
|
586
|
-
The backend for each agent is chosen from its `model` (preferred) or `tier` string
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
`opencode`, or any registered custom backend name; default `claude`).
|
|
607
|
+
The backend for each agent is chosen from its effective `model` (preferred) or `tier` string. Split
|
|
608
|
+
the string on its first `/`. If the first segment, ASCII-case-insensitively, is `claude`, `codex`,
|
|
609
|
+
`opencode`, or a registered custom backend name, it selects that harness and is stripped exactly
|
|
610
|
+
once; a custom registration wins on a built-in-name collision. A registered harness name alone is
|
|
611
|
+
backend-only and preserves that harness's configured default model. Any other first segment sends
|
|
612
|
+
the entire authored string unchanged to `AGENTPRISM_DEFAULT_BACKEND` (default `claude`). Omitting
|
|
613
|
+
the spec also uses the configured default backend and its default model.
|
|
594
614
|
|
|
595
615
|
```ts
|
|
596
616
|
import { selectBackend } from "@automatalabs/workflows";
|
|
597
617
|
|
|
598
|
-
selectBackend({ model: "opus" }).id;
|
|
599
|
-
selectBackend({ model: "gpt-5.
|
|
600
|
-
selectBackend({ model: "
|
|
618
|
+
selectBackend({ model: "claude/opus[1m]" }).id; // "claude"
|
|
619
|
+
selectBackend({ model: "codex/gpt-5.6-sol" }).id; // "codex"
|
|
620
|
+
selectBackend({ model: "opencode/zai/glm-5.2" }).id; // "opencode"
|
|
601
621
|
```
|
|
602
622
|
|
|
603
|
-
|
|
604
|
-
(
|
|
605
|
-
|
|
623
|
+
When an id remains after routing, it becomes the exact ACP `session/set_config_option` value
|
|
624
|
+
(surfaced as `SessionHandle.selectModel()`): no normalization, catalog matching, bracket parsing,
|
|
625
|
+
retry, echo verification, or fallback. Brackets, dots, slashes, and provider-style prefixes are
|
|
626
|
+
ordinary id characters. A harness error follows the existing agent-error path. Per-backend pool
|
|
627
|
+
size is `AGENTPRISM_ACP_POOL_SIZE` (or `AcpPoolOptions.size`).
|
|
606
628
|
|
|
607
629
|
---
|
|
608
630
|
|
|
@@ -611,6 +633,8 @@ Within a provider, the model spec selects the concrete model through ACP session
|
|
|
611
633
|
```ts
|
|
612
634
|
// ── Run entry & helper ──
|
|
613
635
|
runDynamicWorkflow, // (script, { args?, runner?, exec? }) => Promise<WorkflowRunResult>
|
|
636
|
+
runIsolation, // ACP-defaulted single-target substitution over a recorded run
|
|
637
|
+
createReplayRunner, // backend-neutral in-memory replay composition primitive
|
|
614
638
|
runWorkflow, // the bare engine run (no status trio)
|
|
615
639
|
parseWorkflowScript, // parse a script's meta + body
|
|
616
640
|
validateWorkflowScript, // token-free parse + mock-runner dry run (the `validate` CLI's core)
|
|
@@ -638,7 +662,10 @@ WorkflowError, WorkflowErrorCode, isWorkflowError, isProviderUsageLimit, isAuthR
|
|
|
638
662
|
AGENTPRISM_PERSISTENCE_ROOT_ENV,
|
|
639
663
|
|
|
640
664
|
// ── Types ──
|
|
641
|
-
RunDynamicWorkflowOptions,
|
|
665
|
+
RunDynamicWorkflowOptions, RunIsolationSdkOptions, RunIsolationOptions, IsolationRunResult,
|
|
666
|
+
IsolationTarget, ReplayRunnerOptions, ReplayRunner, ReplayObservation, ReplayReport,
|
|
667
|
+
ReplayCallReport, ReplayDivergenceEvent, ResolvedIsolationTarget,
|
|
668
|
+
WorkflowRunOptions, AgentOptions, ExecOptions, CheckpointCallContext,
|
|
642
669
|
MockAnswerJson, MockAnswerSequence, MockAnswerRule, MockAnswers,
|
|
643
670
|
ValidatedMockAnswerUse, ValidatedMockAnswerRule, UnusedMockAnswer, ValidatedMockAnswers,
|
|
644
671
|
ValidateWorkflowOptions, ValidateWorkflowReport, ValidatedAgentCall, ValidatedCheckpoint,
|
|
@@ -646,7 +673,7 @@ WorkflowManagerOptions, CheckpointOptions, WorkflowRunResult, WorkflowRunFallbac
|
|
|
646
673
|
WorkflowCheckpointTaken, WorkflowCheckpointSource, WorkflowSnapshot,
|
|
647
674
|
WorkflowPathOptions, RunPersistence, RunPersistenceOptions,
|
|
648
675
|
AcpPoolOptions, AcpRunnerOptions, AgentRunner, RunOptions, AgentResult, AgentUsage, JournalEntry,
|
|
649
|
-
AgentSessionRef, AgentSessionRecord, WorkflowBackendConfig,
|
|
676
|
+
AgentSessionRef, AgentSessionRecord, WorkflowBackendConfig, WorkflowCallRecord, WorkflowRecordedError,
|
|
650
677
|
InteractiveSessionOptions, InteractiveTurn, PermissionResolver,
|
|
651
678
|
AuthResolver, AuthContext, AuthResolution, AuthMethodDescriptor, AuthCapableRunner,
|
|
652
679
|
ProviderCapableRunner, // duck-type gate for the MCP provider tools (providers/list|set|disable)
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { WorkflowManager as EngineWorkflowManager } from "@automatalabs/workflow-engine";
|
|
2
2
|
import type { AcpEventName, AcpRunnerEventMap } from "@automatalabs/acp-agents";
|
|
3
3
|
import type { ExecOptions, WorkflowDir, WorkflowManagerOptions } from "@automatalabs/workflow-engine";
|
|
4
|
-
import type { AgentRunner,
|
|
4
|
+
import type { AgentRunner, WorkflowRunResult } from "@automatalabs/shared-types";
|
|
5
|
+
import { type ScriptBackendApproval } from "./script-backends.js";
|
|
5
6
|
export { runWorkflow, parseWorkflowScript, redactText, truncateUtf8 } from "@automatalabs/workflow-engine";
|
|
7
|
+
export { runIsolation, createReplayRunner, type RunIsolationSdkOptions } from "./isolation.js";
|
|
8
|
+
export type { RunIsolationOptions, IsolationRunResult, ReplayRunnerOptions, ResolvedIsolationTarget, IsolationTarget, ReplayRunner, ReplayObservation, ReplayReport, ReplayCallReport, ReplayDivergenceEvent, CheckpointCallContext, WorkflowCallRecord, WorkflowRecordedError, } from "./isolation.js";
|
|
6
9
|
export { openWorkflowDir, type WorkflowDir, type WorkflowDirEntry, type OpenWorkflowDirOptions, } from "@automatalabs/workflow-engine";
|
|
7
10
|
export { validateWorkflowScript, fabricateFromSchema, formatValidateReport, MOCK_TOKENS_PER_AGENT } from "./validate.js";
|
|
8
11
|
export type { MockAnswerJson, MockAnswerRule, MockAnswers, MockAnswerSequence, UnusedMockAnswer, ValidateWorkflowOptions, ValidateWorkflowReport, ValidatedAgentCall, ValidatedCheckpoint, ValidatedMockAnswerRule, ValidatedMockAnswers, ValidatedMockAnswerUse, } from "./validate.js";
|
|
@@ -78,9 +81,7 @@ export declare class WorkflowManager extends EngineWorkflowManager {
|
|
|
78
81
|
* runDynamicWorkflow THROWS with guidance rather than running a script whose declared
|
|
79
82
|
* dependencies were dropped.
|
|
80
83
|
*/
|
|
81
|
-
export type ScriptBackendApproval
|
|
82
|
-
name: string;
|
|
83
|
-
} & WorkflowBackendConfig) => boolean | Promise<boolean>);
|
|
84
|
+
export type { ScriptBackendApproval } from "./script-backends.js";
|
|
84
85
|
/** Options for {@link runDynamicWorkflow}. */
|
|
85
86
|
export interface RunDynamicWorkflowOptions {
|
|
86
87
|
/**
|
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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,18 +2,22 @@
|
|
|
2
2
|
// @automatalabs/workflows — the importable SDK for the AgentPrism dynamic-workflow
|
|
3
3
|
// orchestrator. A FACADE re-export barrel: it re-exports the clean public surface of
|
|
4
4
|
// the three engine packages, adds the SDK-level WorkflowManager ACP-event bridge, and
|
|
5
|
-
// adds
|
|
6
|
-
//
|
|
5
|
+
// adds ACP-defaulted convenience helpers for ordinary and isolation runs. It is
|
|
6
|
+
// SEPARATE from @automatalabs/mcp-server (the stdio MCP server)
|
|
7
7
|
// and stays a PURE library — it pulls in neither @modelcontextprotocol/sdk nor zod.
|
|
8
8
|
//
|
|
9
9
|
// The DSL globals available INSIDE a workflow script (agent, parallel, pipeline, …) are
|
|
10
10
|
// vm-realm globals, NOT importable symbols; they are documented for author IntelliSense
|
|
11
11
|
// in ./dsl.d.ts (referenced above), not exported here.
|
|
12
12
|
import { ACP_CROSS_CUTTING_EVENT_NAMES, createAcpRunner } from "@automatalabs/acp-agents";
|
|
13
|
-
import { openWorkflowDir, parseWorkflowScript,
|
|
13
|
+
import { openWorkflowDir, parseWorkflowScript, WorkflowManager as EngineWorkflowManager, } from "@automatalabs/workflow-engine";
|
|
14
|
+
import { approveScriptBackends } from "./script-backends.js";
|
|
14
15
|
// ── Engine: run entry, script parsing, the managed-run lifecycle, and the
|
|
15
16
|
// option/result + error types the host composes against. ──
|
|
16
17
|
export { runWorkflow, parseWorkflowScript, redactText, truncateUtf8 } from "@automatalabs/workflow-engine";
|
|
18
|
+
// ── Isolation mode: deterministic substitution testing over a recorded run. The SDK
|
|
19
|
+
// wrapper defaults the live target runner to ACP and owns that runner's disposal. ──
|
|
20
|
+
export { runIsolation, createReplayRunner } from "./isolation.js";
|
|
17
21
|
// ── Workflow directory view: openWorkflowDir("./workflows") binds a read-only,
|
|
18
22
|
// per-call-fresh view over folders of versioned workflow scripts (name = filename
|
|
19
23
|
// stem). `view.resolve` IS a loadSavedWorkflow resolver; runDynamicWorkflow accepts
|
|
@@ -200,7 +204,10 @@ export async function runDynamicWorkflow(script, opts = {}) {
|
|
|
200
204
|
}
|
|
201
205
|
let exec = opts.exec;
|
|
202
206
|
if (declared && Object.keys(declared).length > 0) {
|
|
203
|
-
exec = {
|
|
207
|
+
exec = {
|
|
208
|
+
...(exec ?? {}),
|
|
209
|
+
scriptBackends: await approveScriptBackends(declared, opts.allowScriptBackends, "runDynamicWorkflow"),
|
|
210
|
+
};
|
|
204
211
|
}
|
|
205
212
|
const owned = opts.runner === undefined;
|
|
206
213
|
const runner = opts.runner ?? createAcpRunner();
|
|
@@ -214,22 +221,3 @@ export async function runDynamicWorkflow(script, opts = {}) {
|
|
|
214
221
|
await runner.dispose();
|
|
215
222
|
}
|
|
216
223
|
}
|
|
217
|
-
/** Resolve the embedder's approval policy over the declared backends; throw with guidance when
|
|
218
|
-
* approval is missing or any backend is declined (an unapproved dependency must abort, never
|
|
219
|
-
* silently reroute). */
|
|
220
|
-
async function approveScriptBackends(declared, approval) {
|
|
221
|
-
const names = Object.keys(declared).join(", ");
|
|
222
|
-
if (approval === undefined || approval === false) {
|
|
223
|
-
throw new WorkflowError(`script declares custom ACP backends (meta.backends: ${names}) — these spawn commands on this machine and require explicit approval. ` +
|
|
224
|
-
`Pass allowScriptBackends: true (or a per-backend approval callback) to runDynamicWorkflow, ` +
|
|
225
|
-
`or thread an approved registry yourself via exec.scriptBackends.`, WorkflowErrorCode.SCRIPT_VALIDATION_ERROR, { recoverable: false });
|
|
226
|
-
}
|
|
227
|
-
if (approval === true)
|
|
228
|
-
return declared;
|
|
229
|
-
for (const [name, config] of Object.entries(declared)) {
|
|
230
|
-
if (!(await approval({ name, ...config }))) {
|
|
231
|
-
throw new WorkflowError(`script backend "${name}" (command: ${config.command}) was declined by the allowScriptBackends callback — aborting the run`, WorkflowErrorCode.SCRIPT_VALIDATION_ERROR, { recoverable: false });
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
return declared;
|
|
235
|
-
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createReplayRunner } from "@automatalabs/workflow-engine";
|
|
2
|
+
import type { CheckpointCallContext, IsolationRunResult, IsolationTarget, ReplayCallReport, ReplayDivergenceEvent, ReplayObservation, ReplayReport, ReplayRunner, ReplayRunnerOptions, ResolvedIsolationTarget, RunIsolationOptions } from "@automatalabs/workflow-engine";
|
|
3
|
+
import type { AgentRunner, WorkflowCallRecord, WorkflowRecordedError } from "@automatalabs/shared-types";
|
|
4
|
+
import { type ScriptBackendApproval } from "./script-backends.js";
|
|
5
|
+
type OwnedRunner = AgentRunner & {
|
|
6
|
+
dispose: () => Promise<void>;
|
|
7
|
+
};
|
|
8
|
+
type DefaultRunnerFactory = () => OwnedRunner;
|
|
9
|
+
/** Test-only injection point for the owned default runner. Deliberately absent from the package barrel. */
|
|
10
|
+
export declare function __setDefaultRunnerFactoryForTests(factory: DefaultRunnerFactory | undefined): void;
|
|
11
|
+
export interface RunIsolationSdkOptions extends Omit<RunIsolationOptions, "runner" | "scriptBackends"> {
|
|
12
|
+
/** Omitted => createAcpRunner(), disposed after the run. */
|
|
13
|
+
runner?: AgentRunner;
|
|
14
|
+
/** Approval policy for the recording script's declared meta.backends. */
|
|
15
|
+
allowScriptBackends?: ScriptBackendApproval;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Execute an isolation run with the SDK's ACP-defaulted runner and script-backend
|
|
19
|
+
* approval policy. Caller-supplied runners remain caller-owned.
|
|
20
|
+
*/
|
|
21
|
+
export declare function runIsolation<T = unknown>(opts: RunIsolationSdkOptions): Promise<IsolationRunResult<T>>;
|
|
22
|
+
export { createReplayRunner };
|
|
23
|
+
export type { CheckpointCallContext, IsolationRunResult, IsolationTarget, ReplayCallReport, ReplayDivergenceEvent, ReplayObservation, ReplayReport, ReplayRunner, ReplayRunnerOptions, ResolvedIsolationTarget, RunIsolationOptions, WorkflowCallRecord, WorkflowRecordedError, };
|
|
24
|
+
//# sourceMappingURL=isolation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isolation.d.ts","sourceRoot":"","sources":["../src/isolation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAMnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,KAAK,WAAW,GAAG,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAClE,KAAK,oBAAoB,GAAG,MAAM,WAAW,CAAC;AAI9C,2GAA2G;AAC3G,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAEjG;AAED,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAC9D,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,CAAC,GAAG,OAAO,EAC5C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CA0ChC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createAcpRunner } from "@automatalabs/acp-agents";
|
|
2
|
+
import { createReplayRunner, createRunPersistence, parseWorkflowScript, runIsolation as runEngineIsolation, WorkflowError, WorkflowErrorCode, } from "@automatalabs/workflow-engine";
|
|
3
|
+
import { approveScriptBackends } from "./script-backends.js";
|
|
4
|
+
let defaultRunnerFactory = createAcpRunner;
|
|
5
|
+
/** Test-only injection point for the owned default runner. Deliberately absent from the package barrel. */
|
|
6
|
+
export function __setDefaultRunnerFactoryForTests(factory) {
|
|
7
|
+
defaultRunnerFactory = factory ?? createAcpRunner;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Execute an isolation run with the SDK's ACP-defaulted runner and script-backend
|
|
11
|
+
* approval policy. Caller-supplied runners remain caller-owned.
|
|
12
|
+
*/
|
|
13
|
+
export async function runIsolation(opts) {
|
|
14
|
+
let recording;
|
|
15
|
+
try {
|
|
16
|
+
const persistence = createRunPersistence(opts.cwd ?? process.cwd(), undefined, {
|
|
17
|
+
persistenceRoot: opts.persistenceRoot,
|
|
18
|
+
});
|
|
19
|
+
recording = persistence.load(opts.baselineRunId);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
if (error instanceof WorkflowError)
|
|
23
|
+
throw error;
|
|
24
|
+
throw new WorkflowError(error instanceof Error ? error.message : String(error), WorkflowErrorCode.PERSISTENCE_ERROR, { recoverable: false });
|
|
25
|
+
}
|
|
26
|
+
let declared;
|
|
27
|
+
if (recording && typeof recording.script === "string") {
|
|
28
|
+
try {
|
|
29
|
+
declared = parseWorkflowScript(recording.script).meta.backends;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
// The engine owns malformed-recording diagnosis and will reject it with its
|
|
33
|
+
// typed preflight error after reloading the same persisted bytes.
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const scriptBackends = declared && Object.keys(declared).length > 0
|
|
37
|
+
? await approveScriptBackends(declared, opts.allowScriptBackends, "runIsolation")
|
|
38
|
+
: undefined;
|
|
39
|
+
const owned = opts.runner === undefined;
|
|
40
|
+
const runner = opts.runner ?? defaultRunnerFactory();
|
|
41
|
+
try {
|
|
42
|
+
const { allowScriptBackends: _approval, ...engineOptions } = opts;
|
|
43
|
+
return await runEngineIsolation({
|
|
44
|
+
...engineOptions,
|
|
45
|
+
runner,
|
|
46
|
+
...(scriptBackends === undefined ? {} : { scriptBackends }),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
if (owned)
|
|
51
|
+
await runner.dispose();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export { createReplayRunner };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WorkflowBackendConfig } from "@automatalabs/shared-types";
|
|
2
|
+
export type ScriptBackendApproval = boolean | ((backend: {
|
|
3
|
+
name: string;
|
|
4
|
+
} & WorkflowBackendConfig) => boolean | Promise<boolean>);
|
|
5
|
+
/** Resolve explicit host approval for script-declared command-spawning backends. */
|
|
6
|
+
export declare function approveScriptBackends(declared: Record<string, WorkflowBackendConfig>, approval: ScriptBackendApproval | undefined, helperName: "runDynamicWorkflow" | "runIsolation"): Promise<Record<string, WorkflowBackendConfig>>;
|
|
7
|
+
//# sourceMappingURL=script-backends.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-backends.d.ts","sourceRoot":"","sources":["../src/script-backends.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,CAAC,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,qBAAqB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAExF,oFAAoF;AACpF,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC/C,QAAQ,EAAE,qBAAqB,GAAG,SAAS,EAC3C,UAAU,EAAE,oBAAoB,GAAG,cAAc,GAChD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAyBhD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { WorkflowError, WorkflowErrorCode } from "@automatalabs/workflow-engine";
|
|
2
|
+
/** Resolve explicit host approval for script-declared command-spawning backends. */
|
|
3
|
+
export async function approveScriptBackends(declared, approval, helperName) {
|
|
4
|
+
const names = Object.keys(declared).join(", ");
|
|
5
|
+
if (approval === undefined || approval === false) {
|
|
6
|
+
const guidance = helperName === "runDynamicWorkflow"
|
|
7
|
+
? "Pass allowScriptBackends: true (or a per-backend approval callback) to runDynamicWorkflow, or thread an approved registry yourself via exec.scriptBackends."
|
|
8
|
+
: "Pass allowScriptBackends: true (or a per-backend approval callback) to runIsolation.";
|
|
9
|
+
throw new WorkflowError(`script declares custom ACP backends (meta.backends: ${names}) — these spawn commands on this machine and require explicit approval. ` +
|
|
10
|
+
guidance, WorkflowErrorCode.SCRIPT_VALIDATION_ERROR, { recoverable: false });
|
|
11
|
+
}
|
|
12
|
+
if (approval === true)
|
|
13
|
+
return declared;
|
|
14
|
+
for (const [name, config] of Object.entries(declared)) {
|
|
15
|
+
if (!(await approval({ name, ...config }))) {
|
|
16
|
+
throw new WorkflowError(`script backend "${name}" (command: ${config.command}) was declined by the allowScriptBackends callback — aborting the run`, WorkflowErrorCode.SCRIPT_VALIDATION_ERROR, { recoverable: false });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return declared;
|
|
20
|
+
}
|
package/dist/validate.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export interface ValidatedMockAnswers {
|
|
|
60
60
|
export interface ValidatedAgentCall {
|
|
61
61
|
label: string;
|
|
62
62
|
phase?: string;
|
|
63
|
-
/** The model spec the call requested (undefined = the run/session default). */
|
|
63
|
+
/** The verbatim model spec the call requested (undefined = the run/session default). */
|
|
64
64
|
model?: string;
|
|
65
65
|
tier?: string;
|
|
66
66
|
mode?: string;
|
package/dist/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAA2B,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGxF,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,cAAc,EAAE,GAChB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;CAC/C;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAEjE,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;2FACuF;IACvF,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC;IAC5C;6EACyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;8CAC0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,yFAAyF;IACzF,aAAa,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automatalabs/workflows",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
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/shared-types": "0.
|
|
35
|
-
"@automatalabs/workflow-engine": "0.
|
|
36
|
-
"@automatalabs/acp-agents": "0.
|
|
34
|
+
"@automatalabs/shared-types": "0.19.0",
|
|
35
|
+
"@automatalabs/workflow-engine": "0.20.0",
|
|
36
|
+
"@automatalabs/acp-agents": "0.25.1"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "tsc -b",
|