@sensigo/realm 0.1.0 → 0.3.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.
Files changed (52) hide show
  1. package/dist/adapters/gorgias-adapter.d.ts.map +1 -1
  2. package/dist/adapters/gorgias-adapter.js +24 -9
  3. package/dist/adapters/gorgias-adapter.js.map +1 -1
  4. package/dist/engine/eligibility.d.ts +8 -1
  5. package/dist/engine/eligibility.d.ts.map +1 -1
  6. package/dist/engine/eligibility.js +39 -0
  7. package/dist/engine/eligibility.js.map +1 -1
  8. package/dist/engine/execution-loop.d.ts.map +1 -1
  9. package/dist/engine/execution-loop.js +294 -11
  10. package/dist/engine/execution-loop.js.map +1 -1
  11. package/dist/engine/lifecycle.d.ts +7 -0
  12. package/dist/engine/lifecycle.d.ts.map +1 -1
  13. package/dist/engine/lifecycle.js +8 -1
  14. package/dist/engine/lifecycle.js.map +1 -1
  15. package/dist/engine/precondition.d.ts +32 -0
  16. package/dist/engine/precondition.d.ts.map +1 -1
  17. package/dist/engine/precondition.js +63 -1
  18. package/dist/engine/precondition.js.map +1 -1
  19. package/dist/engine/render-template.d.ts.map +1 -1
  20. package/dist/engine/render-template.js +8 -2
  21. package/dist/engine/render-template.js.map +1 -1
  22. package/dist/extensions/service-adapter.d.ts +7 -0
  23. package/dist/extensions/service-adapter.d.ts.map +1 -1
  24. package/dist/extensions/step-handler.d.ts +25 -1
  25. package/dist/extensions/step-handler.d.ts.map +1 -1
  26. package/dist/index.d.ts +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/store/json-file-store.d.ts.map +1 -1
  29. package/dist/store/json-file-store.js +9 -0
  30. package/dist/store/json-file-store.js.map +1 -1
  31. package/dist/store/store-interface.d.ts +4 -0
  32. package/dist/store/store-interface.d.ts.map +1 -1
  33. package/dist/types/run-record.d.ts +27 -2
  34. package/dist/types/run-record.d.ts.map +1 -1
  35. package/dist/types/workflow-definition.d.ts +46 -5
  36. package/dist/types/workflow-definition.d.ts.map +1 -1
  37. package/dist/types/workflow-error.d.ts +1 -1
  38. package/dist/types/workflow-error.d.ts.map +1 -1
  39. package/dist/types/workflow-error.js.map +1 -1
  40. package/dist/workflow/yaml-loader.d.ts +3 -2
  41. package/dist/workflow/yaml-loader.d.ts.map +1 -1
  42. package/dist/workflow/yaml-loader.js +134 -5
  43. package/dist/workflow/yaml-loader.js.map +1 -1
  44. package/package.json +1 -1
  45. package/dist/engine/prompt-template.d.ts +0 -25
  46. package/dist/engine/prompt-template.d.ts.map +0 -1
  47. package/dist/engine/prompt-template.js +0 -66
  48. package/dist/engine/prompt-template.js.map +0 -1
  49. package/dist/engine/state-guard.d.ts +0 -15
  50. package/dist/engine/state-guard.d.ts.map +0 -1
  51. package/dist/engine/state-guard.js +0 -40
  52. package/dist/engine/state-guard.js.map +0 -1
@@ -3,14 +3,14 @@ import { captureEvidence } from '../evidence/snapshot.js';
3
3
  import { validateInputSchema, validateOutputSchema, validateTraceSchema, } from '../validation/input-schema.js';
4
4
  import { normalizeTrace } from './trace-normalizer.js';
5
5
  import { TERMINAL_PHASES } from './lifecycle.js';
6
- import { checkPreconditions, evaluateAllPreconditions } from './precondition.js';
6
+ import { checkPreconditions, evaluateAllPreconditions, evaluateGuardConditions, } from './precondition.js';
7
7
  import { ExtensionRegistry } from '../extensions/registry.js';
8
8
  import { createDefaultRegistry } from '../extensions/default-registry.js';
9
9
  import { resolveSecret } from '../config/secrets.js';
10
10
  import { renderTemplate, resolvePath, UnknownFilterError } from './render-template.js';
11
11
  import { generateSchemaSkeleton } from '../utils/schema-skeleton.js';
12
12
  import { loadWorkflowContext } from './workflow-context-loader.js';
13
- import { findEligibleSteps, isWorkflowComplete, buildEvidenceByStep, propagateSkips, } from './eligibility.js';
13
+ import { findEligibleSteps, findEligibleGuardSteps, isWorkflowComplete, buildEvidenceByStep, propagateSkips, } from './eligibility.js';
14
14
  import { resolvePreExecutionAgentAction, resolvePostDispatchAgentAction, } from './error-resolution.js';
15
15
  function delayMs(ms) {
16
16
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -36,6 +36,8 @@ function withTimeout(dispatch, ms, stepName) {
36
36
  });
37
37
  return Promise.race([dispatch(controller.signal), timeout]).finally(() => clearTimeout(timer));
38
38
  }
39
+ /** Maximum nesting depth allowed in an input_map tree. */
40
+ const MAX_INPUT_MAP_DEPTH = 10;
39
41
  /**
40
42
  * Resolves an input_map declaration into a concrete params object.
41
43
  * Falls back to options.input when input_map is absent.
@@ -49,8 +51,35 @@ function resolveInputMap(inputMap, options, pendingRun) {
49
51
  context: { resources: evidenceByStep },
50
52
  };
51
53
  const result = {};
52
- for (const [key, path] of Object.entries(inputMap)) {
53
- result[key] = resolvePath(path, root);
54
+ for (const [key, node] of Object.entries(inputMap)) {
55
+ result[key] = resolveInputMapNode(node, root, key, 0);
56
+ }
57
+ return result;
58
+ }
59
+ /**
60
+ * Recursively resolves a single InputMapNode. String leaves are resolved via resolvePath;
61
+ * object nodes produce a nested Record by recursing into their entries.
62
+ */
63
+ function resolveInputMapNode(node, root, keyChain, depth) {
64
+ if (depth > MAX_INPUT_MAP_DEPTH) {
65
+ throw new WorkflowError(`input_map path "${keyChain}": exceeded maximum nesting depth of ${MAX_INPUT_MAP_DEPTH}`, {
66
+ code: 'INPUT_MAP_DEPTH_EXCEEDED',
67
+ category: 'ENGINE',
68
+ agentAction: 'report_to_user',
69
+ retryable: false,
70
+ });
71
+ }
72
+ if (typeof node === 'string') {
73
+ return resolvePath(node, root);
74
+ }
75
+ // Literal node — return the value directly without path resolution.
76
+ if ('$literal' in node && Object.keys(node).length === 1) {
77
+ return node.$literal;
78
+ }
79
+ // Nested object — recurse.
80
+ const result = {};
81
+ for (const [key, child] of Object.entries(node)) {
82
+ result[key] = resolveInputMapNode(child, root, `${keyChain}.${key}`, depth + 1);
54
83
  }
55
84
  return result;
56
85
  }
@@ -103,7 +132,11 @@ async function callAdapter(stepDef, definition, options, pendingRun, rateLimiter
103
132
  });
104
133
  }
105
134
  const secrets = options.secrets ?? {};
106
- const config = { adapter: serviceDef.adapter, trust: serviceDef.trust };
135
+ const config = {
136
+ adapter: serviceDef.adapter,
137
+ trust: serviceDef.trust,
138
+ ...(stepDef.config ?? {}),
139
+ };
107
140
  if (serviceDef.auth?.token_from !== undefined) {
108
141
  config['auth'] = { token: resolveSecret(serviceDef.auth.token_from, secrets) };
109
142
  }
@@ -240,7 +273,10 @@ async function callHandler(stepDef, options, pendingRun, evidenceByStep, signal)
240
273
  stepId: options.command,
241
274
  });
242
275
  }
243
- return result.data;
276
+ if (result.abort !== undefined) {
277
+ return { kind: 'abort', message: result.abort.message };
278
+ }
279
+ return { kind: 'data', output: result.data ?? {} };
244
280
  }
245
281
  /**
246
282
  * Builds a NextAction for a single eligible step, resolving prompt templates.
@@ -586,7 +622,16 @@ export async function executeStep(store, definition, options) {
586
622
  return callAdapter(stepDef, definition, options, pendingRun, rateLimiterRegistry, signal);
587
623
  }
588
624
  else if (stepDef?.execution === 'auto' && stepDef.handler !== undefined) {
589
- return callHandler(stepDef, options, pendingRun, evidenceByStep, signal).then((result) => ({ output: result, resolvedParams: undefined }));
625
+ return callHandler(stepDef, options, pendingRun, evidenceByStep, signal).then((result) => {
626
+ if (result.kind === 'abort') {
627
+ return {
628
+ output: {},
629
+ resolvedParams: undefined,
630
+ handlerAbort: { message: result.message },
631
+ };
632
+ }
633
+ return { output: result.output, resolvedParams: undefined };
634
+ });
590
635
  }
591
636
  else {
592
637
  return options
@@ -597,6 +642,60 @@ export async function executeStep(store, definition, options) {
597
642
  const callResult = timeoutMs !== undefined
598
643
  ? await withTimeout((signal) => makeCall(signal), timeoutMs, options.command)
599
644
  : await makeCall();
645
+ // Handle graceful abort from a handler returning { abort: { message } }.
646
+ if (callResult.handlerAbort !== undefined) {
647
+ const abortMessage = callResult.handlerAbort.message;
648
+ const now = new Date();
649
+ const abortEvidence = {
650
+ ...captureEvidence({
651
+ stepId: options.command,
652
+ startedAt: now,
653
+ completedAt: now,
654
+ input: options.input,
655
+ output: { aborted: true, abort_message: abortMessage },
656
+ error: abortMessage,
657
+ }),
658
+ status: 'skipped',
659
+ };
660
+ const withHandlerSkipped = {
661
+ ...pendingRun,
662
+ in_progress_steps: pendingRun.in_progress_steps.filter((s) => s !== options.command),
663
+ evidence: [...pendingRun.evidence, abortEvidence],
664
+ skipped_steps: [...pendingRun.skipped_steps, options.command],
665
+ };
666
+ const withAllSkipped = {
667
+ ...withHandlerSkipped,
668
+ skipped_steps: propagateSkips(withHandlerSkipped, definition),
669
+ };
670
+ const abortedRun = {
671
+ ...withAllSkipped,
672
+ terminal_state: true,
673
+ terminal_reason: `Handler '${options.command}' aborted the run: ${abortMessage}`,
674
+ aborted_at: {
675
+ step_id: options.command,
676
+ abort_message: abortMessage,
677
+ },
678
+ };
679
+ let persistedAbortRun;
680
+ try {
681
+ persistedAbortRun = await store.update(abortedRun);
682
+ }
683
+ catch {
684
+ // Persist failed — return the in-memory run version.
685
+ }
686
+ return {
687
+ command: options.command,
688
+ run_id: options.runId,
689
+ run_version: (persistedAbortRun ?? abortedRun).version,
690
+ status: 'ok',
691
+ data: {},
692
+ evidence: [abortEvidence],
693
+ warnings: [],
694
+ errors: [],
695
+ context_hint: `Handler step '${options.command}' aborted the run: ${abortMessage}`,
696
+ next_actions: [],
697
+ };
698
+ }
600
699
  attemptOutput = callResult.output;
601
700
  resolvedParams = callResult.resolvedParams;
602
701
  if (resolvedParams !== undefined) {
@@ -699,9 +798,11 @@ export async function executeStep(store, definition, options) {
699
798
  };
700
799
  // A run is terminal when all steps are settled OR when no step will ever become
701
800
  // eligible again (safety net for when-condition edge cases not covered by propagateSkips).
801
+ // Guard steps are not returned by findEligibleSteps, so check them separately.
702
802
  const isComplete = isWorkflowComplete(withSkippedFail, definition) ||
703
803
  (withSkippedFail.in_progress_steps.length === 0 &&
704
- findEligibleSteps(definition, withSkippedFail).length === 0);
804
+ findEligibleSteps(definition, withSkippedFail).length === 0 &&
805
+ findEligibleGuardSteps(definition, withSkippedFail).length === 0);
705
806
  const failedRun = {
706
807
  ...withSkippedFail,
707
808
  evidence: [...pendingRun.evidence, ...allEvidence],
@@ -919,9 +1020,11 @@ export async function executeStep(store, definition, options) {
919
1020
  };
920
1021
  // A run is terminal when all steps are settled OR when no step will ever become
921
1022
  // eligible again (safety net for when-condition routing not fully covered by propagateSkips).
1023
+ // Guard steps are not returned by findEligibleSteps, so check them separately.
922
1024
  const isComplete = isWorkflowComplete(withSkippedComplete, definition) ||
923
1025
  (withSkippedComplete.in_progress_steps.length === 0 &&
924
- findEligibleSteps(definition, withSkippedComplete).length === 0);
1026
+ findEligibleSteps(definition, withSkippedComplete).length === 0 &&
1027
+ findEligibleGuardSteps(definition, withSkippedComplete).length === 0);
925
1028
  const finalRun = {
926
1029
  ...withSkippedComplete,
927
1030
  terminal_state: isComplete,
@@ -1046,9 +1149,11 @@ export async function submitHumanResponse(store, definition, options) {
1046
1149
  };
1047
1150
  // A run is terminal when all steps are settled OR when no step will ever become
1048
1151
  // eligible again (safety net for when-condition routing not fully covered by propagateSkips).
1152
+ // Guard steps are not returned by findEligibleSteps, so check them separately.
1049
1153
  const isComplete = isWorkflowComplete(withSkippedGate, definition) ||
1050
1154
  (withSkippedGate.in_progress_steps.length === 0 &&
1051
- findEligibleSteps(definition, withSkippedGate).length === 0);
1155
+ findEligibleSteps(definition, withSkippedGate).length === 0 &&
1156
+ findEligibleGuardSteps(definition, withSkippedGate).length === 0);
1052
1157
  const finalRun = {
1053
1158
  ...withSkippedGate,
1054
1159
  terminal_state: isComplete,
@@ -1089,6 +1194,117 @@ export async function submitHumanResponse(store, definition, options) {
1089
1194
  };
1090
1195
  }
1091
1196
  const MAX_CHAIN_DEPTH = 50;
1197
+ /**
1198
+ * Executes a guard step inline within the engine's auto-chain.
1199
+ *
1200
+ * Guard steps are never claimed via claimStep — they execute synchronously as part of
1201
+ * the chain, not via agent execute_step calls. This function evaluates all abort_unless
1202
+ * conditions and returns an updated RunRecord:
1203
+ *
1204
+ * - PASS: guard in completed_steps, run continues.
1205
+ * - ABORT: guard in skipped_steps, terminal_state=true, aborted_at set.
1206
+ * - RESOLUTION_ERROR: guard in failed_steps, terminal_state=true, evidence with error.
1207
+ *
1208
+ * The caller is responsible for persisting the returned RunRecord via store.update.
1209
+ */
1210
+ async function executeGuardStep(stepName, stepDef, definition, run) {
1211
+ // Normalise abort_unless to string[].
1212
+ const conditions = Array.isArray(stepDef.abort_unless)
1213
+ ? stepDef.abort_unless
1214
+ : [stepDef.abort_unless];
1215
+ // Build evidenceByStep from current run.
1216
+ const evidenceByStep = buildEvidenceByStep(run);
1217
+ // Evaluate all conditions (no short-circuit — record all outcomes).
1218
+ const outcome = evaluateGuardConditions(conditions, evidenceByStep);
1219
+ const now = new Date();
1220
+ if (outcome.kind === 'resolution_error') {
1221
+ // Authoring error — a path in abort_unless could not be resolved.
1222
+ // Record evidence with error status and place guard in failed_steps.
1223
+ const evidenceEntry = captureEvidence({
1224
+ stepId: stepName,
1225
+ startedAt: now,
1226
+ completedAt: now,
1227
+ input: {},
1228
+ output: { error: `Unresolvable path: ${outcome.unresolvable_path}` },
1229
+ error: `Guard resolution error on condition: ${outcome.condition}`,
1230
+ });
1231
+ const withFailed = {
1232
+ ...run,
1233
+ evidence: [...run.evidence, evidenceEntry],
1234
+ failed_steps: [...run.failed_steps, stepName],
1235
+ };
1236
+ const withSkipped = {
1237
+ ...withFailed,
1238
+ skipped_steps: propagateSkips(withFailed, definition),
1239
+ };
1240
+ return {
1241
+ ...withSkipped,
1242
+ terminal_state: true,
1243
+ terminal_reason: `Guard step '${stepName}' failed: unresolvable path '${outcome.unresolvable_path}'`,
1244
+ };
1245
+ }
1246
+ if (outcome.kind === 'pass') {
1247
+ // All conditions true — guard passed, run continues.
1248
+ const evidenceEntry = captureEvidence({
1249
+ stepId: stepName,
1250
+ startedAt: now,
1251
+ completedAt: now,
1252
+ input: {},
1253
+ output: { conditions: outcome.conditions, aborted: false },
1254
+ });
1255
+ const withCompleted = {
1256
+ ...run,
1257
+ evidence: [...run.evidence, evidenceEntry],
1258
+ completed_steps: [...run.completed_steps, stepName],
1259
+ };
1260
+ const withSkipped = {
1261
+ ...withCompleted,
1262
+ skipped_steps: propagateSkips(withCompleted, definition),
1263
+ };
1264
+ const isComplete = isWorkflowComplete(withSkipped, definition) ||
1265
+ (withSkipped.in_progress_steps.length === 0 &&
1266
+ findEligibleSteps(definition, withSkipped).length === 0 &&
1267
+ findEligibleGuardSteps(definition, withSkipped).length === 0);
1268
+ return {
1269
+ ...withSkipped,
1270
+ terminal_state: isComplete,
1271
+ ...(isComplete ? { terminal_reason: 'Workflow completed.' } : {}),
1272
+ };
1273
+ }
1274
+ // Guard fired — one or more conditions false; abort the run.
1275
+ const evidenceEntry = captureEvidence({
1276
+ stepId: stepName,
1277
+ startedAt: now,
1278
+ completedAt: now,
1279
+ input: {},
1280
+ output: {
1281
+ conditions: outcome.conditions,
1282
+ aborted: true,
1283
+ ...(stepDef.abort_message !== undefined ? { abort_message: stepDef.abort_message } : {}),
1284
+ },
1285
+ error: stepDef.abort_message ?? `Guard step '${stepName}' aborted the run.`,
1286
+ });
1287
+ const withGuardSkipped = {
1288
+ ...run,
1289
+ evidence: [...run.evidence, evidenceEntry],
1290
+ // Guard that aborted goes into skipped_steps (not completed or failed).
1291
+ skipped_steps: [...run.skipped_steps, stepName],
1292
+ };
1293
+ // Propagate skips for any downstream steps that can no longer fire.
1294
+ const withAllSkipped = {
1295
+ ...withGuardSkipped,
1296
+ skipped_steps: propagateSkips(withGuardSkipped, definition),
1297
+ };
1298
+ return {
1299
+ ...withAllSkipped,
1300
+ terminal_state: true,
1301
+ aborted_at: {
1302
+ step_id: stepName,
1303
+ conditions: outcome.conditions,
1304
+ ...(stepDef.abort_message !== undefined ? { abort_message: stepDef.abort_message } : {}),
1305
+ },
1306
+ };
1307
+ }
1092
1308
  async function executeChainInternal(store, definition, options, depth, chainedSteps) {
1093
1309
  if (depth > MAX_CHAIN_DEPTH) {
1094
1310
  return {
@@ -1107,7 +1323,7 @@ async function executeChainInternal(store, definition, options, depth, chainedSt
1107
1323
  next_actions: [],
1108
1324
  };
1109
1325
  }
1110
- const result = await executeStep(store, definition, options);
1326
+ let result = await executeStep(store, definition, options);
1111
1327
  // Stop chaining on any non-ok result.
1112
1328
  if (result.status !== 'ok') {
1113
1329
  return result;
@@ -1127,6 +1343,73 @@ async function executeChainInternal(store, definition, options, depth, chainedSt
1127
1343
  if (run.terminal_state || run.pending_gate !== undefined) {
1128
1344
  return result;
1129
1345
  }
1346
+ // Execute any eligible guard steps inline before looking for the next auto step.
1347
+ // Guard steps are synchronous engine decisions — not returned to the agent.
1348
+ // Loop to handle cascading guards (guard A passes → guard B becomes eligible).
1349
+ let guardEligible = findEligibleGuardSteps(definition, run);
1350
+ while (guardEligible.length > 0) {
1351
+ const guardName = guardEligible[0];
1352
+ const guardStepDef = definition.steps[guardName];
1353
+ // Execute inline (pure in-memory; returns updated RunRecord).
1354
+ const guardResult = await executeGuardStep(guardName, guardStepDef, definition, run);
1355
+ // Persist the guard step result.
1356
+ let persistedGuardRun;
1357
+ try {
1358
+ persistedGuardRun = await store.update(guardResult);
1359
+ }
1360
+ catch (storeErr) {
1361
+ const msg = storeErr instanceof Error ? storeErr.message : String(storeErr);
1362
+ return {
1363
+ command: options.command,
1364
+ run_id: options.runId,
1365
+ run_version: run.version,
1366
+ status: 'error',
1367
+ data: {},
1368
+ evidence: [],
1369
+ warnings: [],
1370
+ errors: [`Failed to persist guard step '${guardName}': ${msg}`],
1371
+ agent_action: 'stop',
1372
+ context_hint: `Guard step '${guardName}' could not be persisted. Run state may be inconsistent.`,
1373
+ next_actions: [],
1374
+ };
1375
+ }
1376
+ // Record in chained_auto_steps for visibility.
1377
+ chainedSteps.push({ step: guardName, run_phase: persistedGuardRun.run_phase });
1378
+ if (persistedGuardRun.terminal_state) {
1379
+ // Guard aborted or had a resolution error — run is terminal.
1380
+ const contextHint = persistedGuardRun.aborted_at !== undefined
1381
+ ? `Guard step '${guardName}' aborted the run.`
1382
+ : `Guard step '${guardName}' failed with a resolution error. Run is terminated.`;
1383
+ return {
1384
+ command: options.command,
1385
+ run_id: options.runId,
1386
+ run_version: persistedGuardRun.version,
1387
+ status: 'ok',
1388
+ data: {},
1389
+ evidence: persistedGuardRun.evidence.slice(-1),
1390
+ warnings: [],
1391
+ errors: [],
1392
+ context_hint: contextHint,
1393
+ next_actions: [],
1394
+ };
1395
+ }
1396
+ run = persistedGuardRun;
1397
+ guardEligible = findEligibleGuardSteps(definition, run);
1398
+ }
1399
+ // If any guards ran and passed, rebuild result with fresh next_actions and run_version.
1400
+ // The original `result` was built before guard execution, so its next_actions and version are stale.
1401
+ const guardsRan = chainedSteps.some((s) => definition.steps[s.step]?.execution === 'guard');
1402
+ if (guardsRan) {
1403
+ const freshNextActions = buildNextActions(definition, run);
1404
+ result = {
1405
+ ...result,
1406
+ run_version: run.version,
1407
+ next_actions: freshNextActions,
1408
+ };
1409
+ }
1410
+ if (run.terminal_state || run.pending_gate !== undefined) {
1411
+ return result;
1412
+ }
1130
1413
  // Find the next eligible auto step and chain into it.
1131
1414
  const eligible = findEligibleSteps(definition, run);
1132
1415
  const nextAutoStep = eligible.find((name) => definition.steps[name]?.execution === 'auto');
@@ -1 +1 @@
1
- {"version":3,"file":"execution-loop.js","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-loop.js","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,13 @@ export declare const TERMINAL_PHASES: Set<RunPhase>;
5
5
  export declare const RESUMABLE_PHASES: Set<RunPhase>;
6
6
  /** Phases in which a run is waiting for a human gate response. */
7
7
  export declare const WAITING_PHASES: Set<RunPhase>;
8
+ /**
9
+ * Maximum seconds the engine waits for in-flight steps to settle after a guard fires.
10
+ * In v1 this is a documentation constant — the drain is handled by STATE_RUN_TERMINAL
11
+ * rejections on terminal runs. Will bound a runtime drain window if per-run timeouts
12
+ * are added in a future phase.
13
+ */
14
+ export declare const DRAIN_CEILING_SECONDS = 30;
8
15
  /** Returns true when a run in the given phase will not execute any more steps. */
9
16
  export declare function isTerminalPhase(phase: RunPhase): boolean;
10
17
  export declare const TERMINAL_STATES: Set<RunPhase>;
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,eAAe,eAA0D,CAAC;AAEvF,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,eAA6C,CAAC;AAE3E,kEAAkE;AAClE,eAAO,MAAM,cAAc,eAAsC,CAAC;AAElE,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAID,eAAO,MAAM,eAAe,eAAkB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,eAAmB,CAAC;AACjD,eAAO,MAAM,cAAc,eAAiB,CAAC;AAC7C,eAAO,MAAM,eAAe,wBAAkB,CAAC"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,eAAe,eAAqE,CAAC;AAElG,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,eAA6C,CAAC;AAE3E,kEAAkE;AAClE,eAAO,MAAM,cAAc,eAAsC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAID,eAAO,MAAM,eAAe,eAAkB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,eAAmB,CAAC;AACjD,eAAO,MAAM,cAAc,eAAiB,CAAC;AAC7C,eAAO,MAAM,eAAe,wBAAkB,CAAC"}
@@ -1,9 +1,16 @@
1
1
  /** Phases that mark a run as finished — no further steps will execute. */
2
- export const TERMINAL_PHASES = new Set(['completed', 'failed', 'abandoned']);
2
+ export const TERMINAL_PHASES = new Set(['completed', 'failed', 'abandoned', 'aborted']);
3
3
  /** Phases from which a run can be resumed by removing steps from failed_steps. */
4
4
  export const RESUMABLE_PHASES = new Set(['failed', 'abandoned']);
5
5
  /** Phases in which a run is waiting for a human gate response. */
6
6
  export const WAITING_PHASES = new Set(['gate_waiting']);
7
+ /**
8
+ * Maximum seconds the engine waits for in-flight steps to settle after a guard fires.
9
+ * In v1 this is a documentation constant — the drain is handled by STATE_RUN_TERMINAL
10
+ * rejections on terminal runs. Will bound a runtime drain window if per-run timeouts
11
+ * are added in a future phase.
12
+ */
13
+ export const DRAIN_CEILING_SECONDS = 30;
7
14
  /** Returns true when a run in the given phase will not execute any more steps. */
8
15
  export function isTerminalPhase(phase) {
9
16
  return TERMINAL_PHASES.has(phase);