@cleocode/core 2026.8.8 → 2026.9.1
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/conduit/conduit-client.d.ts.map +1 -1
- package/dist/conduit/conduit-client.js +10 -2
- package/dist/conduit/conduit-client.js.map +1 -1
- package/dist/dispatch/mvi-projection.d.ts +38 -0
- package/dist/dispatch/mvi-projection.d.ts.map +1 -1
- package/dist/dispatch/mvi-projection.js +189 -11
- package/dist/dispatch/mvi-projection.js.map +1 -1
- package/dist/docs/export-document.js +41 -3
- package/dist/docs/export-document.js.map +2 -2
- package/dist/doctor/acceptance-drift.d.ts +258 -0
- package/dist/doctor/acceptance-drift.d.ts.map +1 -0
- package/dist/doctor/acceptance-drift.js +366 -0
- package/dist/doctor/acceptance-drift.js.map +1 -0
- package/dist/doctor/index.d.ts +4 -0
- package/dist/doctor/index.d.ts.map +1 -1
- package/dist/doctor/index.js +2 -0
- package/dist/doctor/index.js.map +1 -1
- package/dist/doctor/legacy-reaper.d.ts +105 -0
- package/dist/doctor/legacy-reaper.d.ts.map +1 -0
- package/dist/doctor/legacy-reaper.js +151 -0
- package/dist/doctor/legacy-reaper.js.map +1 -0
- package/dist/doctor/malformed-task-ids.d.ts +111 -0
- package/dist/doctor/malformed-task-ids.d.ts.map +1 -0
- package/dist/doctor/malformed-task-ids.js +139 -0
- package/dist/doctor/malformed-task-ids.js.map +1 -0
- package/dist/doctor/nexus-schema-residency.d.ts +115 -0
- package/dist/doctor/nexus-schema-residency.d.ts.map +1 -0
- package/dist/doctor/nexus-schema-residency.js +178 -0
- package/dist/doctor/nexus-schema-residency.js.map +1 -0
- package/dist/error-registry.d.ts.map +1 -1
- package/dist/error-registry.js +18 -0
- package/dist/error-registry.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -0
- package/dist/internal.js.map +1 -1
- package/dist/llm/ai-sdk-warnings.d.ts +55 -0
- package/dist/llm/ai-sdk-warnings.d.ts.map +1 -0
- package/dist/llm/ai-sdk-warnings.js +83 -0
- package/dist/llm/ai-sdk-warnings.js.map +1 -0
- package/dist/llm/model-runner.d.ts +0 -8
- package/dist/llm/model-runner.d.ts.map +1 -1
- package/dist/llm/model-runner.js +8 -0
- package/dist/llm/model-runner.js.map +1 -1
- package/dist/llm/plugin-facade.js +73 -8
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/embedding-queue.d.ts +12 -0
- package/dist/memory/embedding-queue.d.ts.map +1 -1
- package/dist/memory/embedding-queue.js +39 -5
- package/dist/memory/embedding-queue.js.map +1 -1
- package/dist/orchestrate/worktree-complete.d.ts.map +1 -1
- package/dist/orchestrate/worktree-complete.js +26 -0
- package/dist/orchestrate/worktree-complete.js.map +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +25 -0
- package/dist/output.js.map +1 -1
- package/dist/release/pr-evidence.d.ts +13 -0
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +54 -1
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/render/session/briefing.d.ts.map +1 -1
- package/dist/render/session/briefing.js +9 -0
- package/dist/render/session/briefing.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +73 -8
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sessions/briefing.d.ts +13 -0
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +64 -7
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/handoff.d.ts +32 -4
- package/dist/sessions/handoff.d.ts.map +1 -1
- package/dist/sessions/handoff.js +7 -7
- package/dist/sessions/handoff.js.map +1 -1
- package/dist/shutdown-deadline.d.ts +144 -0
- package/dist/shutdown-deadline.d.ts.map +1 -0
- package/dist/shutdown-deadline.js +187 -0
- package/dist/shutdown-deadline.js.map +1 -0
- package/dist/shutdown.d.ts +5 -2
- package/dist/shutdown.d.ts.map +1 -1
- package/dist/shutdown.js +19 -14
- package/dist/shutdown.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +33 -0
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +14 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +16 -1
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/tasks/ac-immutability.d.ts.map +1 -1
- package/dist/tasks/ac-immutability.js +36 -0
- package/dist/tasks/ac-immutability.js.map +1 -1
- package/dist/tasks/add.d.ts +18 -0
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +28 -5
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/axis-filters.d.ts +53 -0
- package/dist/tasks/axis-filters.d.ts.map +1 -0
- package/dist/tasks/axis-filters.js +77 -0
- package/dist/tasks/axis-filters.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +10 -1
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/duplicate-detector.d.ts +67 -14
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +197 -54
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/evidence.d.ts +139 -0
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +294 -25
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/find.d.ts.map +1 -1
- package/dist/tasks/find.js +9 -2
- package/dist/tasks/find.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +25 -4
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/heavy-tool-env.d.ts +20 -0
- package/dist/tasks/heavy-tool-env.d.ts.map +1 -1
- package/dist/tasks/heavy-tool-env.js +74 -4
- package/dist/tasks/heavy-tool-env.js.map +1 -1
- package/dist/tasks/heavy-tool-limit.d.ts +134 -0
- package/dist/tasks/heavy-tool-limit.d.ts.map +1 -0
- package/dist/tasks/heavy-tool-limit.js +196 -0
- package/dist/tasks/heavy-tool-limit.js.map +1 -0
- package/dist/tasks/index.d.ts +1 -1
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +1 -1
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/infer-add-params.d.ts +28 -0
- package/dist/tasks/infer-add-params.d.ts.map +1 -1
- package/dist/tasks/infer-add-params.js +96 -6
- package/dist/tasks/infer-add-params.js.map +1 -1
- package/dist/tasks/list.d.ts +30 -1
- package/dist/tasks/list.d.ts.map +1 -1
- package/dist/tasks/list.js +14 -0
- package/dist/tasks/list.js.map +1 -1
- package/dist/tasks/ops.d.ts +4 -0
- package/dist/tasks/ops.d.ts.map +1 -1
- package/dist/tasks/ops.js +2 -0
- package/dist/tasks/ops.js.map +1 -1
- package/dist/tasks/session-scope.d.ts +51 -4
- package/dist/tasks/session-scope.d.ts.map +1 -1
- package/dist/tasks/session-scope.js +68 -10
- package/dist/tasks/session-scope.js.map +1 -1
- package/dist/tasks/tool-cache.d.ts +116 -9
- package/dist/tasks/tool-cache.d.ts.map +1 -1
- package/dist/tasks/tool-cache.js +127 -16
- package/dist/tasks/tool-cache.js.map +1 -1
- package/dist/tasks/tool-semaphore.d.ts +91 -0
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +203 -14
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +64 -0
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +249 -0
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +41 -5
- package/dist/validation/engine-ops.js.map +1 -1
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +28 -44
- package/dist/backfill/adr-backfill-walker.d.ts +0 -57
- package/dist/backfill/adr-backfill-walker.d.ts.map +0 -1
- package/dist/backfill/adr-backfill-walker.js +0 -631
- package/dist/backfill/adr-backfill-walker.js.map +0 -1
- package/dist/tasks/graph-rag.d.ts +0 -49
- package/dist/tasks/graph-rag.d.ts.map +0 -1
- package/dist/tasks/graph-rag.js +0 -328
- package/dist/tasks/graph-rag.js.map +0 -1
package/dist/tasks/tool-cache.js
CHANGED
|
@@ -37,6 +37,7 @@ import { ExitCode } from '@cleocode/contracts';
|
|
|
37
37
|
import { CleoError } from '../errors.js';
|
|
38
38
|
import { withLock } from '../store/lock.js';
|
|
39
39
|
import { heavyToolEnv } from './heavy-tool-env.js';
|
|
40
|
+
import { withMemoryLimit } from './heavy-tool-limit.js';
|
|
40
41
|
import { acquireGlobalSlot } from './tool-semaphore.js';
|
|
41
42
|
// ---------------------------------------------------------------------------
|
|
42
43
|
// Wall-clock deadline resolution (T12105 / gh#1193)
|
|
@@ -53,6 +54,64 @@ import { acquireGlobalSlot } from './tool-semaphore.js';
|
|
|
53
54
|
* @task T12105
|
|
54
55
|
*/
|
|
55
56
|
export const DEFAULT_SPAWN_TIMEOUT_MS = 300_000;
|
|
57
|
+
/**
|
|
58
|
+
* Wall-clock deadline for the HEAVY tool classes (`test`, `build`), in ms.
|
|
59
|
+
*
|
|
60
|
+
* ## Why these need their own default (gh#1221)
|
|
61
|
+
*
|
|
62
|
+
* A test suite is categorically not a linter. The single 300s default was
|
|
63
|
+
* below a real monorepo suite — measured ~10 min in the gh#1221 report — so
|
|
64
|
+
* EVERY run was killed before finishing, and the timeout path deliberately
|
|
65
|
+
* caches nothing (T12025, correct: an unfinished run is not a result). The
|
|
66
|
+
* cache could therefore never hit, not because the key moved but because no
|
|
67
|
+
* entry was ever produced, on a path that always fired. Each attempt still ran
|
|
68
|
+
* the suite at full parallelism for the full 300s before discarding it — the
|
|
69
|
+
* worst possible shape, and the load multiplier that wedged shared hosts.
|
|
70
|
+
*
|
|
71
|
+
* 30 min is 3x the measured ~10 min suite, so a project whose suite triples
|
|
72
|
+
* still completes on the default rather than discovering an env var after
|
|
73
|
+
* burning 5 CPU-minutes to learn its name. It is a ceiling on a pathological
|
|
74
|
+
* hang, not a budget anyone should plan to use.
|
|
75
|
+
*
|
|
76
|
+
* ## Why a longer rope is safe now, and was not before
|
|
77
|
+
*
|
|
78
|
+
* Raising a deadline means a runaway suite runs LONGER before anything stops
|
|
79
|
+
* it, and the 300s kill was accidentally acting as a crude memory
|
|
80
|
+
* circuit-breaker. Heavy tools are now spawned inside a memory-bounded scope
|
|
81
|
+
* with swap denied (T12116), so duration no longer converts into unbounded
|
|
82
|
+
* host memory: a runaway dies inside its own boundary and CLEO reports a
|
|
83
|
+
* failed run. A failed test run is a result; a frozen workstation is not.
|
|
84
|
+
*
|
|
85
|
+
* `lint`, `typecheck`, `audit` and `security-scan` deliberately do NOT inherit
|
|
86
|
+
* this — they are single-process and CPU-bound, and a lint that has run for 5
|
|
87
|
+
* minutes is hung, not busy.
|
|
88
|
+
*
|
|
89
|
+
* @task T12126 (gh#1221)
|
|
90
|
+
*/
|
|
91
|
+
export const HEAVY_TOOL_SPAWN_TIMEOUT_MS = 1_800_000;
|
|
92
|
+
/**
|
|
93
|
+
* Canonical tools that get {@link HEAVY_TOOL_SPAWN_TIMEOUT_MS}.
|
|
94
|
+
*
|
|
95
|
+
* Matches the memory-bound heavy classes rather than being a second, separate
|
|
96
|
+
* opinion about which tools are expensive — the two must not drift.
|
|
97
|
+
*
|
|
98
|
+
* @task T12126 (gh#1221)
|
|
99
|
+
*/
|
|
100
|
+
const HEAVY_TIMEOUT_TOOLS = new Set(['test', 'build']);
|
|
101
|
+
/**
|
|
102
|
+
* The default wall-clock deadline for a canonical tool, before any env
|
|
103
|
+
* override.
|
|
104
|
+
*
|
|
105
|
+
* @param canonical - Canonical tool name from the resolver.
|
|
106
|
+
* @returns Deadline in milliseconds.
|
|
107
|
+
*
|
|
108
|
+
* @task T12126 (gh#1221)
|
|
109
|
+
*/
|
|
110
|
+
export function defaultSpawnTimeoutMs(canonical) {
|
|
111
|
+
return HEAVY_TIMEOUT_TOOLS.has(canonical)
|
|
112
|
+
? HEAVY_TOOL_SPAWN_TIMEOUT_MS
|
|
113
|
+
: DEFAULT_SPAWN_TIMEOUT_MS;
|
|
114
|
+
}
|
|
56
115
|
/**
|
|
57
116
|
* Resolve the wall-clock child-process deadline for a canonical tool.
|
|
58
117
|
*
|
|
@@ -76,19 +135,20 @@ export const DEFAULT_SPAWN_TIMEOUT_MS = 300_000;
|
|
|
76
135
|
*/
|
|
77
136
|
export function resolveSpawnTimeoutMs(canonical, env = process.env) {
|
|
78
137
|
const envKey = `CLEO_TOOL_TIMEOUT_${canonical.toUpperCase().replace(/-/g, '_')}`;
|
|
138
|
+
const fallback = defaultSpawnTimeoutMs(canonical);
|
|
79
139
|
const raw = env[envKey];
|
|
80
140
|
if (raw === undefined || raw.trim() === '')
|
|
81
|
-
return
|
|
141
|
+
return fallback;
|
|
82
142
|
const trimmed = raw.trim();
|
|
83
143
|
if (!/^\d+$/.test(trimmed)) {
|
|
84
144
|
throw new CleoError(ExitCode.VALIDATION_ERROR, `${envKey} must be a positive integer (milliseconds), got "${raw}".`, {
|
|
85
|
-
fix: `Set ${envKey} to a millisecond value such as 600000 (10 min), or unset it to use the ${
|
|
145
|
+
fix: `Set ${envKey} to a millisecond value such as 600000 (10 min), or unset it to use the ${fallback}ms default.`,
|
|
86
146
|
});
|
|
87
147
|
}
|
|
88
148
|
const parsed = Number.parseInt(trimmed, 10);
|
|
89
149
|
if (parsed <= 0) {
|
|
90
150
|
throw new CleoError(ExitCode.VALIDATION_ERROR, `${envKey} must be greater than zero, got ${parsed}.`, {
|
|
91
|
-
fix: `Set ${envKey} to a positive millisecond value such as 600000 (10 min), or unset it to use the ${
|
|
151
|
+
fix: `Set ${envKey} to a positive millisecond value such as 600000 (10 min), or unset it to use the ${fallback}ms default.`,
|
|
92
152
|
});
|
|
93
153
|
}
|
|
94
154
|
return parsed;
|
|
@@ -300,25 +360,51 @@ export async function captureHead(projectRoot) {
|
|
|
300
360
|
return r.stdout.trim() || null;
|
|
301
361
|
}
|
|
302
362
|
/**
|
|
303
|
-
* Capture a fingerprint of the uncommitted tree by sha256-hashing
|
|
304
|
-
* `git status --porcelain=v1`. Returns `null` for
|
|
363
|
+
* Capture a fingerprint of the uncommitted TRACKED tree by sha256-hashing
|
|
364
|
+
* `git status --porcelain=v1 --untracked-files=no`. Returns `null` for
|
|
365
|
+
* non-git roots.
|
|
305
366
|
*
|
|
306
367
|
* Two repos with identical tracked content but different uncommitted edits
|
|
307
|
-
* produce different fingerprints — so editing a file before
|
|
308
|
-
* always invalidates the cache for tools sensitive to that file.
|
|
368
|
+
* produce different fingerprints — so editing a tracked file before
|
|
369
|
+
* re-verifying always invalidates the cache for tools sensitive to that file.
|
|
370
|
+
*
|
|
371
|
+
* ## Why untracked files are excluded (gh#1221)
|
|
372
|
+
*
|
|
373
|
+
* The fingerprint is captured BEFORE the tool spawns and is the key the
|
|
374
|
+
* result is stored under. When untracked files were included, a tool that
|
|
375
|
+
* emitted any untracked artifact changed the fingerprint that the NEXT call
|
|
376
|
+
* computes — so the tool invalidated its own cache entry simply by running,
|
|
377
|
+
* and the cache could never hit. This is not hypothetical or
|
|
378
|
+
* multi-agent-specific: in this repo `coverage/`, `.vitest/` and `*.log` are
|
|
379
|
+
* not gitignored, so a single suite run is enough. A one-line marker file is
|
|
380
|
+
* enough.
|
|
381
|
+
*
|
|
382
|
+
* Excluding untracked files fixes that at the root, rather than maintaining a
|
|
383
|
+
* per-project list of build-output paths that rots as tooling changes.
|
|
384
|
+
*
|
|
385
|
+
* TRADEOFF (deliberate): a brand-new UNTRACKED source or test file no longer
|
|
386
|
+
* invalidates the cache either, so `cleo verify` can return a cached pass
|
|
387
|
+
* that did not exercise it. Commit the file (HEAD moves, the key moves) or
|
|
388
|
+
* force a fresh run with {@link RunToolOptions.bypassCache} — surfaced as
|
|
389
|
+
* `CLEO_EVIDENCE_FRESH=1`. The alternative — a maintained exclude list — trades
|
|
390
|
+
* a loud, documented staleness for a silent, per-project one.
|
|
309
391
|
*
|
|
310
392
|
* The cache directory itself (`.cleo/cache/`) and other CLEO-managed runtime
|
|
311
|
-
* state (`.cleo/tasks.db`, `.cleo/brain.db`, journal/log files)
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
* the new file in `git status` and records a different fingerprint.
|
|
393
|
+
* state (`.cleo/tasks.db`, `.cleo/brain.db`, journal/log files) remain
|
|
394
|
+
* excluded via pathspec so a tracked-and-modified CLEO file cannot reintroduce
|
|
395
|
+
* the same self-invalidation.
|
|
315
396
|
*
|
|
316
397
|
* @task T1534
|
|
398
|
+
* @task T12112 (gh#1221)
|
|
317
399
|
*/
|
|
318
400
|
export async function captureDirtyFingerprint(projectRoot) {
|
|
319
401
|
const r = await spawnCmd('git', [
|
|
320
402
|
'status',
|
|
321
403
|
'--porcelain=v1',
|
|
404
|
+
// gh#1221: untracked files are the tool's own output as often as they
|
|
405
|
+
// are the operator's input; including them made every tool invalidate
|
|
406
|
+
// its own cache entry. See the docblock TRADEOFF note.
|
|
407
|
+
'--untracked-files=no',
|
|
322
408
|
'--',
|
|
323
409
|
'.',
|
|
324
410
|
':(exclude).cleo/cache',
|
|
@@ -428,11 +514,22 @@ export async function runToolCached(command, projectRoot, opts = {}) {
|
|
|
428
514
|
// T12105 / gh#1193: an explicit opts value (tests) wins; otherwise the
|
|
429
515
|
// CLEO_TOOL_TIMEOUT_<CANONICAL> env override, else the 5 min default.
|
|
430
516
|
const spawnTimeoutMs = opts.spawnTimeoutMs ?? resolveSpawnTimeoutMs(command.canonical);
|
|
431
|
-
|
|
432
|
-
|
|
517
|
+
// gh#1220/#1226/#1230: the tool runs in — and is fingerprinted against —
|
|
518
|
+
// the caller's tree, which is NOT necessarily the store root. The cache
|
|
519
|
+
// ENTRY still lives under `projectRoot` so every worktree shares one cache;
|
|
520
|
+
// that is sound because the key is content-addressed (HEAD + tracked
|
|
521
|
+
// fingerprint), so two trees only collide when they hold the same code.
|
|
522
|
+
const executionRoot = opts.executionRoot ?? projectRoot;
|
|
523
|
+
// gh#1221 escape hatch. The fingerprint covers TRACKED content only, so an
|
|
524
|
+
// uncommitted NEW file does not invalidate the cache; this is the
|
|
525
|
+
// documented way to force a measured run without committing first.
|
|
526
|
+
// An explicit option always wins over the env var.
|
|
527
|
+
const bypassCache = opts.bypassCache ?? process.env['CLEO_EVIDENCE_FRESH'] === '1';
|
|
528
|
+
const head = await captureHead(executionRoot);
|
|
529
|
+
const dirtyFingerprint = await captureDirtyFingerprint(executionRoot);
|
|
433
530
|
const key = computeCacheKey(command, head, dirtyFingerprint);
|
|
434
531
|
// Fast path — fresh cache hit
|
|
435
|
-
if (!
|
|
532
|
+
if (!bypassCache) {
|
|
436
533
|
const existing = readCacheEntry(projectRoot, key);
|
|
437
534
|
if (existing) {
|
|
438
535
|
return {
|
|
@@ -443,6 +540,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
|
|
|
443
540
|
cacheHit: true,
|
|
444
541
|
timedOut: false,
|
|
445
542
|
lockBusy: false,
|
|
543
|
+
executionRoot,
|
|
446
544
|
entry: existing,
|
|
447
545
|
};
|
|
448
546
|
}
|
|
@@ -472,7 +570,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
|
|
|
472
570
|
return await withLock(cachePath, async () => {
|
|
473
571
|
// Inside the lock — re-check the cache. If another process beat us to
|
|
474
572
|
// it, prefer its result.
|
|
475
|
-
if (!
|
|
573
|
+
if (!bypassCache) {
|
|
476
574
|
const fresh = readCacheEntry(projectRoot, key);
|
|
477
575
|
if (fresh) {
|
|
478
576
|
return {
|
|
@@ -483,13 +581,23 @@ export async function runToolCached(command, projectRoot, opts = {}) {
|
|
|
483
581
|
cacheHit: true,
|
|
484
582
|
timedOut: false,
|
|
485
583
|
lockBusy: false,
|
|
584
|
+
executionRoot,
|
|
486
585
|
entry: fresh,
|
|
487
586
|
};
|
|
488
587
|
}
|
|
489
588
|
}
|
|
490
589
|
// Spawn the tool ourselves.
|
|
590
|
+
//
|
|
591
|
+
// T12116: `test` and `build` run inside a transient systemd scope with
|
|
592
|
+
// a hard `MemoryMax` and `MemorySwapMax=0`, so the kernel bounds the
|
|
593
|
+
// ENTIRE process tree — a `pnpm -r` fan-out into fifteen packages is
|
|
594
|
+
// still one cgroup, which is the multiplier the semaphore could not
|
|
595
|
+
// see. Denying swap is the point: the failure this guards against was
|
|
596
|
+
// a throttle-and-thrash host freeze, not an OOM kill. Degrades to an
|
|
597
|
+
// unwrapped spawn off Linux or without a user systemd manager.
|
|
598
|
+
const limited = withMemoryLimit(command.canonical, command.cmd, command.args);
|
|
491
599
|
const startedAt = Date.now();
|
|
492
|
-
const result = await spawnCmd(
|
|
600
|
+
const result = await spawnCmd(limited.cmd, [...limited.args], executionRoot, spawnTimeoutMs, heavyToolEnv(command.canonical));
|
|
493
601
|
const durationMs = Date.now() - startedAt;
|
|
494
602
|
// T12025: when the child exceeded its wall-clock deadline, do NOT
|
|
495
603
|
// persist a cache entry — the run produced no real result. The lock
|
|
@@ -504,6 +612,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
|
|
|
504
612
|
cacheHit: false,
|
|
505
613
|
timedOut: true,
|
|
506
614
|
lockBusy: false,
|
|
615
|
+
executionRoot,
|
|
507
616
|
entry: {
|
|
508
617
|
schemaVersion: 1,
|
|
509
618
|
key,
|
|
@@ -547,6 +656,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
|
|
|
547
656
|
cacheHit: false,
|
|
548
657
|
timedOut: false,
|
|
549
658
|
lockBusy: false,
|
|
659
|
+
executionRoot,
|
|
550
660
|
entry,
|
|
551
661
|
};
|
|
552
662
|
}, { stale: lockStaleMs, retries: 3 });
|
|
@@ -569,6 +679,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
|
|
|
569
679
|
cacheHit: false,
|
|
570
680
|
timedOut: false,
|
|
571
681
|
lockBusy: true,
|
|
682
|
+
executionRoot,
|
|
572
683
|
entry: {
|
|
573
684
|
schemaVersion: 1,
|
|
574
685
|
key,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/tasks/tool-cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/tasks/tool-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAA2B,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA+KjF,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5E;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;QACvC,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,wBAAwB,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,MAAM,GAAG,qBAAqB,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IACjF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CACjB,QAAQ,CAAC,gBAAgB,EACzB,GAAG,MAAM,oDAAoD,GAAG,IAAI,EACpE;YACE,GAAG,EAAE,OAAO,MAAM,2EAA2E,QAAQ,aAAa;SACnH,CACF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,SAAS,CACjB,QAAQ,CAAC,gBAAgB,EACzB,GAAG,MAAM,mCAAmC,MAAM,GAAG,EACrD;YACE,GAAG,EAAE,OAAO,MAAM,oFAAoF,QAAQ,aAAa;SAC5H,CACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA4B,EAC5B,IAAmB,EACnB,gBAA+B;IAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI;QACJ,gBAAgB;KACjB,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAcD;;;;;;;;;;;;;GAaG;AACH,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU;IAIe;IAHrB,MAAM,GAAa,EAAE,CAAC;IACtB,IAAI,GAAG,CAAC,CAAC;IAEjB,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE5C,MAAM,CAAC,KAAa;QAClB,kEAAkE;QAClE,wCAAwC;QACxC,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;QAC1B,iDAAiD;QACjD,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,MAAM;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,GAAW,EAAE,MAA6B;IACjE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC7E,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;QACD,OAAO;IACT,CAAC;IACD,sCAAsC;IACtC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,wEAAwE;QACxE,sEAAsE;QACtE,4DAA4D;QAC5D,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CACf,GAAW,EACX,IAAc,EACd,GAAW,EACX,cAAuB,EACvB,UAA6C;IAE7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;YAC7B,GAAG;YACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,2EAA2E;YAC3E,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,4CAA4C;YAC5C,GAAG,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE;YAC/E,gEAAgE;YAChE,8DAA8D;YAC9D,+DAA+D;YAC/D,kEAAkE;YAClE,iDAAiD;YACjD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACrC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACrC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,aAAwD,CAAC;QAC7D,IAAI,cAAyD,CAAC;QAE9D,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,aAAa,KAAK,SAAS;gBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,cAAc,KAAK,SAAS;gBAAE,YAAY,CAAC,cAAc,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,QAAuB,EAAE,EAAE;YAC3C,WAAW,EAAE,CAAC;YACd,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9F,CAAC,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBACzD,eAAe,CAAC,KAAK,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;gBACD,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC/B,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBACzD,eAAe,CAAC,KAAK,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACvB,CAAC,EAAE,cAAc,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB;IACnD,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,WAAmB;IAC/D,MAAM,CAAC,GAAG,MAAM,QAAQ,CACtB,KAAK,EACL;QACE,QAAQ;QACR,gBAAgB;QAChB,sEAAsE;QACtE,sEAAsE;QACtE,uDAAuD;QACvD,sBAAsB;QACtB,IAAI;QACJ,GAAG;QACH,uBAAuB;QACvB,0BAA0B;QAC1B,uBAAuB;QACvB,0BAA0B;QAC1B,yBAAyB;QACzB,4BAA4B;QAC5B,kCAAkC;QAClC,qCAAqC;QACrC,sBAAsB;QACtB,0BAA0B;QAC1B,0BAA0B;KAC3B,EACD,WAAW,CACZ,CAAC;IACF,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,GAAW;IAC7D,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,GAAW;IAC7D,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAEpD,CAAC;QACF,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAClE,wEAAwE;QACxE,sEAAsE;QACtE,iDAAiD;QACjD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,MAAwB,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,KAAqB;IACxE,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAClD,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA4B,EAC5B,WAAmB,EACnB,OAAuB,EAAE;IAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;IAChD,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvF,yEAAyE;IACzE,wEAAwE;IACxE,4EAA4E;IAC5E,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC;IAExD,2EAA2E;IAC3E,kEAAkE;IAClE,mEAAmE;IACnE,mDAAmD;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,GAAG,CAAC;IAEnF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAE7D,8BAA8B;IAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;gBACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,aAAa;gBACb,KAAK,EAAE,QAAQ;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,aAAa;IACb,sEAAsE;IACtE,qEAAqE;IACrE,oDAAoD;IACpD,qEAAqE;IACrE,0DAA0D;IAC1D,mEAAmE;IACnE,2DAA2D;IAC3D,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,sEAAsE;IACtE,0DAA0D;IAC1D,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB;QAC/C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEtE,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CACnB,SAAS,EACT,KAAK,IAAI,EAAE;YACT,sEAAsE;YACtE,yBAAyB;YACzB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAC/C,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO;wBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,KAAK;wBACf,aAAa;wBACb,KAAK,EAAE,KAAK;qBACb,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,EAAE;YACF,uEAAuE;YACvE,qEAAqE;YACrE,qEAAqE;YACrE,oEAAoE;YACpE,sEAAsE;YACtE,qEAAqE;YACrE,+DAA+D;YAC/D,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,OAAO,CAAC,GAAG,EACX,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EACjB,aAAa,EACb,cAAc,EACd,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAChC,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE1C,kEAAkE;YAClE,oEAAoE;YACpE,+DAA+D;YAC/D,oEAAoE;YACpE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO;oBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;oBAChD,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;oBAChD,UAAU;oBACV,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;oBACf,aAAa;oBACb,KAAK,EAAE;wBACL,aAAa,EAAE,CAAC;wBAChB,GAAG;wBACH,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,IAAI;wBACJ,gBAAgB;wBAChB,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,EAAE;wBACd,UAAU,EAAE,EAAE;wBACd,UAAU;wBACV,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACrC;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAmB;gBAC5B,aAAa,EAAE,CAAC;gBAChB,GAAG;gBACH,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI;gBACJ,gBAAgB;gBAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;gBAChD,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;gBAChD,UAAU;gBACV,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC;YAEF,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAEpC,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,aAAa;gBACb,KAAK;aACN,CAAC;QACJ,CAAC,EACD,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CACnC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,oEAAoE;QACpE,kEAAkE;QAClE,kEAAkE;QAClE,sEAAsE;QACtE,mEAAmE;QACnE,+DAA+D;QAC/D,IAAI,GAAG,YAAY,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;YACnE,MAAM,SAAS,GAAI,GAAG,CAAC,KAAuC,EAAE,IAAI,CAAC;YACrE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO;oBACL,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,CAAC;oBACb,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,IAAI;oBACd,aAAa;oBACb,KAAK,EAAE;wBACL,aAAa,EAAE,CAAC;wBAChB,GAAG;wBACH,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,IAAI;wBACJ,gBAAgB;wBAChB,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,EAAE;wBACd,UAAU,EAAE,EAAE;wBACd,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACrC;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,IAAI,gBAAgB;YAAE,MAAM,gBAAgB,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,CAAS,EAAE,GAAW;IACxC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
|
|
@@ -198,6 +198,97 @@ export declare function pressureScaleSlots(canonical: CanonicalTool, staticMax:
|
|
|
198
198
|
* @task T1534
|
|
199
199
|
*/
|
|
200
200
|
export declare function semaphoreDir(canonical: CanonicalTool): string;
|
|
201
|
+
/**
|
|
202
|
+
* Identity of the process currently holding a semaphore slot.
|
|
203
|
+
*
|
|
204
|
+
* `proper-lockfile` decides staleness from the lock's **mtime**, which it
|
|
205
|
+
* refreshes on a timer while the holder lives. That makes a slot held by a
|
|
206
|
+
* process which died without releasing indistinguishable from one held by a
|
|
207
|
+
* legitimately long-running suite: both simply wait out `staleMs` (10 min by
|
|
208
|
+
* default). On a box where evidence runs are frequent, one orphan therefore
|
|
209
|
+
* blocks every later verify for ten minutes with `E_EVIDENCE_TOOL_BUSY` and
|
|
210
|
+
* no indication of who is holding it (gh#1222).
|
|
211
|
+
*
|
|
212
|
+
* Recording the holder turns that into a decidable question: a slot whose
|
|
213
|
+
* owner is a dead pid on this host is orphaned NOW, not in ten minutes, and
|
|
214
|
+
* the operator can be told which process to look at.
|
|
215
|
+
*
|
|
216
|
+
* @task T12113 (gh#1222)
|
|
217
|
+
*/
|
|
218
|
+
export interface SlotHolder {
|
|
219
|
+
/** OS process id of the holder. */
|
|
220
|
+
pid: number;
|
|
221
|
+
/** Host that pid is meaningful on. Liveness is only decided on a match. */
|
|
222
|
+
host: string;
|
|
223
|
+
/** ISO 8601 timestamp of acquisition — lets the operator judge "stuck vs slow". */
|
|
224
|
+
acquiredAt: string;
|
|
225
|
+
/** Canonical tool the slot belongs to. */
|
|
226
|
+
canonical: string;
|
|
227
|
+
/** Slot file this holder record describes. */
|
|
228
|
+
slot: string;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Read a slot's holder record. Returns `null` when absent or unparseable —
|
|
232
|
+
* both mean "we cannot say who holds this", which is treated as alive.
|
|
233
|
+
*
|
|
234
|
+
* @internal
|
|
235
|
+
* @task T12113 (gh#1222)
|
|
236
|
+
*/
|
|
237
|
+
export declare function readHolder(slotPath: string): SlotHolder | null;
|
|
238
|
+
/**
|
|
239
|
+
* Is a slot's recorded holder still running?
|
|
240
|
+
*
|
|
241
|
+
* Fails SAFE: an unknown holder, a holder on another host, or any error is
|
|
242
|
+
* reported as ALIVE. Reaping a live holder's slot would let two heavy suites
|
|
243
|
+
* run against one bound — the exact oversubscription the semaphore exists to
|
|
244
|
+
* prevent — so uncertainty must never authorise a reap.
|
|
245
|
+
*
|
|
246
|
+
* @param holder - Holder record, or `null` when none could be read.
|
|
247
|
+
* @returns `true` when the slot must be treated as legitimately held.
|
|
248
|
+
*
|
|
249
|
+
* @task T12113 (gh#1222)
|
|
250
|
+
*/
|
|
251
|
+
export declare function isHolderAlive(holder: SlotHolder | null): boolean;
|
|
252
|
+
/**
|
|
253
|
+
* Release a slot whose recorded holder is gone.
|
|
254
|
+
*
|
|
255
|
+
* Removes `proper-lockfile`'s lock directory directly — the same thing its own
|
|
256
|
+
* stale recovery does, but decided by process liveness instead of by a 10
|
|
257
|
+
* minute mtime timeout.
|
|
258
|
+
*
|
|
259
|
+
* @param slotPath - Slot lock file path.
|
|
260
|
+
* @returns `true` when an orphaned slot was actually reaped.
|
|
261
|
+
*
|
|
262
|
+
* @task T12113 (gh#1222)
|
|
263
|
+
*/
|
|
264
|
+
export declare function reapSlotIfOrphaned(slotPath: string): boolean;
|
|
265
|
+
/**
|
|
266
|
+
* Enumerate every slot of a canonical tool with its holder and liveness.
|
|
267
|
+
*
|
|
268
|
+
* Backs the operator-facing lock inspection surface requested in gh#1222 —
|
|
269
|
+
* "who is holding this, and is it even alive?" — which previously required
|
|
270
|
+
* reading `~/.local/share/cleo/locks/` by hand.
|
|
271
|
+
*
|
|
272
|
+
* @param canonical - Canonical tool name.
|
|
273
|
+
* @returns One row per existing slot file.
|
|
274
|
+
*
|
|
275
|
+
* @task T12113 (gh#1222)
|
|
276
|
+
*/
|
|
277
|
+
export declare function listSlotHolders(canonical: CanonicalTool): Array<{
|
|
278
|
+
slot: string;
|
|
279
|
+
held: boolean;
|
|
280
|
+
holder: SlotHolder | null;
|
|
281
|
+
alive: boolean;
|
|
282
|
+
}>;
|
|
283
|
+
/**
|
|
284
|
+
* Reap every orphaned slot of a canonical tool.
|
|
285
|
+
*
|
|
286
|
+
* @param canonical - Canonical tool name.
|
|
287
|
+
* @returns Paths of the slots actually reaped.
|
|
288
|
+
*
|
|
289
|
+
* @task T12113 (gh#1222)
|
|
290
|
+
*/
|
|
291
|
+
export declare function reapOrphanedSlots(canonical: CanonicalTool): string[];
|
|
201
292
|
/**
|
|
202
293
|
* Acquire one slot from the global semaphore for a canonical tool. Blocks
|
|
203
294
|
* until a slot becomes free or `timeoutMs` elapses.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-semaphore.d.ts","sourceRoot":"","sources":["../../src/tasks/tool-semaphore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-semaphore.d.ts","sourceRoot":"","sources":["../../src/tasks/tool-semaphore.ts"],"names":[],"mappings":"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"}
|