@sensigo/realm 0.31.2 → 0.32.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 (44) hide show
  1. package/dist/engine/apply-resume.d.ts +34 -0
  2. package/dist/engine/apply-resume.d.ts.map +1 -0
  3. package/dist/engine/apply-resume.js +69 -0
  4. package/dist/engine/apply-resume.js.map +1 -0
  5. package/dist/engine/defaulted-steps.d.ts +17 -0
  6. package/dist/engine/defaulted-steps.d.ts.map +1 -0
  7. package/dist/engine/defaulted-steps.js +26 -0
  8. package/dist/engine/defaulted-steps.js.map +1 -0
  9. package/dist/engine/execution-loop.d.ts +32 -0
  10. package/dist/engine/execution-loop.d.ts.map +1 -1
  11. package/dist/engine/execution-loop.js +704 -39
  12. package/dist/engine/execution-loop.js.map +1 -1
  13. package/dist/engine/lifecycle.d.ts +14 -0
  14. package/dist/engine/lifecycle.d.ts.map +1 -1
  15. package/dist/engine/lifecycle.js +14 -0
  16. package/dist/engine/lifecycle.js.map +1 -1
  17. package/dist/engine/run-health.d.ts +1 -1
  18. package/dist/engine/run-health.d.ts.map +1 -1
  19. package/dist/engine/run-health.js +26 -3
  20. package/dist/engine/run-health.js.map +1 -1
  21. package/dist/engine/settlement.d.ts +27 -0
  22. package/dist/engine/settlement.d.ts.map +1 -0
  23. package/dist/engine/settlement.js +414 -0
  24. package/dist/engine/settlement.js.map +1 -0
  25. package/dist/index.d.ts +8 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +11 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/store/json-file-store.d.ts +54 -3
  30. package/dist/store/json-file-store.d.ts.map +1 -1
  31. package/dist/store/json-file-store.js +156 -17
  32. package/dist/store/json-file-store.js.map +1 -1
  33. package/dist/store/store-interface.d.ts +47 -1
  34. package/dist/store/store-interface.d.ts.map +1 -1
  35. package/dist/types/run-record.d.ts +67 -0
  36. package/dist/types/run-record.d.ts.map +1 -1
  37. package/dist/types/settlement.d.ts +124 -0
  38. package/dist/types/settlement.d.ts.map +1 -0
  39. package/dist/types/settlement.js +2 -0
  40. package/dist/types/settlement.js.map +1 -0
  41. package/dist/types/workflow-error.d.ts +1 -1
  42. package/dist/types/workflow-error.d.ts.map +1 -1
  43. package/dist/types/workflow-error.js.map +1 -1
  44. package/package.json +1 -1
@@ -0,0 +1,34 @@
1
+ import type { RunRecord } from '../types/run-record.js';
2
+ import type { WorkflowDefinition } from '../types/workflow-definition.js';
3
+ /** One finalizer voided by a resume, with its lease-discriminated disclosure message (design
4
+ * record §5: "never executed, superseded by resume" vs "may have executed without a recorded
5
+ * mark — may re-execute at the next terminal edge"). */
6
+ export interface ApplyResumeVoidedFinalizer {
7
+ name: string;
8
+ disclosure: string;
9
+ }
10
+ export interface ApplyResumeResult {
11
+ /** The fully-mutated record — pass directly to `store.update()` for the atomic write. */
12
+ run: RunRecord;
13
+ /** Every pending finalizer ledger entry this resume voided, in `Object.entries` order. Empty
14
+ * when the run carried no pending finalizers (the common case). */
15
+ voided: ApplyResumeVoidedFinalizer[];
16
+ }
17
+ /**
18
+ * Resumes `stepName` (design record §5) — filters it out of `failed_steps`, wipes and re-derives
19
+ * `skipped_steps`/`skip_details` from scratch (NOTE — final-gate F9 cross-reference: this
20
+ * wipe+re-derive relies on the premise that handler/guard-abort runs are never resumable; the
21
+ * CLI's own `aborted_at` refusal, run BEFORE this function, is what makes that premise
22
+ * STRUCTURALLY true rather than merely conventional), resets `terminal_state:false`, strips
23
+ * `terminal_reason` AND `abandoned_at` (issue #281 — the load-bearing fix for the `aborted_at`
24
+ * mask: leaving a stale `abandoned_at` on a resumed-and-re-terminalized run would let a future
25
+ * PR-A-vintage `isTerminal` reader mis-read it as abandoned again), projects `settled` down to
26
+ * still-live membership (L17: `settled′ = {s ∈ settled | s ∈ completed′∪failed′∪skipped′}`), VOIDS
27
+ * every pending finalizer ledger entry (leases dropped, each disclosed), and releases every
28
+ * remaining claim unconditionally.
29
+ *
30
+ * Pure — no I/O, no `Date.now()`/randomness. Returns the mutated record; the caller performs the
31
+ * single atomic `store.update()`.
32
+ */
33
+ export declare function applyResume(snapshot: RunRecord, stepName: string, definition: WorkflowDefinition): ApplyResumeResult;
34
+ //# sourceMappingURL=apply-resume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-resume.d.ts","sourceRoot":"","sources":["../../src/engine/apply-resume.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E;;yDAEyD;AACzD,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,GAAG,EAAE,SAAS,CAAC;IACf;wEACoE;IACpE,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,kBAAkB,GAC7B,iBAAiB,CA0DnB"}
@@ -0,0 +1,69 @@
1
+ import { propagateSkips } from './eligibility.js';
2
+ /**
3
+ * Resumes `stepName` (design record §5) — filters it out of `failed_steps`, wipes and re-derives
4
+ * `skipped_steps`/`skip_details` from scratch (NOTE — final-gate F9 cross-reference: this
5
+ * wipe+re-derive relies on the premise that handler/guard-abort runs are never resumable; the
6
+ * CLI's own `aborted_at` refusal, run BEFORE this function, is what makes that premise
7
+ * STRUCTURALLY true rather than merely conventional), resets `terminal_state:false`, strips
8
+ * `terminal_reason` AND `abandoned_at` (issue #281 — the load-bearing fix for the `aborted_at`
9
+ * mask: leaving a stale `abandoned_at` on a resumed-and-re-terminalized run would let a future
10
+ * PR-A-vintage `isTerminal` reader mis-read it as abandoned again), projects `settled` down to
11
+ * still-live membership (L17: `settled′ = {s ∈ settled | s ∈ completed′∪failed′∪skipped′}`), VOIDS
12
+ * every pending finalizer ledger entry (leases dropped, each disclosed), and releases every
13
+ * remaining claim unconditionally.
14
+ *
15
+ * Pure — no I/O, no `Date.now()`/randomness. Returns the mutated record; the caller performs the
16
+ * single atomic `store.update()`.
17
+ */
18
+ export function applyResume(snapshot, stepName, definition) {
19
+ const failedSteps = snapshot.failed_steps.filter((s) => s !== stepName);
20
+ const { skipped: skippedSteps, details: skipDetails } = propagateSkips({
21
+ ...snapshot,
22
+ failed_steps: failedSteps,
23
+ skipped_steps: [],
24
+ skip_details: {},
25
+ }, definition);
26
+ // settled L17 PROJECTION.
27
+ const liveMembership = new Set([...snapshot.completed_steps, ...failedSteps, ...skippedSteps]);
28
+ const settled = snapshot.settled !== undefined
29
+ ? Object.fromEntries(Object.entries(snapshot.settled).filter(([s]) => liveMembership.has(s)))
30
+ : undefined;
31
+ // VOID every pending finalizer ledger entry, loudly, with lease discrimination.
32
+ const voided = [];
33
+ let finalizerLedger = snapshot.finalizer_ledger;
34
+ if (finalizerLedger !== undefined) {
35
+ const nextLedger = {};
36
+ for (const [name, entry] of Object.entries(finalizerLedger)) {
37
+ if (entry.status !== 'pending') {
38
+ nextLedger[name] = entry;
39
+ continue;
40
+ }
41
+ const neverLeased = entry.lease_token === undefined;
42
+ nextLedger[name] = { status: 'voided', rank: entry.rank };
43
+ voided.push({
44
+ name,
45
+ disclosure: neverLeased
46
+ ? `finalizer '${name}' voided by resume — never executed, superseded by resume`
47
+ : `finalizer '${name}' voided by resume — may have executed without a recorded mark; ` +
48
+ `may re-execute at the next terminal edge`,
49
+ });
50
+ }
51
+ finalizerLedger = nextLedger;
52
+ }
53
+ // Strip terminal_reason + abandoned_at (issue #281); release ALL remaining claims
54
+ // unconditionally (the CLI refusals guarantee none are healthy by the time this runs).
55
+ const { terminal_reason: _tr, abandoned_at: _aa, ...rest } = snapshot;
56
+ const run = {
57
+ ...rest,
58
+ failed_steps: failedSteps,
59
+ skipped_steps: skippedSteps,
60
+ skip_details: skipDetails,
61
+ terminal_state: false,
62
+ in_progress_steps: [],
63
+ claims: {},
64
+ ...(settled !== undefined ? { settled } : {}),
65
+ ...(finalizerLedger !== undefined ? { finalizer_ledger: finalizerLedger } : {}),
66
+ };
67
+ return { run, voided };
68
+ }
69
+ //# sourceMappingURL=apply-resume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-resume.js","sourceRoot":"","sources":["../../src/engine/apply-resume.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAkBlD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CACzB,QAAmB,EACnB,QAAgB,EAChB,UAA8B;IAE9B,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACxE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,cAAc,CACpE;QACE,GAAG,QAAQ;QACX,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,EAAc;QAC7B,YAAY,EAAE,EAAE;KACjB,EACD,UAAU,CACX,CAAC;IAEF,0BAA0B;IAC1B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,EAAE,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAC/F,MAAM,OAAO,GACX,QAAQ,CAAC,OAAO,KAAK,SAAS;QAC5B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC,CAAC,SAAS,CAAC;IAEhB,gFAAgF;IAChF,MAAM,MAAM,GAAiC,EAAE,CAAC;IAChD,IAAI,eAAe,GAAkC,QAAQ,CAAC,gBAAgB,CAAC;IAC/E,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,UAAU,GAA+C,EAAE,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC;YACpD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,UAAU,EAAE,WAAW;oBACrB,CAAC,CAAC,cAAc,IAAI,2DAA2D;oBAC/E,CAAC,CAAC,cAAc,IAAI,kEAAkE;wBACpF,0CAA0C;aAC/C,CAAC,CAAC;QACL,CAAC;QACD,eAAe,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,kFAAkF;IAClF,uFAAuF;IACvF,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;IACtE,MAAM,GAAG,GAAc;QACrB,GAAG,IAAI;QACP,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,YAAY;QAC3B,YAAY,EAAE,WAAW;QACzB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,EAAE;QACrB,MAAM,EAAE,EAAE;QACV,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { RunRecord } from '../types/run-record.js';
2
+ /**
3
+ * Scans `evidence` for entries stamped `diagnostics.settled_by_default === true` and returns their
4
+ * distinct `step_id`s, deduped in first-occurrence (declaration) order — identical to
5
+ * `stampDefaultedSteps`'s own loop, now shared. Pure, no I/O, and safe to call on ANY evidence
6
+ * array regardless of the run's terminal state or how it sealed (complete/failed/aborted/still
7
+ * running) — the derivation itself carries no seal-outcome assumption; callers decide what to do
8
+ * with an empty result (e.g. `stampDefaultedSteps` still applies it ONLY at the `'complete'` seal;
9
+ * the read surfaces call it unconditionally and simply omit the field when empty).
10
+ *
11
+ * `gate_response` evidence snapshots carry no `diagnostics.settled_by_default` (that diagnostic is
12
+ * only ever stamped on the ONE synthesized SUCCESS execution snapshot a declared default-settle
13
+ * mints — see `StepDiagnostics.settled_by_default`'s own doc) — no special-casing needed here
14
+ * beyond reusing the same `=== true` predicate every other consumer of this diagnostic uses.
15
+ */
16
+ export declare function deriveDefaultedSteps(evidence: RunRecord['evidence']): string[];
17
+ //# sourceMappingURL=defaulted-steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaulted-steps.d.ts","sourceRoot":"","sources":["../../src/engine/defaulted-steps.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,EAAE,CAU9E"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Scans `evidence` for entries stamped `diagnostics.settled_by_default === true` and returns their
3
+ * distinct `step_id`s, deduped in first-occurrence (declaration) order — identical to
4
+ * `stampDefaultedSteps`'s own loop, now shared. Pure, no I/O, and safe to call on ANY evidence
5
+ * array regardless of the run's terminal state or how it sealed (complete/failed/aborted/still
6
+ * running) — the derivation itself carries no seal-outcome assumption; callers decide what to do
7
+ * with an empty result (e.g. `stampDefaultedSteps` still applies it ONLY at the `'complete'` seal;
8
+ * the read surfaces call it unconditionally and simply omit the field when empty).
9
+ *
10
+ * `gate_response` evidence snapshots carry no `diagnostics.settled_by_default` (that diagnostic is
11
+ * only ever stamped on the ONE synthesized SUCCESS execution snapshot a declared default-settle
12
+ * mints — see `StepDiagnostics.settled_by_default`'s own doc) — no special-casing needed here
13
+ * beyond reusing the same `=== true` predicate every other consumer of this diagnostic uses.
14
+ */
15
+ export function deriveDefaultedSteps(evidence) {
16
+ const steps = [];
17
+ const seen = new Set();
18
+ for (const snap of evidence) {
19
+ if (snap.diagnostics?.settled_by_default === true && !seen.has(snap.step_id)) {
20
+ seen.add(snap.step_id);
21
+ steps.push(snap.step_id);
22
+ }
23
+ }
24
+ return steps;
25
+ }
26
+ //# sourceMappingURL=defaulted-steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaulted-steps.js","sourceRoot":"","sources":["../../src/engine/defaulted-steps.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA+B;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,kBAAkB,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -118,6 +118,38 @@ export declare function executeStep(store: RunStore, definition: WorkflowDefinit
118
118
  * Validates the gate_id and choice, then moves the step to completed_steps.
119
119
  */
120
120
  export declare function submitHumanResponse(store: RunStore, definition: WorkflowDefinition, options: SubmitGateOptions): Promise<ResponseEnvelope>;
121
+ /**
122
+ * Post-commit finalizer drain (design record §6, D2, issue #279 increment 1 PR-B). Drains the
123
+ * LOWEST-ranked pending finalizer, re-reading the record returned by the LAST settle/lease/mark at
124
+ * every step — NEVER a pass-start snapshot (the DRAIN_REREADS_LEDGER pin: a snapshot taken once at
125
+ * the top of this function would go stale the instant the first lease/mark commits, silently
126
+ * reintroducing exactly the kind of pre-commit assumption #279 exists to eliminate).
127
+ *
128
+ * Lives here (not in settlement.ts) so the module-private `withTimeout`/`callHandler` — already
129
+ * proven by `buildFinalizedSeal` above — are reused without exporting them; `settlement.ts` stays
130
+ * pure/no-I/O (design record §7 CS-purity).
131
+ *
132
+ * Registry pre-check: an absent handler leaves the entry pending and discloses why, rather than
133
+ * burning it (leasing it, failing the call, and marking it 'failed' would destroy the "recoverable
134
+ * on a capable runner" property a still-pending entry carries). Rank-monotonic: a pass HALTS at the
135
+ * first entry it cannot lease/execute, so a lower-ranked absent-handler or held-lease entry
136
+ * withholds every higher-ranked (later) finalizer behind it (R11) — this is deliberate: rank order
137
+ * is a DELIVERY order guarantee, not just a preference.
138
+ *
139
+ * `not_eligible` at lease OR mark time is a contract violation (an unknown finalizer id — mintFresh
140
+ * only ever mints real workflow finalizer names) and aborts the pass LOUD (throws), distinct from
141
+ * `ledger_not_pending` at lease time, which ADVANCES (someone else already resolved it). A
142
+ * non-BUSY infra throw from `mark_finalizer` also aborts loud, with the remaining-pending list in
143
+ * the message. The executed-but-not-recorded warning (three reasons: `lease_lost`,
144
+ * `ledger_not_pending`-AFTER-execution, `run_not_terminal`) halts the pass rather than continuing —
145
+ * each of those three reasons refuses the mark WITHOUT mutating the ledger entry's `'pending'`
146
+ * status, so continuing would re-select the SAME entry next iteration (an infinite loop); halting
147
+ * is the only forward-progress-safe response until an operator or a later terminal edge resolves it.
148
+ */
149
+ export declare function drainFinalizers(store: RunStore, definition: WorkflowDefinition, registry: ExtensionRegistry | undefined, runId: string): Promise<{
150
+ run: RunRecord;
151
+ warnings: string[];
152
+ }>;
121
153
  /**
122
154
  * Executes a step and automatically chains into subsequent `execution: auto` steps.
123
155
  * Stops at agent steps, gate steps (returning confirm_required), errors, or terminal state.
@@ -1 +1 @@
1
- {"version":3,"file":"execution-loop.d.ts","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-loop.d.ts","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"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"}