@telora/daemon 0.24.17 → 0.24.25
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/build-info.json +6 -3
- package/dist/ci/candidate-failure-record.d.ts +104 -0
- package/dist/ci/candidate-failure-record.d.ts.map +1 -0
- package/dist/ci/candidate-failure-record.js +135 -0
- package/dist/ci/candidate-failure-record.js.map +1 -0
- package/dist/ci/candidate-ref.d.ts.map +1 -1
- package/dist/ci/candidate-ref.js +10 -3
- package/dist/ci/candidate-ref.js.map +1 -1
- package/dist/ci/ci-status-git.d.ts.map +1 -1
- package/dist/ci/ci-status-git.js +1 -0
- package/dist/ci/ci-status-git.js.map +1 -1
- package/dist/ci/ci-status.d.ts.map +1 -1
- package/dist/ci/ci-status.js +1 -0
- package/dist/ci/ci-status.js.map +1 -1
- package/dist/ci/gate-ref.d.ts +10 -1
- package/dist/ci/gate-ref.d.ts.map +1 -1
- package/dist/ci/gate-ref.js +11 -4
- package/dist/ci/gate-ref.js.map +1 -1
- package/dist/ci/product-ci-repo.d.ts.map +1 -1
- package/dist/ci/product-ci-repo.js +3 -2
- package/dist/ci/product-ci-repo.js.map +1 -1
- package/dist/composition/execution-merge-context.d.ts +13 -0
- package/dist/composition/execution-merge-context.d.ts.map +1 -1
- package/dist/composition/execution-merge-context.js +76 -3
- package/dist/composition/execution-merge-context.js.map +1 -1
- package/dist/composition/focus-activity-live-sources.d.ts.map +1 -1
- package/dist/composition/focus-activity-live-sources.js +1 -0
- package/dist/composition/focus-activity-live-sources.js.map +1 -1
- package/dist/composition/runtime-heartbeat-context.d.ts +11 -0
- package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
- package/dist/composition/runtime-heartbeat-context.js +26 -1
- package/dist/composition/runtime-heartbeat-context.js.map +1 -1
- package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
- package/dist/composition/team-liveness-phase-sources.js +1 -0
- package/dist/composition/team-liveness-phase-sources.js.map +1 -1
- package/dist/composition/verification-context.d.ts.map +1 -1
- package/dist/composition/verification-context.js +34 -4
- package/dist/composition/verification-context.js.map +1 -1
- package/dist/focus/heartbeat-metadata.d.ts +5 -0
- package/dist/focus/heartbeat-metadata.d.ts.map +1 -1
- package/dist/focus/heartbeat-metadata.js +12 -0
- package/dist/focus/heartbeat-metadata.js.map +1 -1
- package/dist/focus/heartbeat.d.ts.map +1 -1
- package/dist/focus/heartbeat.js +1 -0
- package/dist/focus/heartbeat.js.map +1 -1
- package/dist/focus/host-pressure.d.ts +77 -0
- package/dist/focus/host-pressure.d.ts.map +1 -0
- package/dist/focus/host-pressure.js +83 -0
- package/dist/focus/host-pressure.js.map +1 -0
- package/dist/git/types.js +1 -1
- package/dist/merge/candidate-ci-failures.d.ts +72 -0
- package/dist/merge/candidate-ci-failures.d.ts.map +1 -0
- package/dist/merge/candidate-ci-failures.js +240 -0
- package/dist/merge/candidate-ci-failures.js.map +1 -0
- package/dist/merge/candidate-red-record.d.ts +44 -0
- package/dist/merge/candidate-red-record.d.ts.map +1 -0
- package/dist/merge/candidate-red-record.js +98 -0
- package/dist/merge/candidate-red-record.js.map +1 -0
- package/dist/merge/candidate-rework.d.ts +4 -3
- package/dist/merge/candidate-rework.d.ts.map +1 -1
- package/dist/merge/candidate-rework.js +46 -14
- package/dist/merge/candidate-rework.js.map +1 -1
- package/dist/merge/candidate-tip-attribution.d.ts +135 -0
- package/dist/merge/candidate-tip-attribution.d.ts.map +1 -0
- package/dist/merge/candidate-tip-attribution.js +319 -0
- package/dist/merge/candidate-tip-attribution.js.map +1 -0
- package/dist/merge/completion-merge-driver.d.ts +49 -5
- package/dist/merge/completion-merge-driver.d.ts.map +1 -1
- package/dist/merge/completion-merge-driver.js +56 -2
- package/dist/merge/completion-merge-driver.js.map +1 -1
- package/dist/merge/completion-merge-gate.d.ts +4 -1
- package/dist/merge/completion-merge-gate.d.ts.map +1 -1
- package/dist/merge/completion-merge-gate.js +9 -8
- package/dist/merge/completion-merge-gate.js.map +1 -1
- package/dist/queries/api-client/shared.d.ts.map +1 -1
- package/dist/queries/api-client/shared.js +6 -1
- package/dist/queries/api-client/shared.js.map +1 -1
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts +35 -0
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts.map +1 -0
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.js +42 -0
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.js.map +1 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts +16 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts.map +1 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.js +51 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.js.map +1 -0
- package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
- package/dist/queries/sessions/daemon-connection.js +1 -0
- package/dist/queries/sessions/daemon-connection.js.map +1 -1
- package/dist/queries/verification/verification.js +1 -1
- package/dist/shell/unified-shell.d.ts +25 -0
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +26 -80
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/shell/update-restart.d.ts +47 -0
- package/dist/shell/update-restart.d.ts.map +1 -0
- package/dist/shell/update-restart.js +124 -0
- package/dist/shell/update-restart.js.map +1 -0
- package/dist/supervision/escalation-suppression.js +1 -1
- package/dist/testing/fixtures/api-client.js +1 -1
- package/dist/testing/fixtures/completion-judge-stubs.d.ts +7 -2
- package/dist/testing/fixtures/completion-judge-stubs.d.ts.map +1 -1
- package/dist/testing/fixtures/completion-judge-stubs.js +11 -1
- package/dist/testing/fixtures/completion-judge-stubs.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/merge-log-capture.d.ts.map +1 -1
- package/dist/testing/fixtures/merge-log-capture.js +1 -0
- package/dist/testing/fixtures/merge-log-capture.js.map +1 -1
- package/dist/testing/fixtures/recording-api-client.js +1 -1
- package/dist/testing/fixtures/verification-deps.d.ts +7 -0
- package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-deps.js +17 -1
- package/dist/testing/fixtures/verification-deps.js.map +1 -1
- package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -1
- package/dist/testing/fixtures/vitest-failure-log.js +2 -1
- package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
- package/dist/update/auto-update.d.ts +11 -5
- package/dist/update/auto-update.d.ts.map +1 -1
- package/dist/update/auto-update.js +11 -5
- package/dist/update/auto-update.js.map +1 -1
- package/dist/update/restart-contract.d.ts +62 -0
- package/dist/update/restart-contract.d.ts.map +1 -0
- package/dist/update/restart-contract.js +137 -0
- package/dist/update/restart-contract.js.map +1 -0
- package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
- package/dist/verify/attribution/verification-baseline-run.js +1 -0
- package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts +3 -0
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts.map +1 -1
- package/dist/verify/ci-gate/ci-gate-dispatch.js +31 -9
- package/dist/verify/ci-gate/ci-gate-dispatch.js.map +1 -1
- package/dist/verify/ci-gate/ci-gate-wait-record.d.ts +6 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.d.ts.map +1 -1
- package/dist/verify/ci-gate/ci-gate-wait-record.js +1 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.d.ts +12 -2
- package/dist/verify/deterministic-gate/verification-checkout.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.js +18 -3
- package/dist/verify/deterministic-gate/verification-checkout.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
- package/dist/verify/deterministic-gate/verification-failure-parser.d.ts +30 -9
- package/dist/verify/deterministic-gate/verification-failure-parser.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-failure-parser.js +52 -8
- package/dist/verify/deterministic-gate/verification-failure-parser.js.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.js +6 -2
- package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
- package/dist/verify/engine/verification-deps.d.ts +9 -0
- package/dist/verify/engine/verification-deps.d.ts.map +1 -1
- package/dist/verify/engine/verification-deps.js +1 -1
- package/dist/verify/engine/verification-engine.d.ts.map +1 -1
- package/dist/verify/engine/verification-engine.js +4 -1
- package/dist/verify/engine/verification-engine.js.map +1 -1
- package/dist/verify/escaped-tests/escaped-pass-store.d.ts +19 -0
- package/dist/verify/escaped-tests/escaped-pass-store.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-pass-store.js +90 -0
- package/dist/verify/escaped-tests/escaped-pass-store.js.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-run.d.ts +39 -0
- package/dist/verify/escaped-tests/escaped-test-run.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-run.js +156 -0
- package/dist/verify/escaped-tests/escaped-test-run.js.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-set.d.ts +65 -0
- package/dist/verify/escaped-tests/escaped-test-set.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-set.js +95 -0
- package/dist/verify/escaped-tests/escaped-test-set.js.map +1 -0
- package/dist/verify/escaped-tests/escaped-tests-source.d.ts +44 -0
- package/dist/verify/escaped-tests/escaped-tests-source.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-tests-source.js +142 -0
- package/dist/verify/escaped-tests/escaped-tests-source.js.map +1 -0
- package/dist/verify/gate-config/verification-manifest.d.ts +12 -1
- package/dist/verify/gate-config/verification-manifest.d.ts.map +1 -1
- package/dist/verify/gate-config/verification-manifest.js +12 -1
- package/dist/verify/gate-config/verification-manifest.js.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
- package/package.json +2 -2
- package/scripts/telora-daemon-wrapper.sh +16 -7
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ShutdownEngine } from './graceful-shutdown.js';
|
|
2
|
+
/** The `telora-daemon run` options a detached replacement inherits. */
|
|
3
|
+
export interface ReExecOptions {
|
|
4
|
+
noAutoUpdate?: boolean;
|
|
5
|
+
config?: string;
|
|
6
|
+
}
|
|
7
|
+
/** What the restart tears down before it hands over. */
|
|
8
|
+
export interface UpdateRestartDeps {
|
|
9
|
+
engines: ReadonlyArray<ShutdownEngine>;
|
|
10
|
+
governor: {
|
|
11
|
+
shutdown(): void;
|
|
12
|
+
};
|
|
13
|
+
pidFilePath: string;
|
|
14
|
+
/** Claim the shutdown: false when one is already under way (the flag the shell's other exits share). */
|
|
15
|
+
claimShutdown: () => boolean;
|
|
16
|
+
/** The shell binds shell/shutdown-ownership.ts `finalizeWorkerOwnership`, as the graceful path does. */
|
|
17
|
+
finalizeWorkerOwnership: () => unknown;
|
|
18
|
+
stopCircuitWedgeWatcher: () => void;
|
|
19
|
+
stopOtlpReceiver: () => Promise<void>;
|
|
20
|
+
stopTelemetryWriter: () => Promise<void>;
|
|
21
|
+
stopLacunaSidecar: () => Promise<void>;
|
|
22
|
+
cleanupLogTee: (() => void) | null;
|
|
23
|
+
removeDaemonMeta: () => void;
|
|
24
|
+
releasePidLock: (pidFilePath: string) => void;
|
|
25
|
+
/** What an unsupervised re-exec runs: the current options, in the repo. */
|
|
26
|
+
reExec: {
|
|
27
|
+
opts: ReExecOptions;
|
|
28
|
+
repoPath: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** The restart's two entry points: the auto-update callback and the shutdown it runs. */
|
|
32
|
+
export interface UpdateRestart {
|
|
33
|
+
/** The auto-update loop's `onUpdateReady`: start the restart, never awaited. */
|
|
34
|
+
onUpdateReady: () => void;
|
|
35
|
+
shutdownForUpdate: () => Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The UNSUPERVISED half of the restart contract: spawn a detached daemon running
|
|
39
|
+
* the updated code. Never called under a supervisor -- there the detached child
|
|
40
|
+
* would die with the unit's cgroup. The entry point is resolved fresh from the
|
|
41
|
+
* globally-installed package (npm install -g may have replaced files under our
|
|
42
|
+
* feet).
|
|
43
|
+
*/
|
|
44
|
+
export declare function reExecDetachedDaemon(opts: ReExecOptions, repoPath: string): void;
|
|
45
|
+
/** Build the daemon's restart-after-update (see the module header). */
|
|
46
|
+
export declare function createUpdateRestart(deps: UpdateRestartDeps): UpdateRestart;
|
|
47
|
+
//# sourceMappingURL=update-restart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-restart.d.ts","sourceRoot":"","sources":["../../src/shell/update-restart.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,QAAQ,EAAE;QAAE,QAAQ,IAAI,IAAI,CAAA;KAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,wGAAwG;IACxG,uBAAuB,EAAE,MAAM,OAAO,CAAC;IACvC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,2EAA2E;IAC3E,MAAM,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAwBhF;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAyD1E"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/shell/update-restart.test.ts
|
|
3
|
+
// PINNED-BY-END
|
|
4
|
+
/**
|
|
5
|
+
* The unified daemon's restart after a self-update: tear down, then hand over to
|
|
6
|
+
* the new version under the ONE restart contract (update/restart-contract.ts).
|
|
7
|
+
*
|
|
8
|
+
* runUnifiedDaemon (shell/unified-shell.ts) builds it with createUpdateRestart
|
|
9
|
+
* and hands its `onUpdateReady` to the auto-update loop. The teardown steps are
|
|
10
|
+
* REQUIRED deps the shell binds once; the hand-over is NOT injectable: the
|
|
11
|
+
* restart plan is always decided on the live process (liveRestartProbe), the
|
|
12
|
+
* unsupervised re-exec is always reExecDetachedDaemon, and the exit is always
|
|
13
|
+
* process.exit. So update-restart.test.ts, which drives this module in child
|
|
14
|
+
* processes under a systemd-faithful service manager, the wrapper and a bare
|
|
15
|
+
* parent, exercises exactly the hand-over a real self-update performs.
|
|
16
|
+
*
|
|
17
|
+
* Sequence (idempotent; a second call is a no-op):
|
|
18
|
+
* 1. stop every engine accepting new work, then shut them down in parallel;
|
|
19
|
+
* 2. stop telemetry capture and the Lacuna sidecar;
|
|
20
|
+
* 3. finalize worker ownership, release the log tee, daemon meta and PID lock;
|
|
21
|
+
* 4. supervised: exit 75 and spawn nothing. Unsupervised: re-exec a detached
|
|
22
|
+
* replacement, then exit 0.
|
|
23
|
+
*
|
|
24
|
+
* @module shell/update-restart
|
|
25
|
+
*/
|
|
26
|
+
import { closeSync, openSync } from 'node:fs';
|
|
27
|
+
import { dirname, resolve } from 'node:path';
|
|
28
|
+
import { fileURLToPath } from 'node:url';
|
|
29
|
+
import { execFileSync, spawn } from 'node:child_process';
|
|
30
|
+
import { setDaemonShuttingDown } from '../daemon-state/shutdown-state.js';
|
|
31
|
+
import { childConfigArgs, resolveDaemonLogPath } from '../daemon-state/daemon-process.js';
|
|
32
|
+
import { createLogger } from '../log/daemon-log.js';
|
|
33
|
+
import { handOverAfterUpdate, liveRestartProbe, planRestartAfterUpdate } from '../update/restart-contract.js';
|
|
34
|
+
const log = createLogger({ module: 'auto-update' });
|
|
35
|
+
/**
|
|
36
|
+
* The UNSUPERVISED half of the restart contract: spawn a detached daemon running
|
|
37
|
+
* the updated code. Never called under a supervisor -- there the detached child
|
|
38
|
+
* would die with the unit's cgroup. The entry point is resolved fresh from the
|
|
39
|
+
* globally-installed package (npm install -g may have replaced files under our
|
|
40
|
+
* feet).
|
|
41
|
+
*/
|
|
42
|
+
export function reExecDetachedDaemon(opts, repoPath) {
|
|
43
|
+
log.info('[auto-update] Spawning new daemon process with updated code...');
|
|
44
|
+
const logFd = openSync(resolveDaemonLogPath(), 'a');
|
|
45
|
+
let entryPoint;
|
|
46
|
+
try {
|
|
47
|
+
entryPoint = execFileSync('which', ['telora-daemon'], { encoding: 'utf-8' }).trim();
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Fallback to the current entry point if `which` fails
|
|
51
|
+
const thisDir = dirname(fileURLToPath(import.meta.url));
|
|
52
|
+
entryPoint = resolve(thisDir, '..', 'index.js');
|
|
53
|
+
}
|
|
54
|
+
// Preserve --no-auto-update if it was passed to the current process
|
|
55
|
+
const runArgs = opts.noAutoUpdate ? ['run', '--no-auto-update'] : ['run'];
|
|
56
|
+
// Pass the config path, absolute: the new process starts in repoPath
|
|
57
|
+
runArgs.push(...childConfigArgs(opts.config, process.cwd()));
|
|
58
|
+
const child = spawn(entryPoint, runArgs, {
|
|
59
|
+
detached: true,
|
|
60
|
+
stdio: ['ignore', logFd, logFd],
|
|
61
|
+
cwd: repoPath,
|
|
62
|
+
env: { ...process.env },
|
|
63
|
+
});
|
|
64
|
+
child.unref();
|
|
65
|
+
closeSync(logFd);
|
|
66
|
+
log.info(`[auto-update] New daemon spawned (PID ${child.pid}), exiting old process`);
|
|
67
|
+
}
|
|
68
|
+
/** Build the daemon's restart-after-update (see the module header). */
|
|
69
|
+
export function createUpdateRestart(deps) {
|
|
70
|
+
async function shutdownForUpdate() {
|
|
71
|
+
if (!deps.claimShutdown())
|
|
72
|
+
return;
|
|
73
|
+
setDaemonShuttingDown();
|
|
74
|
+
log.info('\n[auto-update] Shutting down for restart...');
|
|
75
|
+
deps.governor.shutdown();
|
|
76
|
+
for (const engine of deps.engines) {
|
|
77
|
+
try {
|
|
78
|
+
engine.stop();
|
|
79
|
+
}
|
|
80
|
+
catch { /* best effort */ }
|
|
81
|
+
}
|
|
82
|
+
await Promise.allSettled(deps.engines.map(async (engine) => {
|
|
83
|
+
try {
|
|
84
|
+
await engine.shutdown();
|
|
85
|
+
}
|
|
86
|
+
catch { /* best effort */ }
|
|
87
|
+
}));
|
|
88
|
+
deps.stopCircuitWedgeWatcher();
|
|
89
|
+
try {
|
|
90
|
+
await deps.stopOtlpReceiver();
|
|
91
|
+
await deps.stopTelemetryWriter();
|
|
92
|
+
}
|
|
93
|
+
catch { /* best effort */ }
|
|
94
|
+
try {
|
|
95
|
+
await deps.stopLacunaSidecar();
|
|
96
|
+
}
|
|
97
|
+
catch { /* best effort */ }
|
|
98
|
+
// Teams were gracefully terminated above and will be re-spawned by the new
|
|
99
|
+
// process; finalize the lead pidfile so the new daemon's boot reap does not
|
|
100
|
+
// act on pids that are exiting or being legitimately resumed. ONLY the ones
|
|
101
|
+
// actually gone: a worker that outlived the reap keeps its record, or the
|
|
102
|
+
// new daemon inherits an orphan it can no longer name. Same boundary the
|
|
103
|
+
// graceful path takes by default -- there is no second one.
|
|
104
|
+
deps.finalizeWorkerOwnership();
|
|
105
|
+
deps.cleanupLogTee?.();
|
|
106
|
+
deps.removeDaemonMeta();
|
|
107
|
+
deps.releasePidLock(deps.pidFilePath);
|
|
108
|
+
// Hand over to the new version: a supervisor that restarts on 75 gets exit
|
|
109
|
+
// 75 and no child; only an unsupervised daemon re-execs itself.
|
|
110
|
+
handOverAfterUpdate(planRestartAfterUpdate(liveRestartProbe()), {
|
|
111
|
+
reExecDetached: () => reExecDetachedDaemon(deps.reExec.opts, deps.reExec.repoPath),
|
|
112
|
+
exit: (code) => process.exit(code),
|
|
113
|
+
log: (m) => log.info(m),
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
onUpdateReady: () => {
|
|
118
|
+
log.info('[auto-update] Update installed, initiating restart...');
|
|
119
|
+
void shutdownForUpdate();
|
|
120
|
+
},
|
|
121
|
+
shutdownForUpdate,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=update-restart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-restart.js","sourceRoot":"","sources":["../../src/shell/update-restart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 28 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/supervision/escalation-suppression.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
/**
|
|
5
5
|
* Cause-keyed escalation suppression + idempotent filing.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 86 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/api-client.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
/** A fake ApiClient whose every call is answered by `handle`. */
|
|
5
5
|
export function makeFakeApiClient(handle) {
|
|
@@ -10,6 +10,11 @@ import type { CompletionMergeDriverDeps } from '../../merge/completion-merge-dri
|
|
|
10
10
|
import type { CompletionMergeGateDeps } from '../../merge/completion-merge-gate.js';
|
|
11
11
|
/** Gate deps: the candidate declares the CI judge; no local verdict exists. */
|
|
12
12
|
export declare function ciJudgeGateStubs(): Pick<CompletionMergeGateDeps, 'resolveCompletionJudge' | 'readLocalCandidateStatus'>;
|
|
13
|
-
/**
|
|
14
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Driver deps: nothing was re-pushed, re-pushes succeed, local runs start, no
|
|
15
|
+
* local failure or CI failure record is held, a red candidate's record is a
|
|
16
|
+
* no-op, and no red is checkable against the integration tip (so a red is
|
|
17
|
+
* routed as re-work, as it is without the check).
|
|
18
|
+
*/
|
|
19
|
+
export declare function inertJudgeDriverStubs(): Pick<CompletionMergeDriverDeps, 'candidateRepushed' | 'markCandidateRepushed' | 'repushCandidate' | 'startLocalRun' | 'readLocalFailure' | 'readCandidateFailures' | 'awaitFailureRecord' | 'recordCandidateRed' | 'attributeCandidateRed' | 'fileIntegrationRed'>;
|
|
15
20
|
//# sourceMappingURL=completion-judge-stubs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-judge-stubs.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,+EAA+E;AAC/E,wBAAgB,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,0BAA0B,CAAC,CAKvH;AAED
|
|
1
|
+
{"version":3,"file":"completion-judge-stubs.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,+EAA+E;AAC/E,wBAAgB,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,0BAA0B,CAAC,CAKvH;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAC3C,yBAAyB,EACvB,mBAAmB,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,eAAe,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,oBAAoB,GACzJ,oBAAoB,GAAG,uBAAuB,GAAG,oBAAoB,CACxE,CAaA"}
|
|
@@ -25,7 +25,12 @@ export function ciJudgeGateStubs() {
|
|
|
25
25
|
readLocalCandidateStatus: () => 'unknown',
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Driver deps: nothing was re-pushed, re-pushes succeed, local runs start, no
|
|
30
|
+
* local failure or CI failure record is held, a red candidate's record is a
|
|
31
|
+
* no-op, and no red is checkable against the integration tip (so a red is
|
|
32
|
+
* routed as re-work, as it is without the check).
|
|
33
|
+
*/
|
|
29
34
|
export function inertJudgeDriverStubs() {
|
|
30
35
|
return {
|
|
31
36
|
candidateRepushed: () => false,
|
|
@@ -33,6 +38,11 @@ export function inertJudgeDriverStubs() {
|
|
|
33
38
|
repushCandidate: () => true,
|
|
34
39
|
startLocalRun: () => ({ kind: 'started' }),
|
|
35
40
|
readLocalFailure: () => null,
|
|
41
|
+
readCandidateFailures: () => null,
|
|
42
|
+
awaitFailureRecord: () => false,
|
|
43
|
+
recordCandidateRed: async () => { },
|
|
44
|
+
attributeCandidateRed: async () => ({ kind: 'not_eligible', reason: 'inert stub' }),
|
|
45
|
+
fileIntegrationRed: async () => false,
|
|
36
46
|
};
|
|
37
47
|
}
|
|
38
48
|
//# sourceMappingURL=completion-judge-stubs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-judge-stubs.js","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,uEAAuE;AACvE,kEAAkE;AAClE,8FAA8F;AAC9F,4EAA4E;AAC5E,sFAAsF;AACtF,oFAAoF;AACpF,uFAAuF;AACvF,wDAAwD;AACxD,kEAAkE;AAClE,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,8GAA8G;AAC9G,oEAAoE;AACpE,sEAAsE;AACtE,6DAA6D;AAC7D,gBAAgB;AAchB,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"completion-judge-stubs.js","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,uEAAuE;AACvE,kEAAkE;AAClE,8FAA8F;AAC9F,4EAA4E;AAC5E,sFAAsF;AACtF,oFAAoF;AACpF,uFAAuF;AACvF,wDAAwD;AACxD,kEAAkE;AAClE,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,8GAA8G;AAC9G,oEAAoE;AACpE,sEAAsE;AACtE,6DAA6D;AAC7D,gBAAgB;AAchB,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IAKnC,OAAO;QACL,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC9B,qBAAqB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC/B,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;QAC3B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI;QAC5B,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI;QACjC,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC/B,kBAAkB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;QAClC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACnF,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 366 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/index.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
/**
|
|
5
5
|
* Build an ActiveFocusRow (a getActiveFocuses row): an active, armed focus with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-log-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/merge-log-capture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"merge-log-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/merge-log-capture.ts"],"names":[],"mappings":"AAoBA,sEAAsE;AACtE,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQpF;AAED,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM7E"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Pinned by: packages/daemon/src/completion/team-exit/teardown-merge-gate.test.ts,
|
|
3
3
|
// packages/daemon/src/completion/team-teardown/mid-flight-merge-gate.test.ts,
|
|
4
4
|
// packages/daemon/src/integration/approved-head-hold-release-no-directive-regression.test.ts,
|
|
5
|
+
// packages/daemon/src/merge/candidate-red-record.test.ts,
|
|
5
6
|
// packages/daemon/src/merge/resolved-conflict-merge-gate.test.ts,
|
|
6
7
|
// packages/daemon/src/merge/safe-remove-merge-gate.test.ts
|
|
7
8
|
// PINNED-BY-END
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-log-capture.js","sourceRoot":"","sources":["../../../src/testing/fixtures/merge-log-capture.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,gGAAgG;AAChG,oEAAoE;AACpE,6DAA6D;AAC7D,gBAAgB;AAEhB;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAA0B;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,YAAY,CAAC,KAAwB,EAAE,MAAc;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,UAAU,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"merge-log-capture.js","sourceRoot":"","sources":["../../../src/testing/fixtures/merge-log-capture.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,gGAAgG;AAChG,4DAA4D;AAC5D,oEAAoE;AACpE,6DAA6D;AAC7D,gBAAgB;AAEhB;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAA0B;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,YAAY,CAAC,KAAwB,EAAE,MAAc;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,UAAU,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 32 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/recording-api-client.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
/**
|
|
5
5
|
* Test fixture: install a RECORDING fake product-api client -- every call is
|
|
@@ -4,6 +4,7 @@ import { type ResolvedDefaultVerification } from '../../verify/gate-config/verif
|
|
|
4
4
|
import type { BaselineCheckoutSeams } from '../../verify/attribution/verification-baseline-run.js';
|
|
5
5
|
import type { DefaultAttributionSeams } from '../../verify/attribution/verification-baseline.js';
|
|
6
6
|
import type { CiGateDeps } from '../../verify/ci-gate/ci-gate-dispatch.js';
|
|
7
|
+
import type { EscapedTestsDeps } from '../../verify/escaped-tests/escaped-tests-source.js';
|
|
7
8
|
import type { ExplicitGateOutcomeWriteDeps } from '../../verify/gate-verdicts/explicit-gate-outcome.js';
|
|
8
9
|
/** The default-on config with no command anywhere: the scan arms nothing. */
|
|
9
10
|
export declare const DISABLED_DEFAULT_VERIFICATION: ResolvedDefaultVerification;
|
|
@@ -14,6 +15,12 @@ export declare const DISABLED_DEFAULT_VERIFICATION: ResolvedDefaultVerification;
|
|
|
14
15
|
* push a test must stub to exercise.
|
|
15
16
|
*/
|
|
16
17
|
export declare function inertCiGate(): CiGateDeps;
|
|
18
|
+
/**
|
|
19
|
+
* Escaped-test seams with no escapes: a gate run adds no files and counts
|
|
20
|
+
* nothing durable (an in-memory pass record), so a test runs exactly the gate
|
|
21
|
+
* command unless it supplies escapes.
|
|
22
|
+
*/
|
|
23
|
+
export declare function inertEscapedTests(): EscapedTestsDeps;
|
|
17
24
|
/** A no-verdict store that records nothing durable and never holds a commit. */
|
|
18
25
|
export declare function inertNoVerdictStore(): NoVerdictStore;
|
|
19
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-deps.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"AA4EA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,iDAAiD,CAAC;AAOzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"verification-deps.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"AA4EA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,iDAAiD,CAAC;AAOzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAI3F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AAYxG,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,EAAE,2BAM3C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAaxC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,gBAAgB,CAQpD;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,IAAI,cAAc,CAcpD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;AAED,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CA0FhG;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,cAAc,CAGjG,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,qBAAqB,CAE/D;AAED,gGAAgG;AAChG,wBAAgB,0BAA0B,IAAI,uBAAuB,CAEpE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 36 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/verification-deps.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
/**
|
|
5
5
|
* Test fixture: a COMPLETE VerificationDeps of inert stubs for the verification
|
|
@@ -77,6 +77,7 @@ import { commitVerdictPullRegistry } from '../../composition/verification-contex
|
|
|
77
77
|
import { buildAttributionSeams, buildBaselineCheckoutSeams, buildVerifyCheckoutDeps, } from '../../composition/verify-checkout-context.js';
|
|
78
78
|
import { judgedCommitAppliedConfig, judgedCommitGate } from '../../verify/gate-config/judged-commit-gate.js';
|
|
79
79
|
import { memoryCiGateWaitStore } from '../../verify/ci-gate/ci-gate-wait-record.js';
|
|
80
|
+
import { memoryEscapedPassStore } from '../../verify/escaped-tests/escaped-pass-store.js';
|
|
80
81
|
import { readVerifyManifest } from '../../verify/gate-config/verification-manifest.js';
|
|
81
82
|
import { beginExplicitRun, isCurrentExplicitRun } from '../../verify/gate-verdicts/explicit-run-ledger.js';
|
|
82
83
|
import { listAncestorsWithGit } from '../../verify/gate-verdicts/judged-ancestor.js';
|
|
@@ -116,6 +117,20 @@ export function inertCiGate() {
|
|
|
116
117
|
pollIntervalMs: 0,
|
|
117
118
|
};
|
|
118
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Escaped-test seams with no escapes: a gate run adds no files and counts
|
|
122
|
+
* nothing durable (an in-memory pass record), so a test runs exactly the gate
|
|
123
|
+
* command unless it supplies escapes.
|
|
124
|
+
*/
|
|
125
|
+
export function inertEscapedTests() {
|
|
126
|
+
return {
|
|
127
|
+
listEscapes: async () => [],
|
|
128
|
+
passes: memoryEscapedPassStore(),
|
|
129
|
+
now: () => Date.now(),
|
|
130
|
+
readTimeoutMs: 1000,
|
|
131
|
+
filesAtCommit: (_repoPath, _sha, files) => [...files],
|
|
132
|
+
};
|
|
133
|
+
}
|
|
119
134
|
/** A no-verdict store that records nothing durable and never holds a commit. */
|
|
120
135
|
export function inertNoVerdictStore() {
|
|
121
136
|
return {
|
|
@@ -223,6 +238,7 @@ export function makeVerificationDeps(overrides = {}) {
|
|
|
223
238
|
readCommitVerdict: () => null,
|
|
224
239
|
noVerdicts: inertNoVerdictStore(),
|
|
225
240
|
ciGate: inertCiGate(),
|
|
241
|
+
escapedTests: inertEscapedTests(),
|
|
226
242
|
resolveCarriedVerdict: async () => null,
|
|
227
243
|
persistExplicitGateOutcome: async () => undefined,
|
|
228
244
|
persistRecordedTargets: async () => { },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-deps.js","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,wHAAwH;AACxH,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,GAE1B,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAE7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"verification-deps.js","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-failure-log.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/vitest-failure-log.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vitest-failure-log.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/vitest-failure-log.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AAEH,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAU/D"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by: packages/daemon/src/
|
|
2
|
+
// Pinned by: packages/daemon/src/merge/candidate-tip-attribution.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/attribution/verification-baseline-files.test.ts,
|
|
3
4
|
// packages/daemon/src/verify/ci-gate/ci-gate-dispatch.test.ts,
|
|
4
5
|
// packages/daemon/src/verify/failing-test-rerun/failing-test-retry.test.ts,
|
|
5
6
|
// packages/daemon/src/verify/failing-test-rerun/rerun-command.test.ts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-failure-log.js","sourceRoot":"","sources":["../../../src/testing/fixtures/vitest-failure-log.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"vitest-failure-log.js","sourceRoot":"","sources":["../../../src/testing/fixtures/vitest-failure-log.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,gFAAgF;AAChF,iEAAiE;AACjE,8EAA8E;AAC9E,yEAAyE;AACzE,yEAAyE;AACzE,gBAAgB;AAEhB;;;;;;GAMG;AAEH,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wDAAwD,CAAC;IACtF,OAAO;QACL,wBAAwB,GAAG,CAAC,MAAM,UAAU;QAC5C,EAAE;QACF,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,2CAA2C,EAAE,EAAE,CAAC,CAAC;QACzF,2BAA2B;QAC3B,gBAAgB,GAAG,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG;QACnD,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -10,12 +10,18 @@
|
|
|
10
10
|
* Routine path: when the daemon crosses into batch-safe idle (the busy->idle
|
|
11
11
|
* edge) and a newer cached version exists, install it and signal restart.
|
|
12
12
|
*
|
|
13
|
-
* When an update installs, the
|
|
14
|
-
*
|
|
13
|
+
* When an update installs, the shell restarts onto the new version under the
|
|
14
|
+
* one contract, restated here verbatim (restart-contract.test.ts checks it
|
|
15
|
+
* against the hand-over the code performs):
|
|
16
|
+
*
|
|
17
|
+
* Restart after a self-update (update/restart-contract.ts):
|
|
18
|
+
* under systemd: exit 75, spawn nothing
|
|
19
|
+
* under telora-daemon-wrapper.sh: exit 75, spawn nothing
|
|
20
|
+
* unsupervised: re-exec a detached replacement, then exit 0
|
|
21
|
+
*
|
|
22
|
+
* A supervisor that receives 75 starts the new version itself.
|
|
15
23
|
*/
|
|
16
24
|
import { type NpmInstallOptions } from './self-update.js';
|
|
17
|
-
/** Exit code that signals "restart after self-update". */
|
|
18
|
-
export declare const EXIT_CODE_UPDATE = 75;
|
|
19
25
|
/**
|
|
20
26
|
* Default cadence for sampling the idle edge. Short by design -- the 1h clock
|
|
21
27
|
* is gone; this only bounds how quickly a reached idle seam is noticed. Registry
|
|
@@ -118,7 +124,7 @@ export interface AutoUpdateDeps {
|
|
|
118
124
|
* produce a registry-call storm.
|
|
119
125
|
*/
|
|
120
126
|
getCachedCandidateVersion: () => string | null;
|
|
121
|
-
/** Called when an update is installed
|
|
127
|
+
/** Called when an update is installed; the shell restarts per update/restart-contract.ts. */
|
|
122
128
|
onUpdateReady: () => void;
|
|
123
129
|
/** Performs the install (the shell binds {@link performSelfUpdate}). */
|
|
124
130
|
performUpdate: (packageName: string) => Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/update/auto-update.ts"],"names":[],"mappings":"AAKA
|
|
1
|
+
{"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/update/auto-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,15 +14,21 @@
|
|
|
14
14
|
* Routine path: when the daemon crosses into batch-safe idle (the busy->idle
|
|
15
15
|
* edge) and a newer cached version exists, install it and signal restart.
|
|
16
16
|
*
|
|
17
|
-
* When an update installs, the
|
|
18
|
-
*
|
|
17
|
+
* When an update installs, the shell restarts onto the new version under the
|
|
18
|
+
* one contract, restated here verbatim (restart-contract.test.ts checks it
|
|
19
|
+
* against the hand-over the code performs):
|
|
20
|
+
*
|
|
21
|
+
* Restart after a self-update (update/restart-contract.ts):
|
|
22
|
+
* under systemd: exit 75, spawn nothing
|
|
23
|
+
* under telora-daemon-wrapper.sh: exit 75, spawn nothing
|
|
24
|
+
* unsupervised: re-exec a detached replacement, then exit 0
|
|
25
|
+
*
|
|
26
|
+
* A supervisor that receives 75 starts the new version itself.
|
|
19
27
|
*/
|
|
20
28
|
import { detectInstallMode, installNpmVersion } from './self-update.js';
|
|
21
29
|
import { isNewerVersion, versionDistance, resolveUpdateChannelUrl, scopedInstallCommand, } from '../config/update-channel.js';
|
|
22
30
|
import { createLogger } from '../log/daemon-log.js';
|
|
23
31
|
const log = createLogger({ module: 'auto-update' });
|
|
24
|
-
/** Exit code that signals "restart after self-update". */
|
|
25
|
-
export const EXIT_CODE_UPDATE = 75;
|
|
26
32
|
/**
|
|
27
33
|
* Default cadence for sampling the idle edge. Short by design -- the 1h clock
|
|
28
34
|
* is gone; this only bounds how quickly a reached idle seam is noticed. Registry
|
|
@@ -99,7 +105,7 @@ export function describeUpdateDecision(decision, currentVersion) {
|
|
|
99
105
|
level: 'info',
|
|
100
106
|
steady: false,
|
|
101
107
|
signature: `applied:${decision.candidate}`,
|
|
102
|
-
message: `[auto-update] Update to v${decision.candidate} installed; signaling restart
|
|
108
|
+
message: `[auto-update] Update to v${decision.candidate} installed; signaling restart`,
|
|
103
109
|
};
|
|
104
110
|
case 'failed':
|
|
105
111
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/update/auto-update.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,uEAAuE;AACvE,mDAAmD;AACnD,gBAAgB;AAEhB
|
|
1
|
+
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/update/auto-update.ts"],"names":[],"mappings":"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"}
|