@sensigo/realm-cli 0.32.0 → 0.34.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 (62) hide show
  1. package/dist/agent/gate/gate-expiry-timer.d.ts +19 -0
  2. package/dist/agent/gate/gate-expiry-timer.d.ts.map +1 -0
  3. package/dist/agent/gate/gate-expiry-timer.js +83 -0
  4. package/dist/agent/gate/gate-expiry-timer.js.map +1 -0
  5. package/dist/agent/gate/slack-gate-notifier.d.ts +24 -2
  6. package/dist/agent/gate/slack-gate-notifier.d.ts.map +1 -1
  7. package/dist/agent/gate/slack-gate-notifier.js +101 -8
  8. package/dist/agent/gate/slack-gate-notifier.js.map +1 -1
  9. package/dist/agent/mcp/mcp-extensions.d.ts +8 -1
  10. package/dist/agent/mcp/mcp-extensions.d.ts.map +1 -1
  11. package/dist/agent/providers/anthropic-provider.d.ts +31 -0
  12. package/dist/agent/providers/anthropic-provider.d.ts.map +1 -1
  13. package/dist/agent/providers/anthropic-provider.js +169 -25
  14. package/dist/agent/providers/anthropic-provider.js.map +1 -1
  15. package/dist/agent/providers/llm-provider.d.ts +17 -0
  16. package/dist/agent/providers/llm-provider.d.ts.map +1 -1
  17. package/dist/agent/providers/llm-provider.js +16 -0
  18. package/dist/agent/providers/llm-provider.js.map +1 -1
  19. package/dist/agent/run-agent.d.ts.map +1 -1
  20. package/dist/agent/run-agent.js +141 -4
  21. package/dist/agent/run-agent.js.map +1 -1
  22. package/dist/commands/abandon.d.ts.map +1 -1
  23. package/dist/commands/abandon.js +4 -1
  24. package/dist/commands/abandon.js.map +1 -1
  25. package/dist/commands/drain.d.ts +24 -0
  26. package/dist/commands/drain.d.ts.map +1 -1
  27. package/dist/commands/drain.js +152 -12
  28. package/dist/commands/drain.js.map +1 -1
  29. package/dist/commands/export.d.ts.map +1 -1
  30. package/dist/commands/export.js +6 -2
  31. package/dist/commands/export.js.map +1 -1
  32. package/dist/commands/init.d.ts.map +1 -1
  33. package/dist/commands/init.js +1 -0
  34. package/dist/commands/init.js.map +1 -1
  35. package/dist/commands/inspect.d.ts.map +1 -1
  36. package/dist/commands/inspect.js +35 -7
  37. package/dist/commands/inspect.js.map +1 -1
  38. package/dist/commands/list.d.ts.map +1 -1
  39. package/dist/commands/list.js +54 -15
  40. package/dist/commands/list.js.map +1 -1
  41. package/dist/commands/listen.d.ts +32 -2
  42. package/dist/commands/listen.d.ts.map +1 -1
  43. package/dist/commands/listen.js +100 -0
  44. package/dist/commands/listen.js.map +1 -1
  45. package/dist/commands/purge.d.ts.map +1 -1
  46. package/dist/commands/purge.js +15 -7
  47. package/dist/commands/purge.js.map +1 -1
  48. package/dist/commands/reclaim.d.ts.map +1 -1
  49. package/dist/commands/reclaim.js +8 -0
  50. package/dist/commands/reclaim.js.map +1 -1
  51. package/dist/commands/resume.d.ts +1 -0
  52. package/dist/commands/resume.d.ts.map +1 -1
  53. package/dist/commands/resume.js +13 -5
  54. package/dist/commands/resume.js.map +1 -1
  55. package/dist/commands/run.d.ts.map +1 -1
  56. package/dist/commands/run.js +17 -1
  57. package/dist/commands/run.js.map +1 -1
  58. package/dist/commands/validate.d.ts.map +1 -1
  59. package/dist/commands/validate.js +72 -2
  60. package/dist/commands/validate.js.map +1 -1
  61. package/dist/index.js +1 -1
  62. package/package.json +5 -5
@@ -6,7 +6,7 @@
6
6
  // import, no createRequire), never the extensions loader.
7
7
  import chalk from 'chalk';
8
8
  import { Command } from 'commander';
9
- import { classifyRunHealth, deriveDefaultedSteps } from '@sensigo/realm';
9
+ import { classifyRunHealth, deriveDefaultedSteps, deriveRunPhase, computeGateDueState, } from '@sensigo/realm';
10
10
  // issue #221 correction: the CLI's first command→command import (sanctioned — harmless
11
11
  // module-level Command construction; `listCommand` is a standalone Commander object never
12
12
  // auto-registered anywhere by being imported). Reused so inspect's never_claimed_idle age
@@ -43,6 +43,11 @@ function formatSkipDetail(detail) {
43
43
  // doesn't red `npm run build` under this exhaustive switch's strict-TS check.
44
44
  case 'gate_cancelled_by_abort':
45
45
  return 'gate_cancelled_by_abort';
46
+ // issue #291: a gate's OWN step, aborted by applyExpireGate on enforce-clock expiry —
47
+ // distinct from gate_cancelled_by_abort (a DIFFERENT step's handler-abort cancelling this
48
+ // gate).
49
+ case 'gate_expired':
50
+ return `gate_expired (gate_id: ${detail.gate_id})`;
46
51
  }
47
52
  }
48
53
  /**
@@ -180,16 +185,19 @@ export async function inspectRun(runId, store, workflowStore, options) {
180
185
  workflowLabel = run.workflow_id;
181
186
  definitionMissing = true;
182
187
  }
183
- // Color the phase label.
188
+ // Color the phase label \u2014 derived, never the persisted run_phase (issue #279, increment 2,
189
+ // PR-C \u2014 D-3 leg vi: render sweep). A grandfathered terminal-with-stale-gate record (the #282
190
+ // class) must render its TRUE phase here, not a stale 'gate_waiting'.
191
+ const derivedPhase = deriveRunPhase(run);
184
192
  let phaseLabel;
185
- if (run.run_phase === 'completed') {
186
- phaseLabel = chalk.green(`${run.run_phase} \u2713`);
193
+ if (derivedPhase === 'completed') {
194
+ phaseLabel = chalk.green(`${derivedPhase} \u2713`);
187
195
  }
188
- else if (run.run_phase === 'failed' || run.run_phase === 'abandoned') {
189
- phaseLabel = chalk.red(run.run_phase);
196
+ else if (derivedPhase === 'failed' || derivedPhase === 'abandoned') {
197
+ phaseLabel = chalk.red(derivedPhase);
190
198
  }
191
199
  else {
192
- phaseLabel = chalk.yellow(run.run_phase);
200
+ phaseLabel = chalk.yellow(derivedPhase);
193
201
  }
194
202
  const lines = [];
195
203
  lines.push(`Run: ${run.id}`);
@@ -213,6 +221,26 @@ export async function inspectRun(runId, store, workflowStore, options) {
213
221
  }
214
222
  lines.push(`Created: ${run.created_at}`);
215
223
  lines.push(`Updated: ${run.updated_at}`);
224
+ // issue #291 (Deliverable 7): an open gate's due/overdue state — off the SAME shared
225
+ // computeGateDueState derivation list/get_run_state also read from. The EXPIRED fact ITSELF is
226
+ // additionally (and independently) disclosed via the gate_expired_awaiting_drive run-health
227
+ // finding below (the generic finding-render loop already covers it); this line's own job is
228
+ // the reminder due/overdue annotation, which [B1] deliberately keeps OUT of run-health.
229
+ if (derivedPhase === 'gate_waiting' && run.pending_gate !== undefined) {
230
+ const gate = run.pending_gate;
231
+ const due = computeGateDueState(gate, new Date());
232
+ let gateLine = `Gate: ${gate.step_name} (opened ${formatGateAge(gate.opened_at)} ago)`;
233
+ if (due.expired) {
234
+ gateLine += ` — EXPIRED ${formatGateAge(gate.expires_at)} ago`;
235
+ }
236
+ if (due.next_reminder_due_at !== undefined) {
237
+ const overdueReminder = new Date(due.next_reminder_due_at).getTime() <= Date.now();
238
+ gateLine += overdueReminder
239
+ ? `, reminder overdue (was due ${formatGateAge(due.next_reminder_due_at)} ago)`
240
+ : `, reminder due in ${formatGateAge(new Date().toISOString(), new Date(due.next_reminder_due_at))}`;
241
+ }
242
+ lines.push(gateLine);
243
+ }
216
244
  // issue #221: typed run-health findings — the SAME shared classifyRunHealth predicate the three
217
245
  // READ surfaces (get_run_state, list --stuck, inspect) derive from. Definition-aware when
218
246
  // resolved above (adds eligible_steps evidence to any never_claimed_idle finding); tolerates
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAgD,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,KAAK,EACV,QAAQ,EAER,QAAQ,EAER,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAWxB;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAa9E;AA+CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAgB1E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,QAAQ,EACf,YAAY,CAAC,EAAE,QAAQ,EACvB,KAAK,CAAC,EAAE,OAAO,EACf,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,MAAM,CAAC,CAoGjB;AAED,eAAO,MAAM,WAAW,SAmErB,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAIL,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAoB,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAYpG;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAa9E;AAyDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAgB1E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,QAAQ,EACf,YAAY,CAAC,EAAE,QAAQ,EACvB,KAAK,CAAC,EAAE,OAAO,EACf,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,MAAM,CAAC,CAgIjB;AAED,eAAO,MAAM,WAAW,SAmErB,CAAC"}
@@ -1,17 +1,18 @@
1
1
  // list command — displays all runs in the store, sorted by most recent first.
2
2
  import chalk from 'chalk';
3
3
  import { Command } from 'commander';
4
- import { classifyRunHealth, DEFAULT_IDLE_THRESHOLD_MS, FailedAttemptStore } from '@sensigo/realm';
4
+ import { classifyRunHealth, deriveRunPhase, DEFAULT_IDLE_THRESHOLD_MS, FailedAttemptStore, computeGateDueState, } from '@sensigo/realm';
5
5
  import { parseDuration } from '../lib/parse-duration.js';
6
- /** Returns a chalk-coloured phase label. */
7
- function colorState(run) {
8
- if (run.run_phase === 'completed')
9
- return chalk.green(run.run_phase);
10
- if (run.run_phase === 'failed' || run.run_phase === 'abandoned')
11
- return chalk.red(run.run_phase);
12
- if (run.run_phase === 'gate_waiting')
13
- return chalk.cyan(run.run_phase);
14
- return chalk.yellow(run.run_phase);
6
+ /** Returns a chalk-coloured phase label — `phase` is the caller's already-DERIVED value (issue
7
+ * #279, increment 2, PR-C — D-3 leg vi: render sweep), never a raw `run.run_phase` read here. */
8
+ function colorState(phase) {
9
+ if (phase === 'completed')
10
+ return chalk.green(phase);
11
+ if (phase === 'failed' || phase === 'abandoned')
12
+ return chalk.red(phase);
13
+ if (phase === 'gate_waiting')
14
+ return chalk.cyan(phase);
15
+ return chalk.yellow(phase);
15
16
  }
16
17
  /**
17
18
  * Formats elapsed time since a gate was opened as a compact human-readable duration.
@@ -32,7 +33,17 @@ export function formatGateAge(openedAt, now = new Date()) {
32
33
  const remainingHours = totalHours % 24;
33
34
  return `${totalDays}d ${remainingHours}h`;
34
35
  }
35
- const VALID_PHASES = ['running', 'gate_waiting', 'completed', 'failed', 'abandoned'];
36
+ // issue #289: 'aborted' was missing — RunPhase has carried it since #279 increment 2 (PR-C), but
37
+ // this list (the ONLY --status validator) was never updated, so a genuinely valid phase value was
38
+ // rejected. This is the single source both the --status help text and the validator below read.
39
+ const VALID_PHASES = [
40
+ 'running',
41
+ 'gate_waiting',
42
+ 'completed',
43
+ 'failed',
44
+ 'abandoned',
45
+ 'aborted',
46
+ ];
36
47
  /**
37
48
  * Formats a threshold duration for the `--stuck` header, e.g. `24h`, `30d`, `10m`, `0m`. Whole-
38
49
  * unit only — matches the granularity `parseDuration`/`--older-than` itself accepts (d|h|m), so
@@ -141,11 +152,20 @@ export async function listRuns(workflowId, store, statusFilter, stuck, idleThres
141
152
  const findings = classifyRunHealth(r, { idleThresholdMs: effectiveIdleThresholdMs });
142
153
  if (findings.length > 0)
143
154
  findingsByRun.set(r.id, findings);
144
- return findings.length > 0;
155
+ // issue #302: a completed run is not stuck — deliberately INVERTS the
156
+ // terminal_pending_finalizer precedent (which selects AND labels). A run whose entire
157
+ // finding set is completed_with_failed_steps is excluded from --stuck; the FULL array is
158
+ // still stored above, so a run selected for some OTHER co-occurring finding still renders
159
+ // that finding's own label (completed_with_failed_steps itself has none — the
160
+ // terminal_with_stale_gate/gate_corruption no-label precedent).
161
+ return findings.some((f) => f.kind !== 'completed_with_failed_steps');
145
162
  });
146
163
  }
147
164
  else if (statusFilter !== undefined) {
148
- filtered = runs.filter((r) => r.run_phase === statusFilter);
165
+ // issue #279 (increment 2, PR-C — D-3 leg vi): filter on the DERIVED phase, never the
166
+ // persisted one — a grandfathered terminal-with-stale-gate record (the #282 class) must
167
+ // never falsely match `--status gate_waiting`.
168
+ filtered = runs.filter((r) => deriveRunPhase(r) === statusFilter);
149
169
  }
150
170
  if (filtered.length === 0) {
151
171
  const scope = workflowId !== undefined ? ` for workflow '${workflowId}'` : '';
@@ -159,7 +179,10 @@ export async function listRuns(workflowId, store, statusFilter, stuck, idleThres
159
179
  lines.push(`Stuck runs (threshold ${formatThreshold(effectiveIdleThresholdMs)}):`);
160
180
  }
161
181
  for (const run of filtered) {
162
- const state = colorState(run);
182
+ // issue #279 (increment 2, PR-C — D-3 leg vi): derive ONCE per run, used for both the
183
+ // colored state label and the gate-line suppression below.
184
+ const derivedPhase = deriveRunPhase(run);
185
+ const state = colorState(derivedPhase);
163
186
  const updated = new Date(run.updated_at).toLocaleString();
164
187
  const steps = new Set(run.evidence.filter((e) => e.kind !== 'gate_response').map((e) => e.step_id)).size;
165
188
  let line = `${chalk.dim(run.id)} ${chalk.bold(run.workflow_id)} v${run.workflow_version} ${state} ${updated} ${steps} step(s)`;
@@ -214,9 +237,25 @@ export async function listRuns(workflowId, store, statusFilter, stuck, idleThres
214
237
  }
215
238
  }
216
239
  }
217
- else if (run.run_phase === 'gate_waiting' && run.pending_gate !== undefined) {
240
+ else if (derivedPhase === 'gate_waiting' && run.pending_gate !== undefined) {
241
+ // issue #279 (increment 2, PR-C — D-3 leg vi): keyed on the DERIVED phase — no live-looking
242
+ // gate line on a terminal run carrying a stale/leftover pending_gate (the #282 class).
218
243
  const age = formatGateAge(run.pending_gate.opened_at);
219
244
  line += ` gate: ${run.pending_gate.step_name} (${age})`;
245
+ // issue #291 (Deliverable 7): the EXPIRED marker + next-reminder-due annotation — the SAME
246
+ // shared computeGateDueState derivation get_run_state/inspect also read from, off the
247
+ // frozen record fields only (never the definition — definition-free by construction here).
248
+ const due = computeGateDueState(run.pending_gate, new Date());
249
+ if (due.expired) {
250
+ line += ` EXPIRED ${formatGateAge(run.pending_gate.expires_at)} ago`;
251
+ }
252
+ if (due.next_reminder_due_at !== undefined) {
253
+ const dueMs = new Date(due.next_reminder_due_at).getTime();
254
+ const overdueReminder = dueMs <= Date.now();
255
+ line += overdueReminder
256
+ ? ` reminder overdue (was due ${formatGateAge(due.next_reminder_due_at)} ago)`
257
+ : ` reminder due in ${formatGateAge(new Date().toISOString(), new Date(due.next_reminder_due_at))}`;
258
+ }
220
259
  }
221
260
  lines.push(line);
222
261
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,8 @@ export type SpawnResult = {
17
17
  };
18
18
  /** Injected I/O dependencies — everything that touches disk, the clock, or child processes. */
19
19
  export interface ListenDeps {
20
- workflowStore: Pick<WorkflowRegistrar, 'register'>;
21
- runStore: Pick<RunStore, 'create' | 'get' | 'update'>;
20
+ workflowStore: Pick<WorkflowRegistrar, 'register' | 'get'>;
21
+ runStore: Pick<RunStore, 'create' | 'get' | 'update' | 'list' | 'settleStep'>;
22
22
  dedupStoreFor: (workflowId: string) => DedupStore;
23
23
  spawnAgent: (runId: string, cwd: string) => SpawnResult;
24
24
  clock: () => number;
@@ -83,7 +83,37 @@ export interface ListenOptions {
83
83
  bodyTimeoutMs: number;
84
84
  maxBodyBytes: number;
85
85
  maxConcurrent: number;
86
+ /**
87
+ * Issue #291 (Deliverable 4f, Amendment 4): opt-in interval (ms) for the expired-gate sweeper —
88
+ * the USER-CHOSEN always-on enactor (the `realm listen` process becomes the daemon-analogue,
89
+ * launchd-precedent: realm itself still ships no daemon, but a user MAY run `listen` as one).
90
+ * Absent (the default) = the sweeper never runs — byte-identical to pre-#291 `listen` behavior.
91
+ */
92
+ sweepExpiredGatesIntervalMs?: number;
86
93
  }
94
+ /** Per-pass sweep outcome (issue #291) — returned for tests/logging; the CLI action itself only
95
+ * logs it. */
96
+ export interface SweepResult {
97
+ scanned: number;
98
+ enacted: number;
99
+ skipped_unregistered: number;
100
+ skipped_locked: number;
101
+ errors: number;
102
+ }
103
+ /**
104
+ * Issue #291 (Deliverable 4f, Amendment 4 — the `realm listen` opt-in sweeper): one store-wide
105
+ * scan for expired, enactable gates across EVERY run this store holds (not just the workflows
106
+ * THIS `listen` process has mounted — a gate opened by any process on the same store is
107
+ * enactable). [F7]: listen is reclaim-like — it enacts (unlike reclaim), but NEVER drains
108
+ * finalizers itself (no `ExtensionRegistry` for a workflow this process hasn't mounted) —
109
+ * a terminalizing enactment logs an advisory pointing at `realm run drain --expired` (or plain
110
+ * `drain`) instead. Multi-process safe: races with ANY other enactment point (submit/
111
+ * execute_step/reclaim/drain --expired/another listen process/the attending timer) resolve via
112
+ * the [F1] arm matrix's NOOPs — this function absorbs every refusal silently. Dormant when the
113
+ * store declares no `settleStep` (nothing to enact with — a fast no-op). Pure I/O orchestration,
114
+ * `now`-injectable for deterministic tests.
115
+ */
116
+ export declare function sweepExpiredGates(deps: Pick<ListenDeps, 'runStore' | 'workflowStore' | 'logger'>, now?: Date): Promise<SweepResult>;
87
117
  export interface ListenHandle {
88
118
  server: Server;
89
119
  shutdown(reason: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"listen.d.ts","sourceRoot":"","sources":["../../src/commands/listen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listen.d.ts","sourceRoot":"","sources":["../../src/commands/listen.ts"],"names":[],"mappings":"AAYA,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,aAAa,EAGb,QAAQ,EACR,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAOjF,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1C;AAED,0FAA0F;AAC1F,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAE7D,+FAA+F;AAC/F,MAAM,WAAW,UAAU;IAGzB,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;IAI3D,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC;IAC9E,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,UAAU,CAAC;IAClD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,WAAW,CAAC;IACxD,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8FAA8F;AAC9F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAQD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxF;AAUD;qGACqG;AACrG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,OAAO,GACZ,OAAO,CAWT;AA0FD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAClC,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,GACpC,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAuN9D;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,kBAAkB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EACtE,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CA2C5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAClC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,QAAQ,CAAC,EAClD,cAAc,GAAE,OAAO,qBAA6C,GACnE,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;eACe;AACf,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,GAAG,QAAQ,CAAC,EAC/D,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,WAAW,CAAC,CAwEtB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED;4FAC4F;AAC5F,wBAAgB,WAAW,CACzB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAClC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,YAAY,CAAC,CAqDvB;AAqBD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,SAgItB,CAAC"}
@@ -422,6 +422,86 @@ export async function prepareListenWorkflows(routes, deps, loadExtensions = load
422
422
  }
423
423
  }
424
424
  }
425
+ /**
426
+ * Issue #291 (Deliverable 4f, Amendment 4 — the `realm listen` opt-in sweeper): one store-wide
427
+ * scan for expired, enactable gates across EVERY run this store holds (not just the workflows
428
+ * THIS `listen` process has mounted — a gate opened by any process on the same store is
429
+ * enactable). [F7]: listen is reclaim-like — it enacts (unlike reclaim), but NEVER drains
430
+ * finalizers itself (no `ExtensionRegistry` for a workflow this process hasn't mounted) —
431
+ * a terminalizing enactment logs an advisory pointing at `realm run drain --expired` (or plain
432
+ * `drain`) instead. Multi-process safe: races with ANY other enactment point (submit/
433
+ * execute_step/reclaim/drain --expired/another listen process/the attending timer) resolve via
434
+ * the [F1] arm matrix's NOOPs — this function absorbs every refusal silently. Dormant when the
435
+ * store declares no `settleStep` (nothing to enact with — a fast no-op). Pure I/O orchestration,
436
+ * `now`-injectable for deterministic tests.
437
+ */
438
+ export async function sweepExpiredGates(deps, now = new Date()) {
439
+ const result = {
440
+ scanned: 0,
441
+ enacted: 0,
442
+ skipped_unregistered: 0,
443
+ skipped_locked: 0,
444
+ errors: 0,
445
+ };
446
+ if (deps.runStore.settleStep === undefined)
447
+ return result;
448
+ const runs = await deps.runStore.list();
449
+ for (const run of runs) {
450
+ if (run.terminal_state || run.pending_gate === undefined)
451
+ continue;
452
+ const gate = run.pending_gate;
453
+ // Finding-only (no on_expiry) or no enforce clock at all — nothing this sweep can enact.
454
+ if (gate.expires_at === undefined || gate.on_expiry === undefined)
455
+ continue;
456
+ if (now.getTime() < new Date(gate.expires_at).getTime())
457
+ continue;
458
+ result.scanned += 1;
459
+ // Unregistered-workflow skip arm: this store may hold runs for workflows this `listen`
460
+ // process's own workflowStore has never registered.
461
+ let definition;
462
+ try {
463
+ definition = await deps.workflowStore.get(run.workflow_id);
464
+ }
465
+ catch {
466
+ result.skipped_unregistered += 1;
467
+ continue;
468
+ }
469
+ try {
470
+ const outcome = await deps.runStore.settleStep(run.id, { kind: 'expire_gate', gateId: gate.gate_id }, definition, { now });
471
+ if (outcome.applied) {
472
+ result.enacted += 1;
473
+ deps.logger.info('listen: sweeper enacted an expired gate', {
474
+ run_id: run.id,
475
+ gate_id: gate.gate_id,
476
+ disposition: gate.on_expiry,
477
+ });
478
+ if (outcome.transitioned) {
479
+ deps.logger.info('listen: the enactment terminalized the run — it may carry pending finalizers; ' +
480
+ "run 'realm run drain --expired' (or plain drain, once terminal) to deliver them " +
481
+ '(the sweeper never drains finalizers itself — no extension registry for an ' +
482
+ 'unmounted workflow)', { run_id: run.id });
483
+ }
484
+ }
485
+ // Any refusal (already_settled/not_expired/gate_mismatch/run_terminal) is a benign race
486
+ // with another enactment point — silently absorbed, exactly like every other enactment
487
+ // point's own advisory-not-crash posture.
488
+ }
489
+ catch (err) {
490
+ // ELOCKED catch-and-continue arm: another writer holds this run's lock right now.
491
+ if (err instanceof WorkflowError && err.code === 'STATE_RUN_BUSY') {
492
+ result.skipped_locked += 1;
493
+ continue;
494
+ }
495
+ result.errors += 1;
496
+ deps.logger.error('listen: sweeper failed to enact an expired gate', {
497
+ run_id: run.id,
498
+ gate_id: gate.gate_id,
499
+ error: err instanceof Error ? err.message : String(err),
500
+ });
501
+ }
502
+ }
503
+ return result;
504
+ }
425
505
  /** Wires the HTTP server + SIGTERM/SIGINT handlers. Returns a handle whose shutdown() stops
426
506
  * accepting new connections; in-flight requests finish and the detached agents survive. */
427
507
  export function startListen(routes, options, deps) {
@@ -438,12 +518,25 @@ export function startListen(routes, options, deps) {
438
518
  }
439
519
  });
440
520
  });
521
+ // issue #291 (Deliverable 4f): the opt-in expired-gate sweeper — a coarse setInterval, started
522
+ // only when the operator explicitly requested it. A pass's own errors never crash the server
523
+ // (sweepExpiredGates itself never throws — every failure is caught+logged per-run internally);
524
+ // this outer catch is defensive-only.
525
+ const sweepTimer = options.sweepExpiredGatesIntervalMs !== undefined
526
+ ? setInterval(() => {
527
+ sweepExpiredGates(deps).catch((err) => {
528
+ deps.logger.error('listen: sweeper pass failed', { error: String(err) });
529
+ });
530
+ }, options.sweepExpiredGatesIntervalMs)
531
+ : undefined;
441
532
  let shuttingDown = false;
442
533
  const shutdown = (reason) => {
443
534
  if (shuttingDown)
444
535
  return Promise.resolve();
445
536
  shuttingDown = true;
446
537
  deps.logger.info('listen: shutting down', { reason });
538
+ if (sweepTimer !== undefined)
539
+ clearInterval(sweepTimer);
447
540
  return new Promise((resolve) => server.close(() => resolve()));
448
541
  };
449
542
  const onSignal = (sig) => {
@@ -501,6 +594,9 @@ export const listenCommand = new Command('listen')
501
594
  .option('--max-concurrent <n>', 'Max in-flight requests before 503', '20')
502
595
  .option('--dedup-store <kind>', 'Dedup store: file | memory', 'file')
503
596
  .option('--log-level <level>', 'Log level: debug | info | warn | error', 'info')
597
+ .option('--sweep-expired-gates <seconds>', 'OPT-IN (issue #291): store-wide sweep interval (seconds) that enacts expired, enactable ' +
598
+ 'gates across every run this store holds. Default OFF — listen never touches gates ' +
599
+ 'unless this is set. Never drains finalizers itself — see: realm run drain --expired.')
504
600
  .action(async (workflows, opts) => {
505
601
  const levels = ['debug', 'info', 'warn', 'error'];
506
602
  const threshold = levels.indexOf(opts['logLevel'] ?? 'info');
@@ -583,12 +679,16 @@ export const listenCommand = new Command('listen')
583
679
  process.exit(1);
584
680
  return;
585
681
  }
682
+ const sweepExpiredGatesSeconds = opts['sweepExpiredGates'] !== undefined ? parseInt(opts['sweepExpiredGates'], 10) : undefined;
586
683
  const handle = await startListen(routes, {
587
684
  port: parseInt(opts['port'] ?? '3000', 10),
588
685
  host,
589
686
  bodyTimeoutMs: parseInt(opts['bodyTimeoutMs'] ?? '5000', 10),
590
687
  maxBodyBytes: parseInt(opts['maxBodyBytes'] ?? '1048576', 10),
591
688
  maxConcurrent: parseInt(opts['maxConcurrent'] ?? '20', 10),
689
+ ...(sweepExpiredGatesSeconds !== undefined
690
+ ? { sweepExpiredGatesIntervalMs: sweepExpiredGatesSeconds * 1000 }
691
+ : {}),
592
692
  }, deps);
593
693
  const addr = handle.server.address();
594
694
  logger.info(`realm listen on ${host}:${addr?.port ?? opts['port']} — ${routes.size} workflow(s) mounted`);