@sensigo/realm-cli 0.33.0 → 0.35.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/dist/agent/gate/gate-expiry-timer.d.ts +19 -0
- package/dist/agent/gate/gate-expiry-timer.d.ts.map +1 -0
- package/dist/agent/gate/gate-expiry-timer.js +83 -0
- package/dist/agent/gate/gate-expiry-timer.js.map +1 -0
- package/dist/agent/gate/slack-gate-notifier.d.ts +24 -2
- package/dist/agent/gate/slack-gate-notifier.d.ts.map +1 -1
- package/dist/agent/gate/slack-gate-notifier.js +101 -8
- package/dist/agent/gate/slack-gate-notifier.js.map +1 -1
- package/dist/agent/mcp/mcp-extensions.d.ts +8 -1
- package/dist/agent/mcp/mcp-extensions.d.ts.map +1 -1
- package/dist/agent/providers/anthropic-provider.d.ts +31 -0
- package/dist/agent/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/agent/providers/anthropic-provider.js +169 -25
- package/dist/agent/providers/anthropic-provider.js.map +1 -1
- package/dist/agent/providers/llm-provider.d.ts +17 -0
- package/dist/agent/providers/llm-provider.d.ts.map +1 -1
- package/dist/agent/providers/llm-provider.js +16 -0
- package/dist/agent/providers/llm-provider.js.map +1 -1
- package/dist/agent/run-agent.d.ts.map +1 -1
- package/dist/agent/run-agent.js +141 -4
- package/dist/agent/run-agent.js.map +1 -1
- package/dist/commands/abandon.d.ts.map +1 -1
- package/dist/commands/abandon.js +4 -1
- package/dist/commands/abandon.js.map +1 -1
- package/dist/commands/drain.d.ts +24 -0
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/drain.js +152 -12
- package/dist/commands/drain.js.map +1 -1
- package/dist/commands/gc.d.ts +67 -6
- package/dist/commands/gc.d.ts.map +1 -1
- package/dist/commands/gc.js +280 -86
- package/dist/commands/gc.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +26 -1
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +40 -3
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/listen.d.ts +32 -2
- package/dist/commands/listen.d.ts.map +1 -1
- package/dist/commands/listen.js +100 -0
- package/dist/commands/listen.js.map +1 -1
- package/dist/commands/reclaim.d.ts.map +1 -1
- package/dist/commands/reclaim.js +8 -0
- package/dist/commands/reclaim.js.map +1 -1
- package/dist/commands/resume.d.ts.map +1 -1
- package/dist/commands/resume.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +17 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +72 -2
- package/dist/commands/validate.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/store/replay-store.d.ts.map +1 -1
- package/dist/store/replay-store.js +1 -2
- package/dist/store/replay-store.js.map +1 -1
- package/package.json +7 -6
package/dist/commands/gc.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
// gc command — sweep orphaned atomic-write temps (issue #160)
|
|
2
|
-
// artifacts (issue #163)
|
|
1
|
+
// gc command — sweep orphaned atomic-write temps (issue #160), run-less orphaned WAL/sidecar
|
|
2
|
+
// artifacts (issue #163), AND (--heal, opt-in) grandfathered stale run_phase records (issue #293).
|
|
3
|
+
// One operator command, three independent, composable passes.
|
|
3
4
|
//
|
|
4
5
|
// --- Sweep 1: atomic-write temps (issue #160, Phase 1: .tmp only) ---
|
|
5
6
|
// atomicWriteFile (packages/core/src/store/atomic-write.ts) writes a unique sibling temp
|
|
@@ -29,6 +30,23 @@
|
|
|
29
30
|
// `.lock` reaping is deliberately split to #164 (deferred — proper-lockfile self-heals a live-path
|
|
30
31
|
// lock; only a purged-target's lock lingers, which is negligible). Neither is this command's job
|
|
31
32
|
// yet — see the report footer.
|
|
33
|
+
//
|
|
34
|
+
// --- Pass 3: grandfathered stale-phase heal (issue #293, opt-in via --heal) ---
|
|
35
|
+
// `run_phase` is a DERIVED, render-only field (issue #279 increment 2, PR-C's disposal rule) —
|
|
36
|
+
// every store write (`update()`, `save()`) re-derives it from the record's own authoritative
|
|
37
|
+
// fields and persists the FRESH value as a side effect, discarding whatever the caller passed.
|
|
38
|
+
// The #282 fix (a reordering of `deriveRunPhase` itself) corrected what a NEW write derives, but
|
|
39
|
+
// never touched records that were written by an OLDER binary and have sat untouched since — their
|
|
40
|
+
// on-disk `run_phase` can still disagree with what `deriveRunPhase` would compute for them today.
|
|
41
|
+
// Correctness never depended on this: every live read path derives fresh (`get_run_state`, `list
|
|
42
|
+
// --status`, the engine's own eligibility checks) — a stale PERSISTED value is cosmetic residue,
|
|
43
|
+
// visible only to someone reading the raw JSON file directly. `--heal` is a one-shot population
|
|
44
|
+
// shrink, not a correctness fix: for each mismatched record, it writes the record back UNMODIFIED
|
|
45
|
+
// through `RunStore.update()` — the store's own write tail heals `run_phase` (plus `version` and
|
|
46
|
+
// `updated_at`, its other two side effects) as an ordinary consequence of a normal write, exactly
|
|
47
|
+
// as it would if any other legitimate writer touched that record next. Canon: kube's
|
|
48
|
+
// storage-version-migrator does the identical read-then-write-back-unmodified trick to migrate
|
|
49
|
+
// encryption-at-rest/API versions across a whole etcd population with zero bespoke migration code.
|
|
32
50
|
import { readdir, lstat, unlink, stat } from 'node:fs/promises';
|
|
33
51
|
import { join, basename } from 'node:path';
|
|
34
52
|
import { Command } from 'commander';
|
|
@@ -310,6 +328,65 @@ function buildGcResurrectGuard(runStore, runId) {
|
|
|
310
328
|
});
|
|
311
329
|
};
|
|
312
330
|
}
|
|
331
|
+
/**
|
|
332
|
+
* For every run record whose persisted `run_phase` disagrees with `deriveRunPhase(record)`,
|
|
333
|
+
* writes the record back UNMODIFIED through `store.update()` — the store's own versioned write
|
|
334
|
+
* tail heals the phase (plus `version`/`updated_at`) as its ordinary side effect; this function
|
|
335
|
+
* never constructs or mutates a single field itself (the store-literal forensics stance: the only
|
|
336
|
+
* thing that ever changes a persisted record is the store's own write path, never a bespoke gc
|
|
337
|
+
* rewrite). Records already matching are never even passed to `update()` — untouched, byte-for-
|
|
338
|
+
* byte, verified in tests.
|
|
339
|
+
*
|
|
340
|
+
* `store.list()`'s fail-closed contract (issue #132/#183: `JSON.parse` uncaught on a corrupt
|
|
341
|
+
* file) is INHERITED here deliberately, uncaught — a single unparseable run file aborts the
|
|
342
|
+
* WHOLE heal pass rather than silently healing a partial, possibly-wrong population. No
|
|
343
|
+
* per-file try/catch salvage: see the module's own report footer / CHANGELOG for why this is
|
|
344
|
+
* accepted, not worked around.
|
|
345
|
+
*
|
|
346
|
+
* No age gate (unlike the other two sweeps): healing is a no-op rewrite of a record already on
|
|
347
|
+
* disk, safe at any age — there is no in-flight-write window to guard against the way there is
|
|
348
|
+
* for a `.tmp` or a fresh WAL.
|
|
349
|
+
*/
|
|
350
|
+
export async function sweepStalePhases(store, options) {
|
|
351
|
+
const records = await store.list();
|
|
352
|
+
const result = {
|
|
353
|
+
healed: [],
|
|
354
|
+
would_heal: [],
|
|
355
|
+
skipped_conflict: [],
|
|
356
|
+
failed: [],
|
|
357
|
+
};
|
|
358
|
+
for (const record of records) {
|
|
359
|
+
const derivedPhase = options.deriveRunPhase(record);
|
|
360
|
+
if (record.run_phase === derivedPhase)
|
|
361
|
+
continue; // matching — never touched, not even read-only.
|
|
362
|
+
const entry = {
|
|
363
|
+
id: record.id,
|
|
364
|
+
persisted_phase: record.run_phase,
|
|
365
|
+
derived_phase: derivedPhase,
|
|
366
|
+
};
|
|
367
|
+
if (!options.force) {
|
|
368
|
+
result.would_heal.push(entry);
|
|
369
|
+
continue;
|
|
370
|
+
}
|
|
371
|
+
try {
|
|
372
|
+
await store.update(record); // UNMODIFIED — the write tail is the entire mechanism.
|
|
373
|
+
result.healed.push(entry);
|
|
374
|
+
}
|
|
375
|
+
catch (err) {
|
|
376
|
+
if (err instanceof WorkflowError &&
|
|
377
|
+
(err.code === 'STATE_SNAPSHOT_MISMATCH' || err.code === 'STATE_RUN_BUSY')) {
|
|
378
|
+
result.skipped_conflict.push(entry);
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
result.failed.push({
|
|
382
|
+
id: record.id,
|
|
383
|
+
error: err instanceof Error ? err.message : String(err),
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
return result;
|
|
389
|
+
}
|
|
313
390
|
/** Best-effort total bytes for a known list of paths — reporting-only, never gates reaping.
|
|
314
391
|
* Called against a fresh dry-run preview, so the paths are still on disk when stat'd. */
|
|
315
392
|
async function statPathBytes(paths) {
|
|
@@ -347,28 +424,32 @@ const NOT_REAPED_FOOTER = 'gc does NOT yet reap orphaned .lock dirs (deferred
|
|
|
347
424
|
* `undefined` only if the temp-only sweep somehow bypassed the orphan sweep entirely (never
|
|
348
425
|
* happens in the real CLI action — always one or the other).
|
|
349
426
|
*/
|
|
350
|
-
function printGcReport(result, previewBytes, dryRun, artifactResult, artifactSweepError) {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
427
|
+
function printGcReport(result, previewBytes, dryRun, artifactResult, artifactSweepError, healResult, healSweepError) {
|
|
428
|
+
// --- temp-file section (issue #160) — only when the --older-than pass actually ran; a
|
|
429
|
+
// --heal-only invocation never touches this section at all (never even "nothing found"). ---
|
|
430
|
+
if (result !== undefined) {
|
|
431
|
+
const nothingToReport = result.reaped.length === 0 && result.already_gone.length === 0 && result.failed.length === 0;
|
|
432
|
+
if (nothingToReport) {
|
|
433
|
+
console.log('No orphaned .tmp files found to reap.');
|
|
434
|
+
}
|
|
435
|
+
else if (dryRun) {
|
|
436
|
+
console.log(`${result.reaped.length} orphaned .tmp file(s) WOULD be reaped (${formatBytes(previewBytes)} to free):`);
|
|
437
|
+
for (const p of result.reaped)
|
|
438
|
+
console.log(` • ${p}`);
|
|
439
|
+
if (result.already_gone.length > 0) {
|
|
440
|
+
console.log(`(${result.already_gone.length} candidate(s) already vanished on their own.)`);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
console.log(`Reaped ${result.reaped.length} orphaned .tmp file(s) (${formatBytes(previewBytes)} freed). ` +
|
|
445
|
+
`${result.already_gone.length} already gone, ${result.failed.length} failed.`);
|
|
446
|
+
}
|
|
447
|
+
for (const f of result.failed) {
|
|
448
|
+
console.error(` ✗ ${f.path}: ${f.error}`);
|
|
449
|
+
}
|
|
450
|
+
if (dryRun && !nothingToReport) {
|
|
451
|
+
console.log('\nRe-run with --force to actually delete.');
|
|
361
452
|
}
|
|
362
|
-
}
|
|
363
|
-
else {
|
|
364
|
-
console.log(`Reaped ${result.reaped.length} orphaned .tmp file(s) (${formatBytes(previewBytes)} freed). ` +
|
|
365
|
-
`${result.already_gone.length} already gone, ${result.failed.length} failed.`);
|
|
366
|
-
}
|
|
367
|
-
for (const f of result.failed) {
|
|
368
|
-
console.error(` ✗ ${f.path}: ${f.error}`);
|
|
369
|
-
}
|
|
370
|
-
if (dryRun && !nothingToReport) {
|
|
371
|
-
console.log('\nRe-run with --force to actually delete.');
|
|
372
453
|
}
|
|
373
454
|
// --- orphan-artifacts section (issue #163) ---
|
|
374
455
|
if (artifactSweepError !== undefined) {
|
|
@@ -411,43 +492,111 @@ function printGcReport(result, previewBytes, dryRun, artifactResult, artifactSwe
|
|
|
411
492
|
console.log('Re-run with --force to actually delete.');
|
|
412
493
|
}
|
|
413
494
|
}
|
|
495
|
+
// --- stale-phase heal section (issue #293) — only when --heal was requested. ---
|
|
496
|
+
if (healSweepError !== undefined) {
|
|
497
|
+
console.error(`\n✗ stale-phase heal sweep ABORTED (healed nothing from it): ${healSweepError}`);
|
|
498
|
+
}
|
|
499
|
+
else if (healResult !== undefined) {
|
|
500
|
+
const nothingToReportHeal = healResult.healed.length === 0 &&
|
|
501
|
+
healResult.would_heal.length === 0 &&
|
|
502
|
+
healResult.skipped_conflict.length === 0 &&
|
|
503
|
+
healResult.failed.length === 0;
|
|
504
|
+
if (nothingToReportHeal) {
|
|
505
|
+
console.log('\nNo stale-phase records found to heal.');
|
|
506
|
+
}
|
|
507
|
+
else if (dryRun) {
|
|
508
|
+
console.log(`\n${healResult.would_heal.length} stale-phase record(s) WOULD be healed:`);
|
|
509
|
+
for (const e of healResult.would_heal) {
|
|
510
|
+
console.log(` • ${e.id}: persisted '${e.persisted_phase}' → derived '${e.derived_phase}'`);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
else {
|
|
514
|
+
console.log(`\nHealed ${healResult.healed.length} stale-phase record(s). ` +
|
|
515
|
+
`${healResult.skipped_conflict.length} skipped (concurrent writer), ${healResult.failed.length} failed.`);
|
|
516
|
+
for (const e of healResult.healed) {
|
|
517
|
+
console.log(` • ${e.id}: persisted '${e.persisted_phase}' → derived '${e.derived_phase}'`);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
// A concurrent writer's own write ALSO heals the phase — benign, exit-code-neutral, never
|
|
521
|
+
// `failed` (mirrors the orphan-artifact sweep's own `resurrected` bucket precedent above).
|
|
522
|
+
if (healResult.skipped_conflict.length > 0) {
|
|
523
|
+
console.log(`(${healResult.skipped_conflict.length} record(s) skipped — a concurrent writer already ` +
|
|
524
|
+
`touched them, which heals them too.)`);
|
|
525
|
+
for (const e of healResult.skipped_conflict) {
|
|
526
|
+
console.log(` • ${e.id} (skipped — concurrent write)`);
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
for (const f of healResult.failed) {
|
|
530
|
+
console.error(` ✗ ${f.id}: ${f.error}`);
|
|
531
|
+
}
|
|
532
|
+
if (dryRun && !nothingToReportHeal) {
|
|
533
|
+
console.log('Re-run with --force to actually heal.');
|
|
534
|
+
}
|
|
535
|
+
}
|
|
414
536
|
console.log(`\n${NOT_REAPED_FOOTER}`);
|
|
415
537
|
}
|
|
416
538
|
/** gc's exit code: non-zero iff gc could not complete a sweep it attempted (issue #163
|
|
417
|
-
* exit-code correction
|
|
418
|
-
*
|
|
419
|
-
*
|
|
420
|
-
*
|
|
421
|
-
|
|
422
|
-
|
|
539
|
+
* exit-code correction; extended, issue #293, for the opt-in heal pass). A failed unlink/write in
|
|
540
|
+
* ANY attempted pass, OR an aborted orphan/heal sweep (enumeration/`list()` failed —
|
|
541
|
+
* `artifactSweepError`/`healSweepError` set), is a failure. Merely *finding* reapable or
|
|
542
|
+
* healable residue is NOT — that holds in both dry-run and `--force`, so this one helper decides
|
|
543
|
+
* every branch's exit code instead of each re-deriving its own (inline) predicate. A pass that
|
|
544
|
+
* never ran (its result param is `undefined`, its error param is `undefined`) contributes no
|
|
545
|
+
* failure — exactly the same "absence is not a failure" reading `artifactResult: undefined`
|
|
546
|
+
* already relies on. */
|
|
547
|
+
export function gcExitCode(tempResult, artifactResult, artifactSweepError, healResult, healSweepError) {
|
|
548
|
+
const anyFailure = (tempResult?.failed.length ?? 0) > 0 ||
|
|
423
549
|
(artifactResult?.failed.length ?? 0) > 0 ||
|
|
424
|
-
artifactSweepError !== undefined
|
|
550
|
+
artifactSweepError !== undefined ||
|
|
551
|
+
(healResult?.failed.length ?? 0) > 0 ||
|
|
552
|
+
healSweepError !== undefined;
|
|
425
553
|
return anyFailure ? 1 : 0;
|
|
426
554
|
}
|
|
427
555
|
export const gcCommand = new Command('gc')
|
|
428
|
-
.description('Sweep orphaned atomic-write .tmp files
|
|
429
|
-
|
|
430
|
-
.option('--
|
|
556
|
+
.description('Sweep orphaned atomic-write .tmp files, run-less orphaned WAL/sidecar artifacts, and ' +
|
|
557
|
+
'(--heal) grandfathered stale-phase records (dry-run by default)')
|
|
558
|
+
.option('--older-than <duration>', 'Reap residue idle at least this long (minimum 1h; e.g. 1h, 6h, 30d) — required unless ' +
|
|
559
|
+
'--heal is the only pass requested')
|
|
560
|
+
.option('--force', 'Actually delete/rewrite (without this, gc only reports what WOULD change)')
|
|
561
|
+
.option('--heal', 'One-shot pass (issue #293): rewrite records whose persisted run_phase disagrees with the ' +
|
|
562
|
+
'derived phase — safe at any age, no --older-than floor applies to this pass')
|
|
431
563
|
.action(async (opts) => {
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
564
|
+
// [issue #293] --older-than demoted from a Commander requiredOption to a plain option so
|
|
565
|
+
// `gc --heal` alone can run without it — but it is STILL required unless --heal is the only
|
|
566
|
+
// pass requested, so bare `gc` (neither flag) must still refuse exactly as it always has.
|
|
567
|
+
// Commander's own requiredOption error text ("error: required option '--older-than
|
|
568
|
+
// <duration>' not specified") is reproduced verbatim here since demoting the flag loses its
|
|
569
|
+
// automatic enforcement.
|
|
570
|
+
if (opts.heal !== true && opts.olderThan === undefined) {
|
|
571
|
+
console.error("error: required option '--older-than <duration>' not specified");
|
|
438
572
|
process.exit(1);
|
|
439
573
|
return;
|
|
440
574
|
}
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
575
|
+
let olderThanMs;
|
|
576
|
+
if (opts.olderThan !== undefined) {
|
|
577
|
+
try {
|
|
578
|
+
olderThanMs = parseDuration(opts.olderThan);
|
|
579
|
+
}
|
|
580
|
+
catch (err) {
|
|
581
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
582
|
+
process.exit(1);
|
|
583
|
+
return;
|
|
584
|
+
}
|
|
585
|
+
// Defense-in-depth over sweepOrphans's/sweepOrphanArtifacts's own floor checks — reject
|
|
586
|
+
// before touching the filesystem at all, with a CLI-friendly message naming the flag the
|
|
587
|
+
// operator just typed. Does NOT apply to --heal (see sweepStalePhases's own doc: healing a
|
|
588
|
+
// record already on disk is safe at any age).
|
|
589
|
+
if (olderThanMs < FLOOR_MS) {
|
|
590
|
+
console.error(`--older-than must be at least 1h (got '${opts.olderThan}'). gc refuses to reap crash ` +
|
|
591
|
+
`residue younger than that, even with --force.`);
|
|
592
|
+
process.exit(1);
|
|
593
|
+
return;
|
|
594
|
+
}
|
|
449
595
|
}
|
|
450
|
-
|
|
596
|
+
// deriveRunPhase destructured from the SAME existing dynamic import as JsonFileStore/
|
|
597
|
+
// FailedAttemptStore — gc.ts's top-level `@sensigo/realm` VALUE import (line 36) stays
|
|
598
|
+
// byte-unchanged; only this dynamic import widens.
|
|
599
|
+
const { JsonFileStore, FailedAttemptStore, deriveRunPhase } = await import('@sensigo/realm');
|
|
451
600
|
const { JsonTraceBufferStore } = await import('@sensigo/realm-mcp');
|
|
452
601
|
const runStore = new JsonFileStore();
|
|
453
602
|
const runsDir = runStore.runsDirPath;
|
|
@@ -456,59 +605,104 @@ export const gcCommand = new Command('gc')
|
|
|
456
605
|
const orphanSweepableStores = [traceBufferStore, failedAttemptStore];
|
|
457
606
|
const now = new Date();
|
|
458
607
|
try {
|
|
459
|
-
//
|
|
460
|
-
//
|
|
461
|
-
//
|
|
462
|
-
//
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
const preview = await sweepOrphans(runsDir, { olderThanMs, dryRun: true, now });
|
|
466
|
-
const bytes = await statPathBytes(preview.reaped);
|
|
467
|
-
// issue #163: FAIL-CLOSED. A `listRunIds()` (or a store's `listOrphans()`) failure aborts
|
|
468
|
-
// ONLY the orphan-artifact sweep, loudly — it must NEVER fabricate an empty `liveRunIds`,
|
|
469
|
-
// which would make every live run's artifacts look orphaned and reap them. The temp sweep
|
|
470
|
-
// above is fully independent of this and is completely unaffected either way.
|
|
608
|
+
// --- Pass 1+2 preview (temp files + orphan artifacts) — only when --older-than was given.
|
|
609
|
+
// Composition rule: --older-than gates passes 1+2; --heal gates pass 3; either, both, or
|
|
610
|
+
// (checked above) neither-is-an-error. Byte-identical to the pre-#293 behavior whenever
|
|
611
|
+
// --heal is absent. ---
|
|
612
|
+
let preview;
|
|
613
|
+
let bytes = 0;
|
|
471
614
|
let artifactPreview;
|
|
472
615
|
let artifactSweepError;
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
616
|
+
if (olderThanMs !== undefined) {
|
|
617
|
+
// Always preview first — this NEVER mutates, in either mode — because it is the only
|
|
618
|
+
// reliable moment to `stat()` the candidates for the report's byte total: a force-mode
|
|
619
|
+
// reap deletes the files before sweepOrphans returns, so statting them afterward is
|
|
620
|
+
// impossible. The preview and the (optional) real pass share the same olderThanMs/now, so
|
|
621
|
+
// the candidate set is consistent bar a narrow, benign concurrent-activity window — which
|
|
622
|
+
// already_gone exists to absorb.
|
|
623
|
+
preview = await sweepOrphans(runsDir, { olderThanMs, dryRun: true, now });
|
|
624
|
+
bytes = await statPathBytes(preview.reaped);
|
|
625
|
+
// issue #163: FAIL-CLOSED. A `listRunIds()` (or a store's `listOrphans()`) failure
|
|
626
|
+
// aborts ONLY the orphan-artifact sweep, loudly — it must NEVER fabricate an empty
|
|
627
|
+
// `liveRunIds`, which would make every live run's artifacts look orphaned and reap them.
|
|
628
|
+
// The temp sweep above is fully independent of this and is completely unaffected either
|
|
629
|
+
// way.
|
|
630
|
+
try {
|
|
631
|
+
const liveRunIds = await runStore.listRunIds();
|
|
632
|
+
artifactPreview = await sweepOrphanArtifacts(orphanSweepableStores, liveRunIds, {
|
|
633
|
+
olderThanMs,
|
|
634
|
+
dryRun: true,
|
|
635
|
+
now,
|
|
636
|
+
}, runStore);
|
|
637
|
+
}
|
|
638
|
+
catch (err) {
|
|
639
|
+
artifactSweepError = err instanceof Error ? err.message : String(err);
|
|
640
|
+
}
|
|
480
641
|
}
|
|
481
|
-
|
|
482
|
-
|
|
642
|
+
// --- Pass 3 (issue #293) — only when --heal was given. No preview/force double-call the
|
|
643
|
+
// way passes 1+2 need (that split exists purely for the byte-total report, which heal has
|
|
644
|
+
// no equivalent of) — one call per invocation, dry-run or force. This dry-run-only preview
|
|
645
|
+
// call is gated on `opts.force !== true` specifically SO IT NEVER RUNS in force mode — the
|
|
646
|
+
// force branch below (a) already makes its OWN call with `force: true`, and (b) is the one
|
|
647
|
+
// that actually matters for a real heal, so a discarded `force: false` call here would be
|
|
648
|
+
// pure waste (an extra `list()` I/O pass, correction-291-293). Reaching the force branch's
|
|
649
|
+
// own `healSweepError === undefined` guard, `healSweepError` is vacuously undefined —
|
|
650
|
+
// nothing above can have set it once this call never runs.
|
|
651
|
+
let healPreview;
|
|
652
|
+
let healSweepError;
|
|
653
|
+
if (opts.heal === true && opts.force !== true) {
|
|
654
|
+
try {
|
|
655
|
+
healPreview = await sweepStalePhases(runStore, { force: false, deriveRunPhase });
|
|
656
|
+
}
|
|
657
|
+
catch (err) {
|
|
658
|
+
healSweepError = err instanceof Error ? err.message : String(err);
|
|
659
|
+
}
|
|
483
660
|
}
|
|
484
661
|
if (opts.force !== true) {
|
|
485
|
-
printGcReport(preview, bytes, true, artifactPreview, artifactSweepError);
|
|
486
|
-
if (gcExitCode(preview, artifactPreview, artifactSweepError
|
|
662
|
+
printGcReport(preview, bytes, true, artifactPreview, artifactSweepError, healPreview, healSweepError);
|
|
663
|
+
if (gcExitCode(preview, artifactPreview, artifactSweepError, healPreview, healSweepError) !==
|
|
664
|
+
0) {
|
|
487
665
|
process.exit(1);
|
|
488
666
|
}
|
|
489
667
|
return;
|
|
490
668
|
}
|
|
491
|
-
|
|
669
|
+
let result;
|
|
492
670
|
let artifactResult;
|
|
493
|
-
if (
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
671
|
+
if (olderThanMs !== undefined) {
|
|
672
|
+
result = await sweepOrphans(runsDir, { olderThanMs, dryRun: false, now });
|
|
673
|
+
if (artifactSweepError === undefined) {
|
|
674
|
+
// The preview above already proved listRunIds()/listOrphans() succeed — re-read for
|
|
675
|
+
// the real pass (a fresh liveRunIds, since force mode is a separate call; a run
|
|
676
|
+
// created or completed between the preview and here is a benign, narrow race — exactly
|
|
677
|
+
// the same shape the temp sweep's own preview/force split already accepts).
|
|
678
|
+
try {
|
|
679
|
+
const liveRunIds = await runStore.listRunIds();
|
|
680
|
+
artifactResult = await sweepOrphanArtifacts(orphanSweepableStores, liveRunIds, {
|
|
681
|
+
olderThanMs,
|
|
682
|
+
dryRun: false,
|
|
683
|
+
now,
|
|
684
|
+
}, runStore);
|
|
685
|
+
}
|
|
686
|
+
catch (err) {
|
|
687
|
+
artifactSweepError = err instanceof Error ? err.message : String(err);
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
let healResult;
|
|
692
|
+
// `healSweepError === undefined` is vacuously true on entry here (force mode never runs the
|
|
693
|
+
// dry-run-only preview call above) — kept as the guard anyway: it's still the correct
|
|
694
|
+
// condition in spirit (never attempt the real heal if an earlier heal-pass error is already
|
|
695
|
+
// known) and costs nothing to leave in place.
|
|
696
|
+
if (opts.heal === true && healSweepError === undefined) {
|
|
498
697
|
try {
|
|
499
|
-
|
|
500
|
-
artifactResult = await sweepOrphanArtifacts(orphanSweepableStores, liveRunIds, {
|
|
501
|
-
olderThanMs,
|
|
502
|
-
dryRun: false,
|
|
503
|
-
now,
|
|
504
|
-
}, runStore);
|
|
698
|
+
healResult = await sweepStalePhases(runStore, { force: true, deriveRunPhase });
|
|
505
699
|
}
|
|
506
700
|
catch (err) {
|
|
507
|
-
|
|
701
|
+
healSweepError = err instanceof Error ? err.message : String(err);
|
|
508
702
|
}
|
|
509
703
|
}
|
|
510
|
-
printGcReport(result, bytes, false, artifactResult, artifactSweepError);
|
|
511
|
-
if (gcExitCode(result, artifactResult, artifactSweepError) !== 0) {
|
|
704
|
+
printGcReport(result, bytes, false, artifactResult, artifactSweepError, healResult, healSweepError);
|
|
705
|
+
if (gcExitCode(result, artifactResult, artifactSweepError, healResult, healSweepError) !== 0) {
|
|
512
706
|
process.exit(1);
|
|
513
707
|
}
|
|
514
708
|
}
|
package/dist/commands/gc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyIjF;AAED,eAAO,MAAM,WAAW,SAqBpB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,SAAiB;IAChE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,YAAY,GAAG,KAAK,IAAI;MAC1B,IAAI;SACD,IAAI
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,OAAO,KAAK,EACV,QAAQ,EAER,iBAAiB,EAMlB,MAAM,gBAAgB,CAAC;AA0LxB;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,iBAAiB,EAChC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACpD,OAAO,CAAC,MAAM,CAAC,CAiRjB;AAED,eAAO,MAAM,cAAc,SAsBvB,CAAC"}
|
package/dist/commands/inspect.js
CHANGED
|
@@ -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, deriveRunPhase } 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
|
/**
|
|
@@ -216,6 +221,26 @@ export async function inspectRun(runId, store, workflowStore, options) {
|
|
|
216
221
|
}
|
|
217
222
|
lines.push(`Created: ${run.created_at}`);
|
|
218
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
|
+
}
|
|
219
244
|
// issue #221: typed run-health findings — the SAME shared classifyRunHealth predicate the three
|
|
220
245
|
// READ surfaces (get_run_state, list --stuck, inspect) derive from. Definition-aware when
|
|
221
246
|
// resolved above (adds eligible_steps evidence to any never_claimed_idle finding); tolerates
|