@automatalabs/workflows 0.57.1 → 0.58.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 +5 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp-server.js +1327 -118
- package/dist/validate.d.ts +2 -0
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +42 -15
- package/package.json +5 -5
package/dist/validate.d.ts
CHANGED
|
@@ -87,6 +87,8 @@ export interface ValidatedAgentCall {
|
|
|
87
87
|
}
|
|
88
88
|
export interface ValidateHarnessOptions {
|
|
89
89
|
backendId: string;
|
|
90
|
+
/** AgentPrism's explicit mode when the call omits mode; absent for no-mode/custom backends. */
|
|
91
|
+
defaultModeId?: string;
|
|
90
92
|
/** The call's verbatim selected model; absent means the harness/session default. */
|
|
91
93
|
model?: string;
|
|
92
94
|
probed: boolean;
|
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
|
@@ -607,8 +607,9 @@ async function probeHarnessConfigOptions(calls, cwd, registry, hostRegistry, dec
|
|
|
607
607
|
const harnessOptions = [];
|
|
608
608
|
const catalogs = new Map();
|
|
609
609
|
const modes = new Map();
|
|
610
|
+
const defaultModes = new Map();
|
|
610
611
|
if (targets.length === 0)
|
|
611
|
-
return { harnessOptions, catalogs, modes };
|
|
612
|
+
return { harnessOptions, catalogs, modes, defaultModes };
|
|
612
613
|
let runner;
|
|
613
614
|
const ownsRunner = probeRunner === undefined;
|
|
614
615
|
try {
|
|
@@ -625,7 +626,7 @@ async function probeHarnessConfigOptions(calls, cwd, registry, hostRegistry, dec
|
|
|
625
626
|
error: reason,
|
|
626
627
|
});
|
|
627
628
|
}
|
|
628
|
-
return { harnessOptions, catalogs, modes };
|
|
629
|
+
return { harnessOptions, catalogs, modes, defaultModes };
|
|
629
630
|
}
|
|
630
631
|
try {
|
|
631
632
|
const failures = new Map();
|
|
@@ -645,9 +646,11 @@ async function probeHarnessConfigOptions(calls, cwd, registry, hostRegistry, dec
|
|
|
645
646
|
}), probeTimeoutMs);
|
|
646
647
|
catalogs.set(key, result.options);
|
|
647
648
|
modes.set(key, result.modes ?? null);
|
|
649
|
+
defaultModes.set(key, result.defaultModeId);
|
|
648
650
|
if (reportHarness) {
|
|
649
651
|
harnessOptions.push({
|
|
650
652
|
backendId: result.backendId,
|
|
653
|
+
...(result.defaultModeId === undefined ? {} : { defaultModeId: result.defaultModeId }),
|
|
651
654
|
...(target.model === undefined ? {} : { model: target.model }),
|
|
652
655
|
probed: true,
|
|
653
656
|
modes: result.modes ?? null,
|
|
@@ -699,7 +702,7 @@ async function probeHarnessConfigOptions(calls, cwd, registry, hostRegistry, dec
|
|
|
699
702
|
}
|
|
700
703
|
}
|
|
701
704
|
}
|
|
702
|
-
return { harnessOptions, catalogs, modes };
|
|
705
|
+
return { harnessOptions, catalogs, modes, defaultModes };
|
|
703
706
|
}
|
|
704
707
|
function withValidationProbeTimeout(operation, timeoutMs) {
|
|
705
708
|
return new Promise((resolve, reject) => {
|
|
@@ -874,21 +877,25 @@ function attachClientRecognizedDomains(catalogs, backendId, recognizedByOption)
|
|
|
874
877
|
function errorMessage(error) {
|
|
875
878
|
return redactText(error instanceof Error ? error.message : String(error)).value;
|
|
876
879
|
}
|
|
877
|
-
function sessionModeErrors(calls, modes, registry, hostRegistry, declared) {
|
|
880
|
+
function sessionModeErrors(calls, modes, defaultModes, registry, hostRegistry, declared) {
|
|
878
881
|
const errors = [];
|
|
879
882
|
for (const call of calls) {
|
|
880
|
-
if (call.mode === undefined)
|
|
881
|
-
continue;
|
|
882
883
|
const backendId = routeBackend(call.model, call.tier, registry, hostRegistry, declared).backendId;
|
|
883
884
|
const key = configCatalogKey(backendId, call.model);
|
|
884
885
|
if (!modes.has(key))
|
|
885
886
|
continue;
|
|
887
|
+
const effectiveMode = call.mode ?? defaultModes.get(key);
|
|
888
|
+
if (effectiveMode === undefined)
|
|
889
|
+
continue;
|
|
886
890
|
const advertised = modes.get(key)?.availableModes.map((mode) => mode.id) ?? [];
|
|
887
|
-
if (advertised.includes(
|
|
891
|
+
if (advertised.includes(effectiveMode))
|
|
888
892
|
continue;
|
|
889
|
-
|
|
893
|
+
const source = call.mode === undefined ? "AgentPrism default" : "authored value";
|
|
894
|
+
errors.push(`agent "${call.label}" mode ${source} ${JSON.stringify(effectiveMode)} is not advertised by ` +
|
|
890
895
|
`${callModelName(backendId, call.model)}; advertised modes: ${displayAlternatives(advertised)}; ` +
|
|
891
|
-
|
|
896
|
+
(call.mode === undefined
|
|
897
|
+
? "the built-in default and live harness catalog are incompatible"
|
|
898
|
+
: "omit mode unless action:\"config\" explicitly lists the exact id"));
|
|
892
899
|
}
|
|
893
900
|
return errors;
|
|
894
901
|
}
|
|
@@ -1070,6 +1077,17 @@ function displayValue(value) {
|
|
|
1070
1077
|
function displayAlternatives(values) {
|
|
1071
1078
|
return values.length > 0 ? values.map((value) => JSON.stringify(value)).join(", ") : "(none advertised)";
|
|
1072
1079
|
}
|
|
1080
|
+
function displayDescription(value) {
|
|
1081
|
+
if (value === undefined || value === null || value.trim() === "")
|
|
1082
|
+
return "";
|
|
1083
|
+
const oneLine = value.replace(/\s+/g, " ").trim();
|
|
1084
|
+
return oneLine.length <= 320 ? oneLine : `${oneLine.slice(0, 319)}…`;
|
|
1085
|
+
}
|
|
1086
|
+
function displayMeta(value) {
|
|
1087
|
+
return value === undefined || value === null || Object.keys(value).length === 0
|
|
1088
|
+
? ""
|
|
1089
|
+
: JSON.stringify(value);
|
|
1090
|
+
}
|
|
1073
1091
|
/** The choices-cell text for a select: verbatim when small, summarized when oversized. */
|
|
1074
1092
|
function selectChoicesCell(option, backendId) {
|
|
1075
1093
|
return isOversizedSelect(option)
|
|
@@ -1293,14 +1311,14 @@ export async function validateWorkflowScript(script, options = {}) {
|
|
|
1293
1311
|
if (mockAnswerState && mockAnswers)
|
|
1294
1312
|
appendMockAnswerWarnings(mockAnswerState, mockAnswers, warnings);
|
|
1295
1313
|
const probed = options.probeConfig === false
|
|
1296
|
-
? { harnessOptions: [], catalogs: new Map(), modes: new Map() }
|
|
1314
|
+
? { harnessOptions: [], catalogs: new Map(), modes: new Map(), defaultModes: new Map() }
|
|
1297
1315
|
: await probeHarnessConfigOptions(agentCalls, baseCwd, backendRegistry, hostRegistry, declaredBackends, warnings, options.probeRunner, probeTimeoutMs);
|
|
1298
1316
|
const optionErrors = options.probeConfig === false
|
|
1299
1317
|
? []
|
|
1300
1318
|
: configOptionErrors(agentCalls, probed.catalogs, backendRegistry, hostRegistry, declaredBackends, warnings);
|
|
1301
1319
|
const modeErrors = options.probeConfig === false
|
|
1302
1320
|
? []
|
|
1303
|
-
: sessionModeErrors(agentCalls, probed.modes, backendRegistry, hostRegistry, declaredBackends);
|
|
1321
|
+
: sessionModeErrors(agentCalls, probed.modes, probed.defaultModes, backendRegistry, hostRegistry, declaredBackends);
|
|
1304
1322
|
const configurationErrors = [...modeErrors, ...optionErrors];
|
|
1305
1323
|
const ok = runOk && configurationErrors.length === 0;
|
|
1306
1324
|
const runReason = timedOut ? `dry run exceeded ${timeoutMs}ms and was aborted` : run.reason;
|
|
@@ -1373,18 +1391,27 @@ export function renderHarnessOptionLines(harnesses, indent) {
|
|
|
1373
1391
|
lines.push(`${indent} modes: (catalog unavailable — omit mode)`);
|
|
1374
1392
|
}
|
|
1375
1393
|
else {
|
|
1376
|
-
lines.push(`${indent} modes: current ${displayValue(modes.currentModeId)} |
|
|
1377
|
-
|
|
1394
|
+
lines.push(`${indent} modes: current ${displayValue(modes.currentModeId)} | AgentPrism default ` +
|
|
1395
|
+
`${harness.defaultModeId === undefined ? "(harness current)" : displayValue(harness.defaultModeId)}`);
|
|
1396
|
+
lines.push(`${indent} advertised mode details (verbatim from harness):`);
|
|
1397
|
+
for (const mode of modes.availableModes) {
|
|
1398
|
+
const description = displayDescription(mode.description);
|
|
1399
|
+
const meta = displayMeta(mode._meta);
|
|
1400
|
+
lines.push(`${indent} ${displayValue(mode.id)} | ${mode.name}` +
|
|
1401
|
+
(description ? ` | ${description}` : "") +
|
|
1402
|
+
(meta ? ` | _meta=${meta}` : ""));
|
|
1403
|
+
}
|
|
1378
1404
|
}
|
|
1379
1405
|
lines.push(`${indent} config options:`);
|
|
1380
|
-
lines.push(`${indent} id | type | current | choices`);
|
|
1406
|
+
lines.push(`${indent} id | name | type | current | choices | description`);
|
|
1381
1407
|
if ((harness.options ?? []).length === 0) {
|
|
1382
1408
|
lines.push(`${indent} (none advertised)`);
|
|
1383
1409
|
continue;
|
|
1384
1410
|
}
|
|
1385
1411
|
for (const option of harness.options ?? []) {
|
|
1386
1412
|
const choices = option.type === "select" ? selectChoicesCell(option, harness.backendId) : "true, false";
|
|
1387
|
-
lines.push(`${indent} ${option.id} | ${option.type} | ${displayValue(option.currentValue)} |
|
|
1413
|
+
lines.push(`${indent} ${option.id} | ${option.name} | ${option.type} | ${displayValue(option.currentValue)} | ` +
|
|
1414
|
+
`${choices} | ${displayDescription(option.description)}`);
|
|
1388
1415
|
}
|
|
1389
1416
|
}
|
|
1390
1417
|
return lines;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automatalabs/workflows",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.58.1",
|
|
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.
|
|
35
|
-
"@automatalabs/shared-types": "0.
|
|
36
|
-
"@automatalabs/workflow-engine": "0.
|
|
37
|
-
"@automatalabs/acp-agents": "0.
|
|
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"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"esbuild": "^0.28.1"
|