callman-core 1.32.0 → 1.33.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/ai-packs/scenario-nodes.md +57 -2
- package/dist/ai/prompts/scenario.d.ts +1 -1
- package/dist/ai/prompts/scenario.d.ts.map +1 -1
- package/dist/ai/prompts/scenario.js +3 -1
- package/dist/ai/prompts/scenario.js.map +1 -1
- package/dist/ai/prompts/scenarioNodeDefaults.d.ts.map +1 -1
- package/dist/ai/prompts/scenarioNodeDefaults.js +9 -0
- package/dist/ai/prompts/scenarioNodeDefaults.js.map +1 -1
- package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -1
- package/dist/ai/prompts/scenarioNodeReference.js +80 -2
- package/dist/ai/prompts/scenarioNodeReference.js.map +1 -1
- package/dist/host/index.d.ts +2 -0
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +3 -0
- package/dist/host/index.js.map +1 -1
- package/dist/host/temporal/temporalService.d.ts +67 -0
- package/dist/host/temporal/temporalService.d.ts.map +1 -0
- package/dist/host/temporal/temporalService.js +1182 -0
- package/dist/host/temporal/temporalService.js.map +1 -0
- package/dist/host/temporal/types.d.ts +13 -0
- package/dist/host/temporal/types.d.ts.map +1 -0
- package/dist/host/temporal/types.js +5 -0
- package/dist/host/temporal/types.js.map +1 -0
- package/dist/scenario-runner/adapters/connection-config.d.ts +17 -1
- package/dist/scenario-runner/adapters/connection-config.d.ts.map +1 -1
- package/dist/scenario-runner/adapters/index.d.ts +3 -2
- package/dist/scenario-runner/adapters/index.d.ts.map +1 -1
- package/dist/scenario-runner/adapters/index.js +7 -0
- package/dist/scenario-runner/adapters/index.js.map +1 -1
- package/dist/scenario-runner/adapters/temporal-executor.d.ts +10 -0
- package/dist/scenario-runner/adapters/temporal-executor.d.ts.map +1 -0
- package/dist/scenario-runner/adapters/temporal-executor.js +186 -0
- package/dist/scenario-runner/adapters/temporal-executor.js.map +1 -0
- package/dist/scenario-runner/adapters/types.d.ts +16 -5
- package/dist/scenario-runner/adapters/types.d.ts.map +1 -1
- package/dist/scenario-runner/condition.d.ts.map +1 -1
- package/dist/scenario-runner/condition.js +73 -0
- package/dist/scenario-runner/condition.js.map +1 -1
- package/dist/scenario-runner/graphTraversal.d.ts +6 -0
- package/dist/scenario-runner/graphTraversal.d.ts.map +1 -1
- package/dist/scenario-runner/graphTraversal.js +9 -0
- package/dist/scenario-runner/graphTraversal.js.map +1 -1
- package/dist/scenario-runner/index.d.ts +1 -0
- package/dist/scenario-runner/index.d.ts.map +1 -1
- package/dist/scenario-runner/index.js +3 -0
- package/dist/scenario-runner/index.js.map +1 -1
- package/dist/scenario-runner/nodePolicy.d.ts +2 -2
- package/dist/scenario-runner/nodePolicy.d.ts.map +1 -1
- package/dist/scenario-runner/nodePolicy.js +3 -0
- package/dist/scenario-runner/nodePolicy.js.map +1 -1
- package/dist/scenario-runner/runScenario.d.ts.map +1 -1
- package/dist/scenario-runner/runScenario.js +76 -0
- package/dist/scenario-runner/runScenario.js.map +1 -1
- package/dist/scenario-runner/temporal.d.ts +73 -0
- package/dist/scenario-runner/temporal.d.ts.map +1 -0
- package/dist/scenario-runner/temporal.js +377 -0
- package/dist/scenario-runner/temporal.js.map +1 -0
- package/dist/scenario-runner/types.d.ts +206 -4
- package/dist/scenario-runner/types.d.ts.map +1 -1
- package/dist/ui-test/commands.d.ts.map +1 -1
- package/dist/ui-test/commands.js +71 -0
- package/dist/ui-test/commands.js.map +1 -1
- package/dist-cjs/ai/prompts/scenario.js +3 -1
- package/dist-cjs/ai/prompts/scenario.js.map +1 -1
- package/dist-cjs/ai/prompts/scenarioNodeDefaults.js +9 -0
- package/dist-cjs/ai/prompts/scenarioNodeDefaults.js.map +1 -1
- package/dist-cjs/ai/prompts/scenarioNodeReference.js +79 -1
- package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -1
- package/dist-cjs/host/index.js +20 -2
- package/dist-cjs/host/index.js.map +1 -1
- package/dist-cjs/host/temporal/temporalService.js +1200 -0
- package/dist-cjs/host/temporal/temporalService.js.map +1 -0
- package/dist-cjs/host/temporal/types.js +6 -0
- package/dist-cjs/host/temporal/types.js.map +1 -0
- package/dist-cjs/scenario-runner/adapters/index.js +9 -1
- package/dist-cjs/scenario-runner/adapters/index.js.map +1 -1
- package/dist-cjs/scenario-runner/adapters/temporal-executor.js +190 -0
- package/dist-cjs/scenario-runner/adapters/temporal-executor.js.map +1 -0
- package/dist-cjs/scenario-runner/condition.js +73 -0
- package/dist-cjs/scenario-runner/condition.js.map +1 -1
- package/dist-cjs/scenario-runner/graphTraversal.js +10 -1
- package/dist-cjs/scenario-runner/graphTraversal.js.map +1 -1
- package/dist-cjs/scenario-runner/index.js +3 -0
- package/dist-cjs/scenario-runner/index.js.map +1 -1
- package/dist-cjs/scenario-runner/nodePolicy.js +3 -0
- package/dist-cjs/scenario-runner/nodePolicy.js.map +1 -1
- package/dist-cjs/scenario-runner/runScenario.js +76 -0
- package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
- package/dist-cjs/scenario-runner/temporal.js +386 -0
- package/dist-cjs/scenario-runner/temporal.js.map +1 -0
- package/dist-cjs/ui-test/commands.js +71 -0
- package/dist-cjs/ui-test/commands.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodePolicy.js","sourceRoot":"","sources":["../../src/scenario-runner/nodePolicy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nodePolicy.js","sourceRoot":"","sources":["../../src/scenario-runner/nodePolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runScenario.d.ts","sourceRoot":"","sources":["../../src/scenario-runner/runScenario.ts"],"names":[],"mappings":"AA+DA,OAAO,KAAK,EAMV,kBAAkB,EAUlB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"runScenario.d.ts","sourceRoot":"","sources":["../../src/scenario-runner/runScenario.ts"],"names":[],"mappings":"AA+DA,OAAO,KAAK,EAMV,kBAAkB,EAUlB,iBAAiB,EAMlB,MAAM,YAAY,CAAC;AA2tBpB,eAAO,MAAM,WAAW,GAAU,qHAS/B,kBAAkB,KAAG,OAAO,CAAC,iBAAiB,CAgvFhD,CAAC"}
|
|
@@ -319,6 +319,7 @@ const createStepExecutionRecord = ({ stepId, stepType, title, }) => ({
|
|
|
319
319
|
conditionDebug: null,
|
|
320
320
|
activeBranch: null,
|
|
321
321
|
ai: null,
|
|
322
|
+
temporal: null,
|
|
322
323
|
inputData: null,
|
|
323
324
|
resolvedInput: null,
|
|
324
325
|
outputData: null,
|
|
@@ -499,6 +500,7 @@ const updateRecordFromEvent = (records, event) => {
|
|
|
499
500
|
conditionDebug: event.conditionDebug ?? current.conditionDebug,
|
|
500
501
|
activeBranch: event.activeBranch ?? current.activeBranch,
|
|
501
502
|
ai: event.ai ?? current.ai,
|
|
503
|
+
temporal: event.temporal ?? current.temporal,
|
|
502
504
|
inputData: event.inputData ?? current.inputData,
|
|
503
505
|
resolvedInput: event.resolvedInput ?? current.resolvedInput ?? null,
|
|
504
506
|
outputData: event.outputData ?? current.outputData,
|
|
@@ -895,6 +897,7 @@ export const runScenario = async ({ scenario, environment = {}, globals = {}, ru
|
|
|
895
897
|
let shouldMarkPartialSuccess = false;
|
|
896
898
|
let workflowOutput = undefined;
|
|
897
899
|
let aiDetails = null;
|
|
900
|
+
let temporalDetails = null;
|
|
898
901
|
const resetAttemptArtifacts = () => {
|
|
899
902
|
statusCode = null;
|
|
900
903
|
response = null;
|
|
@@ -922,6 +925,7 @@ export const runScenario = async ({ scenario, environment = {}, globals = {}, ru
|
|
|
922
925
|
shouldMarkPartialSuccess = false;
|
|
923
926
|
workflowOutput = undefined;
|
|
924
927
|
aiDetails = null;
|
|
928
|
+
temporalDetails = null;
|
|
925
929
|
};
|
|
926
930
|
const executeNodeAttempt = async (attempt, maxAttempts) => {
|
|
927
931
|
throwIfStopped(signal);
|
|
@@ -1138,6 +1142,10 @@ export const runScenario = async ({ scenario, environment = {}, globals = {}, ru
|
|
|
1138
1142
|
: null;
|
|
1139
1143
|
// Thinned emission keeps stored events bounded (~100 tick events).
|
|
1140
1144
|
const pollEmitStride = Math.max(1, Math.ceil(pollMaxAttempts / 100));
|
|
1145
|
+
// Temporal ticks have no runtime-context slot (unlike response /
|
|
1146
|
+
// db / redis), so the last tick's output rides along on the poll
|
|
1147
|
+
// output as `<Label>.temporal`.
|
|
1148
|
+
let lastTemporalTickOutput = null;
|
|
1141
1149
|
resolvedInput = {
|
|
1142
1150
|
actionType: pollConfig.actionType,
|
|
1143
1151
|
intervalMs: pollBaseIntervalMs,
|
|
@@ -1243,6 +1251,39 @@ export const runScenario = async ({ scenario, environment = {}, globals = {}, ru
|
|
|
1243
1251
|
runtimeContext.redisResult = tickResult.redisResult;
|
|
1244
1252
|
return tickResult.failureMessage ?? null;
|
|
1245
1253
|
}
|
|
1254
|
+
if (pollConfig.actionType === "temporal") {
|
|
1255
|
+
if (!pollConfig.temporal) {
|
|
1256
|
+
throw new ScenarioNodeFailureError("Poll node has no Temporal configuration.");
|
|
1257
|
+
}
|
|
1258
|
+
if (!runtimeAdapters.temporalExecutor) {
|
|
1259
|
+
throw new ScenarioNodeFailureError("This host does not support Temporal nodes yet.");
|
|
1260
|
+
}
|
|
1261
|
+
const tickResult = await runtimeAdapters.temporalExecutor({
|
|
1262
|
+
runId,
|
|
1263
|
+
stepId,
|
|
1264
|
+
node: {
|
|
1265
|
+
id: node.id,
|
|
1266
|
+
type: "temporal",
|
|
1267
|
+
position: node.position,
|
|
1268
|
+
data: { label: node.data.label, config: pollConfig.temporal },
|
|
1269
|
+
},
|
|
1270
|
+
context: snapshotContext(),
|
|
1271
|
+
signal,
|
|
1272
|
+
});
|
|
1273
|
+
temporalDetails = tickResult.details;
|
|
1274
|
+
assertionResults = tickResult.assertionResults;
|
|
1275
|
+
assertionSummary = tickResult.assertionSummary;
|
|
1276
|
+
lastTemporalTickOutput = tickResult.outputData;
|
|
1277
|
+
// Publish the tick's output under the label so the success
|
|
1278
|
+
// condition reads `<Label>.status` / `<Label>.result.x` exactly
|
|
1279
|
+
// like it would after a standalone temporal node.
|
|
1280
|
+
if (tickResult.outputData &&
|
|
1281
|
+
nodeLabel &&
|
|
1282
|
+
!RESERVED_WORKFLOW_ROOT_LABELS.has(nodeLabel)) {
|
|
1283
|
+
runtimeContext.workflowContext[nodeLabel] = tickResult.outputData;
|
|
1284
|
+
}
|
|
1285
|
+
return tickResult.failureMessage ?? null;
|
|
1286
|
+
}
|
|
1246
1287
|
if (!pollConfig.script) {
|
|
1247
1288
|
throw new ScenarioNodeFailureError("Poll node has no script configuration.");
|
|
1248
1289
|
}
|
|
@@ -1339,6 +1380,9 @@ export const runScenario = async ({ scenario, environment = {}, globals = {}, ru
|
|
|
1339
1380
|
timedOut: !pollPassed,
|
|
1340
1381
|
conditionResult: pollPassed,
|
|
1341
1382
|
...(lastTickError ? { lastTickError } : {}),
|
|
1383
|
+
...(pollConfig.actionType === "temporal" && lastTemporalTickOutput
|
|
1384
|
+
? { temporal: lastTemporalTickOutput }
|
|
1385
|
+
: {}),
|
|
1342
1386
|
};
|
|
1343
1387
|
if (!pollPassed) {
|
|
1344
1388
|
if ((pollConfig.onTimeout ?? "fail") === "continue") {
|
|
@@ -1725,6 +1769,35 @@ export const runScenario = async ({ scenario, environment = {}, globals = {}, ru
|
|
|
1725
1769
|
throw new ScenarioNodeFailureError(aiResult.failureMessage);
|
|
1726
1770
|
}
|
|
1727
1771
|
}
|
|
1772
|
+
if (node.type === "temporal") {
|
|
1773
|
+
// Thin dispatch (ai pattern): the adapter resolves templates,
|
|
1774
|
+
// validates the operation, calls the host driver and evaluates the
|
|
1775
|
+
// node's own `expect` rules. A FAILED workflow is data (status +
|
|
1776
|
+
// failure in the output); only infrastructure errors and failed
|
|
1777
|
+
// expectations fail the node.
|
|
1778
|
+
if (!runtimeAdapters.temporalExecutor) {
|
|
1779
|
+
throw new ScenarioNodeFailureError("This host does not support Temporal nodes yet.");
|
|
1780
|
+
}
|
|
1781
|
+
const temporalResult = await runtimeAdapters.temporalExecutor({
|
|
1782
|
+
runId,
|
|
1783
|
+
stepId,
|
|
1784
|
+
node,
|
|
1785
|
+
context: snapshotContext(),
|
|
1786
|
+
signal,
|
|
1787
|
+
});
|
|
1788
|
+
throwIfStopped(signal);
|
|
1789
|
+
temporalDetails = temporalResult.details;
|
|
1790
|
+
outputData = temporalResult.outputData;
|
|
1791
|
+
resolvedInput = temporalResult.resolvedInput;
|
|
1792
|
+
assertionResults = temporalResult.assertionResults;
|
|
1793
|
+
assertionSummary = temporalResult.assertionSummary;
|
|
1794
|
+
if (temporalResult.degraded) {
|
|
1795
|
+
shouldMarkPartialSuccess = true;
|
|
1796
|
+
}
|
|
1797
|
+
if (temporalResult.failureMessage) {
|
|
1798
|
+
throw new ScenarioNodeFailureError(temporalResult.failureMessage);
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1728
1801
|
if (node.type === "condition") {
|
|
1729
1802
|
const conditionIssues = validateConditionConfig(node.data.config);
|
|
1730
1803
|
const blockingConditionIssue = conditionIssues.find((issue) => issue.severity === "error");
|
|
@@ -2365,6 +2438,7 @@ export const runScenario = async ({ scenario, environment = {}, globals = {}, ru
|
|
|
2365
2438
|
conditionDebug,
|
|
2366
2439
|
activeBranch,
|
|
2367
2440
|
ai: aiDetails,
|
|
2441
|
+
temporal: temporalDetails,
|
|
2368
2442
|
inputData,
|
|
2369
2443
|
resolvedInput: resolvedInputForEvent(),
|
|
2370
2444
|
outputData,
|
|
@@ -2449,6 +2523,7 @@ export const runScenario = async ({ scenario, environment = {}, globals = {}, ru
|
|
|
2449
2523
|
conditionDebug,
|
|
2450
2524
|
activeBranch,
|
|
2451
2525
|
ai: aiDetails,
|
|
2526
|
+
temporal: temporalDetails,
|
|
2452
2527
|
inputData,
|
|
2453
2528
|
resolvedInput: resolvedInputForEvent(),
|
|
2454
2529
|
outputData,
|
|
@@ -2528,6 +2603,7 @@ export const runScenario = async ({ scenario, environment = {}, globals = {}, ru
|
|
|
2528
2603
|
conditionDebug,
|
|
2529
2604
|
activeBranch,
|
|
2530
2605
|
ai: aiDetails,
|
|
2606
|
+
temporal: temporalDetails,
|
|
2531
2607
|
inputData,
|
|
2532
2608
|
resolvedInput: resolvedInputForEvent(),
|
|
2533
2609
|
outputData,
|