@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.
@@ -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;
@@ -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
@@ -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, probeTimeoutMs) {
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
- }), probeTimeoutMs);
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
- mockMeta.set(label, metadata);
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
- ...(mockAnswerState ? { concurrency: 1 } : {}),
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
- tier: extra.tier,
1246
- mode: extra.mode,
1247
- configOptions: event.configOptions ?? extra.configOptions,
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
- if (mockAnswerState)
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, probeTimeoutMs);
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": "0.58.1",
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/repl-engine": "0.4.13",
35
- "@automatalabs/shared-types": "0.34.0",
36
- "@automatalabs/workflow-engine": "0.42.0",
37
- "@automatalabs/acp-agents": "0.43.1"
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"