@automatalabs/workflows 0.58.1 → 1.1.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 +16 -21
- package/dist/cli.js +0 -5
- package/dist/config.d.ts +0 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -5
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -1
- package/dist/mcp-server.js +1562 -1278
- package/dist/validate.d.ts +9 -2
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +28 -33
- package/package.json +5 -5
package/dist/validate.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type WorkflowAgentConfiguration } from "@automatalabs/workflow-engine";
|
|
1
2
|
import type { SessionConfigOption, SessionModeState } from "@automatalabs/acp-agents";
|
|
2
3
|
import type { WorkflowDir } from "@automatalabs/workflow-engine";
|
|
3
4
|
import type { WorkflowMeta } from "@automatalabs/shared-types";
|
|
@@ -26,13 +27,15 @@ export interface ValidateWorkflowOptions {
|
|
|
26
27
|
maxAgents?: number;
|
|
27
28
|
/** Dry-run wall-clock limit. Default 30_000 ms. */
|
|
28
29
|
timeoutMs?: number;
|
|
29
|
-
/** Per routed backend/model config-probe limit. Default 60_000 ms. */
|
|
30
|
-
probeTimeoutMs?: number;
|
|
31
30
|
/**
|
|
32
31
|
* Host-pinned model/backend for calls with no authored model, agentType model, tier,
|
|
33
32
|
* or phase/meta route. The dry run resolves and reports it like live execution.
|
|
34
33
|
*/
|
|
35
34
|
defaultModel?: string;
|
|
35
|
+
/** Host-selected configuration keyed by the dry run's zero-based agent occurrence ordinal. */
|
|
36
|
+
agentConfigurations?: Readonly<Record<number, WorkflowAgentConfiguration>>;
|
|
37
|
+
/** Refuse any live occurrence not covered by agentConfigurations. */
|
|
38
|
+
requireAgentConfiguration?: boolean;
|
|
36
39
|
/** Run routed no-prompt config probes after the mock dry run. Default true. */
|
|
37
40
|
probeConfig?: boolean;
|
|
38
41
|
/** Host-owned no-prompt probe runner. When supplied it is reused and never disposed. */
|
|
@@ -70,7 +73,11 @@ export interface ValidatedMockAnswers {
|
|
|
70
73
|
}
|
|
71
74
|
/** One agent() call observed during the dry run, with its backend attribution. */
|
|
72
75
|
export interface ValidatedAgentCall {
|
|
76
|
+
/** Zero-based occurrence ordinal shared with WorkflowAgentConfiguration selection. */
|
|
77
|
+
index: number;
|
|
73
78
|
label: string;
|
|
79
|
+
/** Credential-redacted, UTF-8-bounded task preview for host configuration UI. */
|
|
80
|
+
promptPreview: string;
|
|
74
81
|
phase?: string;
|
|
75
82
|
/** The verbatim model spec the call requested (undefined = the run/session default). */
|
|
76
83
|
model?: string;
|
package/dist/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/validate.js
CHANGED
|
@@ -14,6 +14,19 @@ import { openWorkflowDir, WorkflowError, WorkflowErrorCode, WorkflowManager, par
|
|
|
14
14
|
import { BUILTIN_BACKEND_IDS, builtinThoughtLevelDomainSemantics, registryWithRunBackends, resolveBackendRegistry, selectBackend, } from "@automatalabs/acp-agents";
|
|
15
15
|
import { Check, Errors } from "typebox/value";
|
|
16
16
|
import { createValidateProbeRunner } from "./validate-internal.js";
|
|
17
|
+
const AGENT_TASK_PREVIEW_BYTES = 384;
|
|
18
|
+
function boundedPromptPreview(prompt) {
|
|
19
|
+
const redacted = redactText(prompt).value.replace(/\s+/g, " ").trim();
|
|
20
|
+
if (Buffer.byteLength(redacted, "utf8") <= AGENT_TASK_PREVIEW_BYTES)
|
|
21
|
+
return redacted;
|
|
22
|
+
let preview = "";
|
|
23
|
+
for (const character of redacted) {
|
|
24
|
+
if (Buffer.byteLength(preview + character + "…", "utf8") > AGENT_TASK_PREVIEW_BYTES)
|
|
25
|
+
break;
|
|
26
|
+
preview += character;
|
|
27
|
+
}
|
|
28
|
+
return `${preview}…`;
|
|
29
|
+
}
|
|
17
30
|
const MAX_MOCK_ANSWERS_BYTES = 256 * 1024;
|
|
18
31
|
const MAX_MOCK_ANSWER_RULES = 256;
|
|
19
32
|
const MAX_MOCK_ANSWER_GLOB_LENGTH = 256;
|
|
@@ -602,7 +615,7 @@ function probeTargetName(target) {
|
|
|
602
615
|
? `${target.backendId} (session default model)`
|
|
603
616
|
: `${target.backendId} model ${JSON.stringify(target.model)}`;
|
|
604
617
|
}
|
|
605
|
-
async function probeHarnessConfigOptions(calls, cwd, registry, hostRegistry, declared, warnings, probeRunner
|
|
618
|
+
async function probeHarnessConfigOptions(calls, cwd, registry, hostRegistry, declared, warnings, probeRunner) {
|
|
606
619
|
const targets = configProbeTargets(calls, registry, hostRegistry, declared);
|
|
607
620
|
const harnessOptions = [];
|
|
608
621
|
const catalogs = new Map();
|
|
@@ -643,7 +656,7 @@ async function probeHarnessConfigOptions(calls, cwd, registry, hostRegistry, dec
|
|
|
643
656
|
selectModel: target.model !== undefined,
|
|
644
657
|
backends: declared,
|
|
645
658
|
signal,
|
|
646
|
-
}),
|
|
659
|
+
}), 60_000);
|
|
647
660
|
catalogs.set(key, result.options);
|
|
648
661
|
modes.set(key, result.modes ?? null);
|
|
649
662
|
defaultModes.set(key, result.defaultModeId);
|
|
@@ -1129,10 +1142,6 @@ export function collapseHarnessOptionsForOutput(harnesses) {
|
|
|
1129
1142
|
export async function validateWorkflowScript(script, options = {}) {
|
|
1130
1143
|
const mockAnswerState = options.mockAnswers === undefined ? undefined : normalizeMockAnswers(options.mockAnswers);
|
|
1131
1144
|
const warnings = [];
|
|
1132
|
-
const probeTimeoutMs = options.probeTimeoutMs ?? 60_000;
|
|
1133
|
-
if (!Number.isFinite(probeTimeoutMs) || probeTimeoutMs <= 0) {
|
|
1134
|
-
throw new TypeError("validateWorkflowScript: probeTimeoutMs must be a positive number");
|
|
1135
|
-
}
|
|
1136
1145
|
let meta;
|
|
1137
1146
|
try {
|
|
1138
1147
|
meta = parseWorkflowScript(script).meta;
|
|
@@ -1174,7 +1183,6 @@ export async function validateWorkflowScript(script, options = {}) {
|
|
|
1174
1183
|
const agentCalls = [];
|
|
1175
1184
|
const pendingAgentCalls = [];
|
|
1176
1185
|
const checkpoints = [];
|
|
1177
|
-
const mockMeta = new Map();
|
|
1178
1186
|
const runner = {
|
|
1179
1187
|
async run(_prompt, runOptions = {}) {
|
|
1180
1188
|
const label = runOptions.label ?? "";
|
|
@@ -1184,8 +1192,7 @@ export async function validateWorkflowScript(script, options = {}) {
|
|
|
1184
1192
|
configOptions: runOptions.configOptions,
|
|
1185
1193
|
schema: runOptions.schema !== undefined,
|
|
1186
1194
|
};
|
|
1187
|
-
|
|
1188
|
-
const pendingCall = mockAnswerState ? pendingAgentCalls.shift() : undefined;
|
|
1195
|
+
const pendingCall = pendingAgentCalls.shift();
|
|
1189
1196
|
if (pendingCall) {
|
|
1190
1197
|
pendingCall.tier = metadata.tier;
|
|
1191
1198
|
pendingCall.mode = metadata.mode;
|
|
@@ -1231,26 +1238,26 @@ export async function validateWorkflowScript(script, options = {}) {
|
|
|
1231
1238
|
const manager = new WorkflowManager({
|
|
1232
1239
|
agent: runner,
|
|
1233
1240
|
cwd: baseCwd,
|
|
1234
|
-
|
|
1241
|
+
// Serial dry-run dispatch makes agentStart -> mock runner correlation deterministic,
|
|
1242
|
+
// including worktree setup and duplicate labels. It does not affect authored semantics.
|
|
1243
|
+
concurrency: 1,
|
|
1235
1244
|
journaling: false,
|
|
1236
1245
|
persistenceRoot,
|
|
1237
1246
|
loadSavedWorkflow: options.loadSavedWorkflow ?? flows?.resolve,
|
|
1238
1247
|
});
|
|
1239
1248
|
manager.on("agentStart", (event) => {
|
|
1240
|
-
const extra = mockMeta.get(event.label) ?? mockMeta.get("") ?? { schema: false };
|
|
1241
1249
|
const call = {
|
|
1250
|
+
index: agentCalls.length,
|
|
1242
1251
|
label: event.label,
|
|
1252
|
+
promptPreview: boundedPromptPreview(event.prompt),
|
|
1243
1253
|
phase: event.phase,
|
|
1244
1254
|
model: event.model,
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
backend: routeBackend(event.model, extra.tier, backendRegistry, hostRegistry, declaredBackends).display,
|
|
1249
|
-
schema: extra.schema,
|
|
1255
|
+
configOptions: event.configOptions,
|
|
1256
|
+
backend: routeBackend(event.model, undefined, backendRegistry, hostRegistry, declaredBackends).display,
|
|
1257
|
+
schema: false,
|
|
1250
1258
|
};
|
|
1251
1259
|
agentCalls.push(call);
|
|
1252
|
-
|
|
1253
|
-
pendingAgentCalls.push(call);
|
|
1260
|
+
pendingAgentCalls.push(call);
|
|
1254
1261
|
});
|
|
1255
1262
|
try {
|
|
1256
1263
|
const run = await manager.runSync(script, options.args, {
|
|
@@ -1258,6 +1265,8 @@ export async function validateWorkflowScript(script, options = {}) {
|
|
|
1258
1265
|
signal: controller.signal,
|
|
1259
1266
|
maxAgents: options.maxAgents,
|
|
1260
1267
|
defaultModel: options.defaultModel,
|
|
1268
|
+
agentConfigurations: options.agentConfigurations,
|
|
1269
|
+
requireAgentConfiguration: options.requireAgentConfiguration,
|
|
1261
1270
|
scriptBackends: declaredBackends,
|
|
1262
1271
|
confirm: async (promptText, checkpointOptions) => {
|
|
1263
1272
|
const opts = (checkpointOptions ?? {});
|
|
@@ -1270,20 +1279,6 @@ export async function validateWorkflowScript(script, options = {}) {
|
|
|
1270
1279
|
return reply;
|
|
1271
1280
|
},
|
|
1272
1281
|
});
|
|
1273
|
-
// agentStart fires BEFORE the mock records its options, so backfill attribution for
|
|
1274
|
-
// any call whose mock metadata arrived after the event (same tick ordering).
|
|
1275
|
-
if (!mockAnswerState) {
|
|
1276
|
-
for (const call of agentCalls) {
|
|
1277
|
-
const extra = mockMeta.get(call.label);
|
|
1278
|
-
if (extra) {
|
|
1279
|
-
call.tier = extra.tier;
|
|
1280
|
-
call.mode = extra.mode;
|
|
1281
|
-
call.configOptions = extra.configOptions;
|
|
1282
|
-
call.schema = extra.schema;
|
|
1283
|
-
call.backend = routeBackend(call.model, extra.tier, backendRegistry, hostRegistry, declaredBackends).display;
|
|
1284
|
-
}
|
|
1285
|
-
}
|
|
1286
|
-
}
|
|
1287
1282
|
const runOk = run.status === "completed";
|
|
1288
1283
|
if (!runOk && flows === undefined && run.reason?.includes("must be the first statement") && /\bworkflow\s*\(/.test(script)) {
|
|
1289
1284
|
warnings.push('the failure looks like a nested workflow("<name>") call on a bare name — provide workflow dirs ' +
|
|
@@ -1312,7 +1307,7 @@ export async function validateWorkflowScript(script, options = {}) {
|
|
|
1312
1307
|
appendMockAnswerWarnings(mockAnswerState, mockAnswers, warnings);
|
|
1313
1308
|
const probed = options.probeConfig === false
|
|
1314
1309
|
? { harnessOptions: [], catalogs: new Map(), modes: new Map(), defaultModes: new Map() }
|
|
1315
|
-
: await probeHarnessConfigOptions(agentCalls, baseCwd, backendRegistry, hostRegistry, declaredBackends, warnings, options.probeRunner
|
|
1310
|
+
: await probeHarnessConfigOptions(agentCalls, baseCwd, backendRegistry, hostRegistry, declaredBackends, warnings, options.probeRunner);
|
|
1316
1311
|
const optionErrors = options.probeConfig === false
|
|
1317
1312
|
? []
|
|
1318
1313
|
: configOptionErrors(agentCalls, probed.catalogs, backendRegistry, hostRegistry, declaredBackends, warnings);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automatalabs/workflows",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22"
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"typebox": "1.3.2",
|
|
34
|
-
"@automatalabs/
|
|
35
|
-
"@automatalabs/
|
|
36
|
-
"@automatalabs/workflow-engine": "
|
|
37
|
-
"@automatalabs/
|
|
34
|
+
"@automatalabs/shared-types": "1.1.0",
|
|
35
|
+
"@automatalabs/acp-agents": "1.0.1",
|
|
36
|
+
"@automatalabs/workflow-engine": "1.1.0",
|
|
37
|
+
"@automatalabs/repl-engine": "0.4.15"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"esbuild": "^0.28.1"
|