@telora/daemon 0.22.181 → 0.22.187
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 +9 -3
- package/dist/audit/audit-floor-policy.d.ts +188 -0
- package/dist/audit/audit-floor-policy.d.ts.map +1 -0
- package/dist/audit/audit-floor-policy.js +353 -0
- package/dist/audit/audit-floor-policy.js.map +1 -0
- package/dist/audit/audit-prompt.d.ts +4 -177
- package/dist/audit/audit-prompt.d.ts.map +1 -1
- package/dist/audit/audit-prompt.js +6 -329
- package/dist/audit/audit-prompt.js.map +1 -1
- package/dist/completion/escalations.d.ts.map +1 -1
- package/dist/completion/escalations.js +3 -1
- package/dist/completion/escalations.js.map +1 -1
- package/dist/focus/focus-executor.d.ts.map +1 -1
- package/dist/focus/focus-executor.js +2 -0
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/session-health.d.ts.map +1 -1
- package/dist/focus/session-health.js +2 -1
- package/dist/focus/session-health.js.map +1 -1
- package/dist/focus-stage-lifecycle/planning-release.d.ts +52 -17
- package/dist/focus-stage-lifecycle/planning-release.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/planning-release.js +58 -70
- package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
- package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts +108 -0
- package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts.map +1 -0
- package/dist/focus-stage-lifecycle/ratify-bar-gate.js +174 -0
- package/dist/focus-stage-lifecycle/ratify-bar-gate.js.map +1 -0
- package/dist/git/merge-to-main.d.ts.map +1 -1
- package/dist/git/merge-to-main.js.map +1 -1
- package/dist/nexus/index.d.ts.map +1 -1
- package/dist/nexus/index.js +2 -1
- package/dist/nexus/index.js.map +1 -1
- package/dist/nexus/intake-prompt-sections.d.ts +70 -0
- package/dist/nexus/intake-prompt-sections.d.ts.map +1 -0
- package/dist/nexus/intake-prompt-sections.js +145 -0
- package/dist/nexus/intake-prompt-sections.js.map +1 -0
- package/dist/nexus/intake-spawn.d.ts +49 -13
- package/dist/nexus/intake-spawn.d.ts.map +1 -1
- package/dist/nexus/intake-spawn.js +45 -122
- package/dist/nexus/intake-spawn.js.map +1 -1
- package/dist/nexus/intake.d.ts +55 -0
- package/dist/nexus/intake.d.ts.map +1 -1
- package/dist/nexus/intake.js +62 -1
- package/dist/nexus/intake.js.map +1 -1
- package/dist/prd/arm-readiness.d.ts +93 -0
- package/dist/prd/arm-readiness.d.ts.map +1 -0
- package/dist/prd/arm-readiness.js +254 -0
- package/dist/prd/arm-readiness.js.map +1 -0
- package/dist/prd/arm-refusal.d.ts +149 -0
- package/dist/prd/arm-refusal.d.ts.map +1 -0
- package/dist/prd/arm-refusal.js +219 -0
- package/dist/prd/arm-refusal.js.map +1 -0
- package/dist/prd/controller-shared.d.ts +111 -0
- package/dist/prd/controller-shared.d.ts.map +1 -1
- package/dist/prd/controller-shared.js +3 -1
- package/dist/prd/controller-shared.js.map +1 -1
- package/dist/prd/controller.d.ts +16 -10
- package/dist/prd/controller.d.ts.map +1 -1
- package/dist/prd/controller.js +28 -35
- package/dist/prd/controller.js.map +1 -1
- package/dist/prd/frontier-arming.d.ts +151 -0
- package/dist/prd/frontier-arming.d.ts.map +1 -0
- package/dist/prd/frontier-arming.js +315 -0
- package/dist/prd/frontier-arming.js.map +1 -0
- package/dist/prd/index.d.ts +10 -1
- package/dist/prd/index.d.ts.map +1 -1
- package/dist/prd/index.js +9 -1
- package/dist/prd/index.js.map +1 -1
- package/dist/prd/scoping-prompt.d.ts +68 -0
- package/dist/prd/scoping-prompt.d.ts.map +1 -0
- package/dist/prd/scoping-prompt.js +86 -0
- package/dist/prd/scoping-prompt.js.map +1 -0
- package/dist/prompt/prompt-contradictions.d.ts +20 -1
- package/dist/prompt/prompt-contradictions.d.ts.map +1 -1
- package/dist/prompt/prompt-contradictions.js +35 -0
- package/dist/prompt/prompt-contradictions.js.map +1 -1
- package/dist/prompt/team-prompt-base.d.ts +18 -0
- package/dist/prompt/team-prompt-base.d.ts.map +1 -1
- package/dist/prompt/team-prompt-base.js +56 -11
- package/dist/prompt/team-prompt-base.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +36 -13
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +93 -16
- package/dist/prompt-sections/persona-sections.js.map +1 -1
- package/dist/prompt-sections/scoping-sections.d.ts +19 -5
- package/dist/prompt-sections/scoping-sections.d.ts.map +1 -1
- package/dist/prompt-sections/scoping-sections.js +45 -38
- package/dist/prompt-sections/scoping-sections.js.map +1 -1
- package/dist/prompt-sections/shared.d.ts +8 -0
- package/dist/prompt-sections/shared.d.ts.map +1 -1
- package/dist/prompt-sections/shared.js.map +1 -1
- package/dist/queries/focus-criteria-standing.d.ts +170 -7
- package/dist/queries/focus-criteria-standing.d.ts.map +1 -1
- package/dist/queries/focus-criteria-standing.js +143 -8
- package/dist/queries/focus-criteria-standing.js.map +1 -1
- package/dist/queries/focus-ratify-release.d.ts +43 -0
- package/dist/queries/focus-ratify-release.d.ts.map +1 -0
- package/dist/queries/focus-ratify-release.js +45 -0
- package/dist/queries/focus-ratify-release.js.map +1 -0
- package/dist/queries/focuses.d.ts +0 -10
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +0 -14
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/prd.d.ts +31 -0
- package/dist/queries/prd.d.ts.map +1 -1
- package/dist/queries/prd.js +26 -1
- package/dist/queries/prd.js.map +1 -1
- package/dist/queries/shared.js +1 -1
- package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
- package/dist/resolvers/focus-criteria-standing.js +324 -25
- package/dist/resolvers/focus-criteria-standing.js.map +1 -1
- package/dist/security/security-auto-inject.d.ts +51 -0
- package/dist/security/security-auto-inject.d.ts.map +1 -1
- package/dist/security/security-auto-inject.js +101 -11
- package/dist/security/security-auto-inject.js.map +1 -1
- package/dist/security/security-scan-engine.d.ts +4 -4
- package/dist/security/security-scan-engine.d.ts.map +1 -1
- package/dist/security/security-scan-engine.js +6 -0
- package/dist/security/security-scan-engine.js.map +1 -1
- package/dist/session/session-lineage.d.ts.map +1 -1
- package/dist/session/session-lineage.js +2 -0
- package/dist/session/session-lineage.js.map +1 -1
- package/dist/shell/constants.d.ts +5 -0
- package/dist/shell/constants.d.ts.map +1 -1
- package/dist/shell/constants.js +5 -0
- package/dist/shell/constants.js.map +1 -1
- package/dist/shell/daemon-instance.d.ts +74 -64
- package/dist/shell/daemon-instance.d.ts.map +1 -1
- package/dist/shell/daemon-instance.js +16 -121
- package/dist/shell/daemon-instance.js.map +1 -1
- package/dist/shell/health-events.js +1 -1
- package/dist/shell/health-events.js.map +1 -1
- package/dist/shell/instance-liveness.d.ts +112 -0
- package/dist/shell/instance-liveness.d.ts.map +1 -0
- package/dist/shell/instance-liveness.js +205 -0
- package/dist/shell/instance-liveness.js.map +1 -0
- package/dist/shell/schema-version-gate.d.ts +22 -0
- package/dist/shell/schema-version-gate.d.ts.map +1 -1
- package/dist/shell/schema-version-gate.js +116 -6
- package/dist/shell/schema-version-gate.js.map +1 -1
- package/dist/shell/worker-pidfile.d.ts +21 -8
- package/dist/shell/worker-pidfile.d.ts.map +1 -1
- package/dist/shell/worker-pidfile.js +38 -9
- package/dist/shell/worker-pidfile.js.map +1 -1
- package/dist/spawn/lead-launch.d.ts.map +1 -1
- package/dist/spawn/lead-launch.js +2 -1
- package/dist/spawn/lead-launch.js.map +1 -1
- package/dist/spawn/one-shot-scoping-spawn.d.ts +51 -0
- package/dist/spawn/one-shot-scoping-spawn.d.ts.map +1 -0
- package/dist/spawn/one-shot-scoping-spawn.js +156 -0
- package/dist/spawn/one-shot-scoping-spawn.js.map +1 -0
- package/dist/spawn/process-spawn.d.ts +12 -0
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +1 -1
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts +8 -0
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +15 -3
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +24 -6
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +37 -14
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/testing/arm-coverage-model.d.ts +75 -0
- package/dist/testing/arm-coverage-model.d.ts.map +1 -0
- package/dist/testing/arm-coverage-model.js +114 -0
- package/dist/testing/arm-coverage-model.js.map +1 -0
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/verification-boundary-env.d.ts +7 -2
- package/dist/verify/verification-boundary-env.d.ts.map +1 -1
- package/dist/verify/verification-boundary-env.js +9 -4
- package/dist/verify/verification-boundary-env.js.map +1 -1
- package/package.json +2 -2
|
@@ -27,12 +27,30 @@
|
|
|
27
27
|
* migration older than the recency margin, is genuine drift and trips
|
|
28
28
|
* immediately with no added latency.
|
|
29
29
|
*
|
|
30
|
+
* THE OTHER DIRECTION -- a DAEMON behind its DATABASE. The forward set
|
|
31
|
+
* (expected ∖ applied) only ever sees a database BEHIND the daemon. The
|
|
32
|
+
* reverse set (applied ∖ expected) is the state that matters when a refusal
|
|
33
|
+
* lands in the SHARED production database while the daemon binaries that
|
|
34
|
+
* satisfy it arrive host by host: the migration is live for every host the
|
|
35
|
+
* instant it is applied, and a host running an older daemon reads that as
|
|
36
|
+
* perfectly ok, because nothing it expects is missing. It then arms. The gate
|
|
37
|
+
* now computes and REPORTS that set (`unknownApplied`) so a stale host is
|
|
38
|
+
* visible before it arms.
|
|
39
|
+
*
|
|
40
|
+
* IT IS A REPORT, NOT A GATE, AND MUST STAY ONE. A database ahead of a daemon
|
|
41
|
+
* is the NORMAL state during any deploy -- the migration lands first, every
|
|
42
|
+
* host follows -- so refusing to start on a non-empty reverse set would halt
|
|
43
|
+
* EVERY host on EVERY migration. `unknownApplied` therefore never touches
|
|
44
|
+
* `ok`, in any TELORA_SCHEMA_GATE mode; startup proceeds exactly as it did
|
|
45
|
+
* before. Do not "fix" this into a hard gate.
|
|
46
|
+
*
|
|
30
47
|
* Operator runbook: docs/runbook-schema-version-gate.md
|
|
31
48
|
* Incident: 2026-05-21 escalation 4bffb633.
|
|
32
49
|
*/
|
|
33
50
|
import { getExpectedMigrations as defaultGetExpected } from '../update/build-info.js';
|
|
34
51
|
import { getAppliedMigrations as defaultGetApplied } from '../queries/migrations.js';
|
|
35
52
|
import { createLogger } from './log.js';
|
|
53
|
+
import { healthEvents } from './health-events.js';
|
|
36
54
|
import { loadEnvConfig } from '@telora/daemon-core';
|
|
37
55
|
const dlog = createLogger({ module: 'schema-gate' });
|
|
38
56
|
/**
|
|
@@ -140,6 +158,19 @@ function computeMissing(expected, applied) {
|
|
|
140
158
|
const appliedSet = new Set(applied);
|
|
141
159
|
return expected.filter((v) => !appliedSet.has(v));
|
|
142
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* The reverse set: `applied` ∖ `expected` -- migration versions the live DB
|
|
163
|
+
* carries that this daemon build does not know about. Preserves the ledger's
|
|
164
|
+
* own order so the newest unknown versions read last, as they do in the
|
|
165
|
+
* ledger.
|
|
166
|
+
*
|
|
167
|
+
* Exported so the reverse direction is testable on its own, and so a later
|
|
168
|
+
* caller can ask the question without re-deriving the set difference.
|
|
169
|
+
*/
|
|
170
|
+
export function computeUnknownApplied(expected, applied) {
|
|
171
|
+
const expectedSet = new Set(expected);
|
|
172
|
+
return applied.filter((v) => !expectedSet.has(v));
|
|
173
|
+
}
|
|
143
174
|
const defaultSleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
144
175
|
export async function checkSchemaVersion(deps = {}) {
|
|
145
176
|
const mode = deps.mode ?? resolveSchemaGateMode();
|
|
@@ -150,21 +181,36 @@ export async function checkSchemaVersion(deps = {}) {
|
|
|
150
181
|
const log = deps.log ?? ((msg) => dlog.info(msg));
|
|
151
182
|
const expectedFilenames = (deps.getExpected ?? defaultGetExpected)();
|
|
152
183
|
const expected = expectedFilenames.map(versionPrefix);
|
|
153
|
-
// Dev mode -- build-info missing or empty. Skip the gate.
|
|
184
|
+
// Dev mode -- build-info missing or empty. Skip the gate. With no expected
|
|
185
|
+
// set there is no baseline to call anything "unknown" either, so the reverse
|
|
186
|
+
// set is empty rather than "every applied migration".
|
|
154
187
|
if (expected.length === 0) {
|
|
155
|
-
return {
|
|
188
|
+
return {
|
|
189
|
+
mode, expected: [], applied: [], missing: [], unknownApplied: [],
|
|
190
|
+
ok: true, classification: 'ok', attempts: 0,
|
|
191
|
+
};
|
|
156
192
|
}
|
|
157
193
|
let applied = await getApplied();
|
|
158
194
|
let attempts = 1;
|
|
159
195
|
let missing = computeMissing(expected, applied);
|
|
196
|
+
// The reverse set is computed at every exit from the FINAL ledger read, and
|
|
197
|
+
// is never consulted by any decision below -- it rides along as a report.
|
|
160
198
|
if (missing.length === 0) {
|
|
161
|
-
return {
|
|
199
|
+
return {
|
|
200
|
+
mode, expected, applied, missing,
|
|
201
|
+
unknownApplied: computeUnknownApplied(expected, applied),
|
|
202
|
+
ok: true, classification: 'ok', attempts,
|
|
203
|
+
};
|
|
162
204
|
}
|
|
163
205
|
// Something is missing -- transient deploy tail, or genuine drift?
|
|
164
206
|
const classification = classifyMissing(missing, applied, cfg);
|
|
165
207
|
if (classification === 'drift') {
|
|
166
208
|
// Genuine drift: trip immediately, no re-poll, no added latency.
|
|
167
|
-
return {
|
|
209
|
+
return {
|
|
210
|
+
mode, expected, applied, missing,
|
|
211
|
+
unknownApplied: computeUnknownApplied(expected, applied),
|
|
212
|
+
ok: false, classification: 'drift', attempts,
|
|
213
|
+
};
|
|
168
214
|
}
|
|
169
215
|
// Transient: re-poll the ledger with bounded backoff, exiting early the
|
|
170
216
|
// moment the gap closes. Bounded by BOTH the attempt count and the total
|
|
@@ -187,17 +233,81 @@ export async function checkSchemaVersion(deps = {}) {
|
|
|
187
233
|
missing = computeMissing(expected, applied);
|
|
188
234
|
if (missing.length === 0) {
|
|
189
235
|
log(`Transient gap closed after ${repolls} re-poll(s) -- proceeding in write mode.`);
|
|
190
|
-
return {
|
|
236
|
+
return {
|
|
237
|
+
mode, expected, applied, missing,
|
|
238
|
+
unknownApplied: computeUnknownApplied(expected, applied),
|
|
239
|
+
ok: true, classification: 'transient', attempts,
|
|
240
|
+
};
|
|
191
241
|
}
|
|
192
242
|
delay = Math.min(delay * 2, MAX_REPOLL_DELAY_MS);
|
|
193
243
|
}
|
|
194
244
|
// Window exhausted and the gap remains -- treat as drift for the decision.
|
|
195
245
|
log(`[schema-gate] Transient gap did not close after ${repolls} re-poll(s) -- ${missing.length} migration(s) still missing.`);
|
|
196
|
-
return {
|
|
246
|
+
return {
|
|
247
|
+
mode, expected, applied, missing,
|
|
248
|
+
unknownApplied: computeUnknownApplied(expected, applied),
|
|
249
|
+
ok: false, classification: 'transient', attempts,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
/** Health-event code for "this daemon is older than the schema it arms against". */
|
|
253
|
+
export const DAEMON_BEHIND_DB_CODE = 'schema.daemon_behind_db';
|
|
254
|
+
/** How many unknown versions the report names inline before truncating. */
|
|
255
|
+
const MAX_NAMED_UNKNOWN = 10;
|
|
256
|
+
/**
|
|
257
|
+
* Report the REVERSE set -- the live DB carries migrations this daemon does
|
|
258
|
+
* not know about.
|
|
259
|
+
*
|
|
260
|
+
* WHERE THE RECORD LANDS, AND WHY THERE. This is a HOST-scoped startup fact
|
|
261
|
+
* ("the binary running here is older than the shared database"), so the two
|
|
262
|
+
* surfaces a sibling delivery reached for are both the wrong shape:
|
|
263
|
+
* `focus_debug_artifacts` is keyed by focus and this gate runs before any
|
|
264
|
+
* focus is known, and `daemon_connections.metadata.readOnlyMode` is the
|
|
265
|
+
* READ-ONLY state -- writing there would say the daemon stopped writing, which
|
|
266
|
+
* is exactly what this path must NOT claim. What fits is the health-event ring
|
|
267
|
+
* buffer: the heartbeat publishes it verbatim as
|
|
268
|
+
* `daemon_connections.metadata.healthEvents` on every beat (heartbeat.ts), on
|
|
269
|
+
* the row that already carries `hostname` and `daemon_version` -- so the fact
|
|
270
|
+
* lands durably, per host, next to the version it indicts, and renders in the
|
|
271
|
+
* dashboard's DaemonHealthTimeline. The buffer is a process singleton, so
|
|
272
|
+
* emitting here (the gate runs before `initHeartbeat`) is picked up by the
|
|
273
|
+
* first beat that follows, which still precedes any team spawn. No new
|
|
274
|
+
* metadata key is added, so the heartbeat-metadata classification rule is
|
|
275
|
+
* untouched: health events are process events unless they carry a productId,
|
|
276
|
+
* and this one is process-wide by construction.
|
|
277
|
+
*
|
|
278
|
+
* SEVERITY IS 'info', DELIBERATELY. The heartbeat derives `health_status` from
|
|
279
|
+
* unresolved warn/error counts, so a 'warn' here would mark every not-yet-
|
|
280
|
+
* updated host 'degraded' during every normal deploy window -- the same
|
|
281
|
+
* reasoning `config.ts` records for `product.skipped_invalid_repo`. The log
|
|
282
|
+
* line below is the loud half and stays at warn; an operator diagnosing a host
|
|
283
|
+
* reads it there.
|
|
284
|
+
*
|
|
285
|
+
* The log is the FLOOR this degrades to if the buffer is unavailable, and the
|
|
286
|
+
* record is emitted regardless of `ok`: a daemon can be behind the DB in the
|
|
287
|
+
* forward-clean case (the one this exists for) and in the drift case alike.
|
|
288
|
+
*/
|
|
289
|
+
function reportDaemonBehindDb(result) {
|
|
290
|
+
if (result.unknownApplied.length === 0)
|
|
291
|
+
return;
|
|
292
|
+
const named = result.unknownApplied.slice(-MAX_NAMED_UNKNOWN);
|
|
293
|
+
const elided = result.unknownApplied.length - named.length;
|
|
294
|
+
const list = named.join(', ') + (elided > 0 ? ` (+${elided} older)` : '');
|
|
295
|
+
const summary = `Live DB carries ${result.unknownApplied.length} migration(s) this daemon does not know: ${list}`;
|
|
296
|
+
dlog.warn(`[schema-gate] DAEMON BEHIND DB -- ${summary}. ` +
|
|
297
|
+
'Startup proceeds (a DB ahead of a daemon is the normal deploy state), but this host may ' +
|
|
298
|
+
'be missing daemon behavior the live schema now requires -- update it before it arms. ' +
|
|
299
|
+
'See docs/runbook-schema-version-gate.md.');
|
|
300
|
+
healthEvents.emit({
|
|
301
|
+
severity: 'info',
|
|
302
|
+
source: 'schema-gate',
|
|
303
|
+
code: DAEMON_BEHIND_DB_CODE,
|
|
304
|
+
message: summary,
|
|
305
|
+
});
|
|
197
306
|
}
|
|
198
307
|
export function reportSchemaGateResult(result) {
|
|
199
308
|
if (result.mode === 'off')
|
|
200
309
|
return;
|
|
310
|
+
reportDaemonBehindDb(result);
|
|
201
311
|
if (result.ok) {
|
|
202
312
|
const repolled = result.classification === 'transient'
|
|
203
313
|
? ` (transient deploy-race gap closed after ${result.attempts} ledger read(s))`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-version-gate.js","sourceRoot":"","sources":["../../src/shell/schema-version-gate.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mEAAmE;AACnE,gBAAgB;AAEhB
|
|
1
|
+
{"version":3,"file":"schema-version-gate.js","sourceRoot":"","sources":["../../src/shell/schema-version-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,14 +22,18 @@ export interface WorkerPidEntry {
|
|
|
22
22
|
* child exists so the window between `spawn()` and the pid write is not a
|
|
23
23
|
* hole in the record. `pid` is PENDING_PID until the real one lands.
|
|
24
24
|
*
|
|
25
|
-
* A reservation is never signalled (there is no pid to signal)
|
|
26
|
-
*
|
|
27
|
-
*
|
|
25
|
+
* A reservation is never signalled (there is no pid to signal): it is the one
|
|
26
|
+
* state that means "a process may exist and we cannot name it", which every
|
|
27
|
+
* reader treats as unprovable -- for as long as the claim can still improve.
|
|
28
|
+
* It is RETIRED by the retention passes once `reservedBy` names an instance
|
|
29
|
+
* that is provably gone, because at that point nothing will ever resolve it.
|
|
28
30
|
*/
|
|
29
31
|
pending?: true;
|
|
30
32
|
/**
|
|
31
|
-
* The daemon instance that made a reservation (shell/
|
|
32
|
-
* `daemonInstanceId`). Only meaningful with `pending
|
|
33
|
+
* The daemon instance that made a reservation (shell/instance-liveness.ts
|
|
34
|
+
* `daemonInstanceId`). Only meaningful with `pending`, and the field the
|
|
35
|
+
* retention filter and the session verdict both read through
|
|
36
|
+
* `isReservationInFlight`.
|
|
33
37
|
*/
|
|
34
38
|
reservedBy?: string;
|
|
35
39
|
}
|
|
@@ -102,6 +106,13 @@ export interface ReapPersistedDeps {
|
|
|
102
106
|
isGroupAlive?: (pgid: number) => boolean;
|
|
103
107
|
/** Live process start identity. Defaults to /proc (null off Linux or for a gone pid). */
|
|
104
108
|
readStartIdentity?: (pid: number) => string | null;
|
|
109
|
+
/**
|
|
110
|
+
* Is a RESERVATION's reserving daemon instance still running? Defaults to
|
|
111
|
+
* `isReservationInFlight` (shell/instance-liveness.ts), the single definition
|
|
112
|
+
* of the rule stated at {@link reserveLeadRecord}. Injectable so a test can
|
|
113
|
+
* pin both directions without real daemon pids.
|
|
114
|
+
*/
|
|
115
|
+
reservationInFlight?: (reservedBy: string | undefined) => boolean;
|
|
105
116
|
}
|
|
106
117
|
/** Outcome of a persisted-fleet reap, for logging + tests. */
|
|
107
118
|
export interface ReapPersistedResult {
|
|
@@ -161,9 +172,11 @@ export declare function reapAndClearWorkerPidfile(path?: string, deps?: ReapPers
|
|
|
161
172
|
* The graceful-stop and auto-update paths cleared it unconditionally, on the
|
|
162
173
|
* reasoning that `reapWorkerFleet` had just ended everything. It has not
|
|
163
174
|
* necessarily: that reap is bounded and best-effort, so a worker that outlived
|
|
164
|
-
* SIGKILL, one that could not be signalled, and a reservation whose spawn is
|
|
165
|
-
* flight all survive it -- and clearing here erases the record of
|
|
166
|
-
* right before a re-exec'd daemon's boot reap would have acted on
|
|
175
|
+
* SIGKILL, one that could not be signalled, and a reservation whose spawn is
|
|
176
|
+
* still in flight all survive it -- and clearing here erases the record of
|
|
177
|
+
* exactly those, right before a re-exec'd daemon's boot reap would have acted on
|
|
178
|
+
* them. (A reservation whose reserving instance is provably GONE is not a
|
|
179
|
+
* survivor: `recordedLeadStillRunning` retires it here and in the boot reap.)
|
|
167
180
|
*
|
|
168
181
|
* Same rule as {@link reapAndClearWorkerPidfile}: retain until CONFIRMED GONE.
|
|
169
182
|
* Returns the survivors it kept.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pidfile.d.ts","sourceRoot":"","sources":["../../src/shell/worker-pidfile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-pidfile.d.ts","sourceRoot":"","sources":["../../src/shell/worker-pidfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// packages/daemon/src/shell/worker-pidfile.test.ts, packages/daemon/src/spawn/lead-launch.test.ts,
|
|
7
7
|
// packages/daemon/src/spawn/lead-process-ownership.test.ts,
|
|
8
8
|
// packages/daemon/src/spawn/one-shot-process-ownership.test.ts,
|
|
9
|
+
// packages/daemon/src/spawn/resolution-agent-budget.test.ts,
|
|
9
10
|
// packages/daemon/src/spawn/spawn-team-process-ownership.test.ts,
|
|
10
11
|
// packages/daemon/src/spawn/untracked-lead-sweep.test.ts,
|
|
11
12
|
// packages/daemon/src/worktree/worktree-state.test.ts
|
|
@@ -39,10 +40,11 @@
|
|
|
39
40
|
* lead it cannot record. One daemon per host (PID lock) makes read-modify-write
|
|
40
41
|
* races a non-issue.
|
|
41
42
|
*/
|
|
42
|
-
import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'node:fs';
|
|
43
|
-
import { resolve } from 'node:path';
|
|
43
|
+
import { existsSync, readFileSync, writeFileSync, unlinkSync, mkdirSync } from 'node:fs';
|
|
44
|
+
import { resolve, dirname } from 'node:path';
|
|
44
45
|
import { resolveGlobalStateDir } from './daemon-process.js';
|
|
45
46
|
import { readProcessStartIdentity, isProcessGroupAlive } from '../spawn/process-group-kill.js';
|
|
47
|
+
import { isReservationInFlight } from './instance-liveness.js';
|
|
46
48
|
import { createLogger } from './log.js';
|
|
47
49
|
const log = createLogger({ module: 'worker-pidfile' });
|
|
48
50
|
/** The placeholder pid a reservation carries until the real one is recorded. */
|
|
@@ -169,6 +171,16 @@ export function readWorkerPidfileWithReservations(path = resolveWorkerPidfilePat
|
|
|
169
171
|
/** Write the fleet. Never throws; returns whether the bytes actually landed. */
|
|
170
172
|
function writeWorkerPidfile(entries, path) {
|
|
171
173
|
try {
|
|
174
|
+
// ESTABLISH THE PRECONDITION, do not weaken the refusal. The only code that
|
|
175
|
+
// ever created the state dir is ensureGlobalStateDir(), called at daemon
|
|
176
|
+
// STARTUP -- so any process writing the fleet record without having started
|
|
177
|
+
// a daemon on this host (a fresh install, a rebuilt VM, a CI container with
|
|
178
|
+
// HOME=/root) found no directory, ENOENT'd, returned false, and the callers
|
|
179
|
+
// correctly REFUSED the spawn. The refusal was right; the missing parent was
|
|
180
|
+
// not. 0o700 matches ensureGlobalStateDir: the fleet record is 0o600 and
|
|
181
|
+
// names this host's live processes, so its directory must not be looser.
|
|
182
|
+
// Inside the try on purpose -- a failure here still returns false.
|
|
183
|
+
mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
|
|
172
184
|
writeFileSync(path, JSON.stringify(entries), { mode: 0o600 });
|
|
173
185
|
return true;
|
|
174
186
|
}
|
|
@@ -303,7 +315,11 @@ export function reapPersistedWorkerGroups(entries, deps = {}) {
|
|
|
303
315
|
for (const entry of entries) {
|
|
304
316
|
const { pid } = entry;
|
|
305
317
|
// A reservation names no process yet: there is nothing to signal, and it is
|
|
306
|
-
// not evidence of absence either.
|
|
318
|
+
// not evidence of absence either. It stays in `skipped`. This is ALSO the
|
|
319
|
+
// first of the three reasons a reservation is unnameable by every kill path,
|
|
320
|
+
// which is what makes retiring a stranded one cost no reaper anything --
|
|
321
|
+
// the retention FILTER below decides whether the record is kept, never this
|
|
322
|
+
// loop (see `isReservationInFlight`).
|
|
307
323
|
if (entry.pending || !Number.isInteger(pid) || pid <= 1) {
|
|
308
324
|
result.skipped.push(pid);
|
|
309
325
|
continue;
|
|
@@ -380,10 +396,21 @@ export function recordedLeadStillRunning(entry, deps = {}) {
|
|
|
380
396
|
const isAlive = deps.isAlive ?? defaultIsAlive;
|
|
381
397
|
const isGroupAlive = deps.isGroupAlive ?? isProcessGroupAlive;
|
|
382
398
|
const readStartIdentity = deps.readStartIdentity ?? readProcessStartIdentity;
|
|
383
|
-
|
|
384
|
-
//
|
|
399
|
+
const reservationInFlight = deps.reservationInFlight ?? isReservationInFlight;
|
|
400
|
+
// A reservation's PROCESS cannot be confirmed gone -- it may not have been
|
|
401
|
+
// spawned yet, or may be running under a pid we never got to write. So the
|
|
402
|
+
// question is not about the process at all, it is about the INSTANCE that made
|
|
403
|
+
// the reservation: while that daemon runs, the reservation is in flight and
|
|
404
|
+
// must be kept (`launchLeadProcess` REFUSES a spawn whose record could not be
|
|
405
|
+
// reserved, so deleting a live daemon's reservation reopens the pre-spawn
|
|
406
|
+
// window the reservation exists to close). Once that instance is provably
|
|
407
|
+
// gone, nothing will EVER resolve the reservation -- no pid write, no release,
|
|
408
|
+
// no reap -- and keeping it only makes its session permanently unprovable. A
|
|
409
|
+
// reservation naming no instance at all is unattributable, and fails safe to
|
|
410
|
+
// in flight. See `isReservationInFlight` (shell/instance-liveness.ts) for why
|
|
411
|
+
// retiring a pid-0 row costs no reaper anything.
|
|
385
412
|
if (entry.pending)
|
|
386
|
-
return
|
|
413
|
+
return reservationInFlight(entry.reservedBy);
|
|
387
414
|
if (!Number.isInteger(entry.pid) || entry.pid <= 1)
|
|
388
415
|
return false;
|
|
389
416
|
// Ask the GROUP as well as the pid. A detached lead is a group leader, and its
|
|
@@ -441,9 +468,11 @@ export function reapAndClearWorkerPidfile(path = resolveWorkerPidfilePath(), dep
|
|
|
441
468
|
* The graceful-stop and auto-update paths cleared it unconditionally, on the
|
|
442
469
|
* reasoning that `reapWorkerFleet` had just ended everything. It has not
|
|
443
470
|
* necessarily: that reap is bounded and best-effort, so a worker that outlived
|
|
444
|
-
* SIGKILL, one that could not be signalled, and a reservation whose spawn is
|
|
445
|
-
* flight all survive it -- and clearing here erases the record of
|
|
446
|
-
* right before a re-exec'd daemon's boot reap would have acted on
|
|
471
|
+
* SIGKILL, one that could not be signalled, and a reservation whose spawn is
|
|
472
|
+
* still in flight all survive it -- and clearing here erases the record of
|
|
473
|
+
* exactly those, right before a re-exec'd daemon's boot reap would have acted on
|
|
474
|
+
* them. (A reservation whose reserving instance is provably GONE is not a
|
|
475
|
+
* survivor: `recordedLeadStillRunning` retires it here and in the boot reap.)
|
|
447
476
|
*
|
|
448
477
|
* Same rule as {@link reapAndClearWorkerPidfile}: retain until CONFIRMED GONE.
|
|
449
478
|
* Returns the survivors it kept.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pidfile.js","sourceRoot":"","sources":["../../src/shell/worker-pidfile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker-pidfile.js","sourceRoot":"","sources":["../../src/shell/worker-pidfile.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,sEAAsE;AACtE,iEAAiE;AACjE,4DAA4D;AAC5D,iEAAiE;AACjE,qGAAqG;AACrG,8DAA8D;AAC9D,kEAAkE;AAClE,+DAA+D;AAC/D,oEAAoE;AACpE,4DAA4D;AAC5D,wDAAwD;AACxD,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AA2CvD,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,4EAA4E;AAC5E,SAAS,mBAAmB,CAAC,CAAU;IACrC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,GAAG,GAAG,CAA4B,CAAC;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;IACrC,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,KAAK,GAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7G,IAAI,OAAO;QAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAClC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,UAAU;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,OAAO;QAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACrC,IAAI,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3C,IAAI,aAAa;QAAE,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;IACvD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;QAAE,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,wBAAwB;IACtC,OAAO,OAAO,CAAC,qBAAqB,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAe,wBAAwB,EAAE;IAEzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,kFAAkF,EACjH,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,mEAAmE,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,sEAAsE;YACtE,uEAAuE;YACvE,oEAAoE;YACpE,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,4EAA4E,CAAC,CAAC;YAC/G,OAAO,IAAI,CAAC;QACd,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,wBAAwB,EAAE;IACzE,4EAA4E;IAC5E,yEAAyE;IACzE,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,oEAAoE;IACpE,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,OAAe,wBAAwB,EAAE;IAEzC,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,gFAAgF;AAChF,SAAS,kBAAkB,CAAC,OAAyB,EAAE,IAAY;IACjE,IAAI,CAAC;QACH,4EAA4E;QAC5E,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,yEAAyE;QACzE,yEAAyE;QACzE,mEAAmE;QACnE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACjB,sEAAsE;QAClE,GAAG,CAAC,KAAK,CAAC,oEAAoE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QACnI,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAqB,EAAE,OAAe,wBAAwB,EAAE;IAClG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,WAAW;QAAE,OAAO,KAAK,CAAC;IAC3E,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,gCAAgC;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAC3G,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAuF,EACvF,OAAe,wBAAwB,EAAE;IAEzC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,gCAAgC;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7F,MAAM,KAAK,GAAmB;QAC5B,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,OAAO,EAAE,IAAI;QACb,6EAA6E;QAC7E,6EAA6E;QAC7E,iEAAiE;QACjE,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;KACvB,CAAC;IACF,IAAI,WAAW,CAAC,OAAO;QAAE,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,OAAe,wBAAwB,EAAE;IACjG,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,gCAAgC;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QAAE,OAAO;IAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC5D,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,OAAe,wBAAwB,EAAE;IACpF,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,gCAAgC;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QAAE,OAAO;IAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,OAAe,wBAAwB,EAAE;IACnE,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACjB,eAAe;QACX,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AA0CD;;;;;GAKG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAQ,GAA6B,EAAE,IAAI,KAAK,OAAO,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAyB,EACzB,OAA0B,EAAE;IAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC;IAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;IAC7E,MAAM,MAAM,GAAwB,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAEjG,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QACtB,4EAA4E;QAC5E,0EAA0E;QAC1E,6EAA6E;QAC7E,yEAAyE;QACzE,4EAA4E;QAC5E,sCAAsC;QACtC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,2EAA2E;QAC3E,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,+EAA+E;QAC/E,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,kCAAkC,GAAG,0DAA0D,CAAC,CAAC;YAC1G,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,8DAA8D,GAAG,gCAAgC,CAAC,CAAC;YAC5G,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,0EAA0E;QAC1E,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YAClD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc,CAAC,IAAmD,EAAE,GAAW;IACtF,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,0EAA0E;YAC1E,4DAA4D;YAC5D,MAAM,IAAI,GAAI,MAAgC,EAAE,IAAI,KAAK,OAAO,CAAC;YACjE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,GAAG,CAAC,IAAI,CAAC,mDAAmD,GAAG,sBAAsB,EAAE;oBACrF,UAAU,EAAE,MAAM,CAAE,QAAkB,EAAE,OAAO,IAAI,QAAQ,CAAC;oBAC5D,QAAQ,EAAE,MAAM,CAAE,MAAgB,EAAE,OAAO,IAAI,MAAM,CAAC;iBACvD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAqB,EACrB,OAA0B,EAAE;IAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,mBAAmB,CAAC;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;IAC7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,qBAAqB,CAAC;IAC9E,2EAA2E;IAC3E,2EAA2E;IAC3E,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,0EAA0E;IAC1E,+EAA+E;IAC/E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,iDAAiD;IACjD,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACjE,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,oEAAoE;IACpE,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC,CAAC,2BAA2B;IAClE,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,aAAa,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAe,wBAAwB,EAAE,EACzC,OAA0B,EAAE;IAE5B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,yEAAyE;QACzE,uEAAuE;QACvE,8CAA8C;QAC9C,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,wDAAwD,CAAC,CAAC;QAC3F,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CACN,oBAAoB,SAAS,CAAC,MAAM,yDAAyD;YAC7F,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvC,CAAC;QACF,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAe,wBAAwB,EAAE,EACzC,OAA0B,EAAE;IAE5B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,yEAAyE,CAAC,CAAC;QAC5G,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,GAAG,CAAC,IAAI,CACN,oBAAoB,SAAS,CAAC,MAAM,0DAA0D;QAC9F,2BAA2B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvH,CAAC;IACF,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,wBAAwB,EAAE;IAEzC,yEAAyE;IACzE,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,SAAS;QAC/B,wEAAwE;QACxE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO;YAAE,SAAS;QAC7D,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lead-launch.d.ts","sourceRoot":"","sources":["../../src/spawn/lead-launch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lead-launch.d.ts","sourceRoot":"","sources":["../../src/spawn/lead-launch.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAcxF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,KAAK,EAAE,MAAM,8BAA8B,CAAC;CAC7C;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IACrG,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,kDAAkD;IAClD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,SAAS,GAAE,iBAAsB,EACjC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,CA8EhD"}
|
|
@@ -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/spawn/lead-launch.test.ts
|
|
2
|
+
// Pinned by: packages/daemon/src/spawn/lead-launch.test.ts,
|
|
3
|
+
// packages/daemon/src/spawn/spawn-team-process-ownership.test.ts
|
|
3
4
|
// PINNED-BY-END
|
|
4
5
|
import { recordLeadProcess } from './lead-process-ownership.js';
|
|
5
6
|
import { endSupersededLeadProcesses } from './untracked-lead-sweep.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lead-launch.js","sourceRoot":"","sources":["../../src/spawn/lead-launch.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"lead-launch.js","sourceRoot":"","sources":["../../src/spawn/lead-launch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { DaemonConfig } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Kill a scoping agent that has not exited within this window (15 minutes).
|
|
4
|
+
*
|
|
5
|
+
* A caller's staleness window (the interval after which it will spawn a
|
|
6
|
+
* REPLACEMENT) must be strictly greater than this plus the SIGKILL grace, or a
|
|
7
|
+
* healthy long-running agent is double-spawned right as it finishes.
|
|
8
|
+
*/
|
|
9
|
+
export declare const SCOPING_AGENT_TIMEOUT_MS: number;
|
|
10
|
+
/** Grace between SIGTERM and SIGKILL when the kill timeout fires. */
|
|
11
|
+
export declare const SCOPING_AGENT_SIGKILL_GRACE_MS = 10000;
|
|
12
|
+
/** Injectable process spawn seam (overridable in tests). */
|
|
13
|
+
export interface ScopingSpawnSeam {
|
|
14
|
+
spawnProcess: (command: string, args: string[], cwd: string, env: NodeJS.ProcessEnv) => {
|
|
15
|
+
pid?: number;
|
|
16
|
+
on: (event: string, cb: (arg?: unknown) => void) => void;
|
|
17
|
+
stdin?: {
|
|
18
|
+
end: () => void;
|
|
19
|
+
} | null;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** One scoping agent to spawn: what to say to it, and who is asking. */
|
|
23
|
+
export interface OneShotScopingSpawn {
|
|
24
|
+
/**
|
|
25
|
+
* What this run is scoping, for the log line -- e.g. `request <uuid>` or
|
|
26
|
+
* `PRD overcome <uuid> (focus <uuid>)`. Never a UUID on its own: a log line
|
|
27
|
+
* that names only an id cannot be read without a second query.
|
|
28
|
+
*/
|
|
29
|
+
label: string;
|
|
30
|
+
/** The fully-built prompt (a PURE builder's output), passed as a CLI arg. */
|
|
31
|
+
prompt: string;
|
|
32
|
+
/** Logger module name, so each caller's lines stay greppable under its own tag. */
|
|
33
|
+
logModule: string;
|
|
34
|
+
/** Kill timeout override (defaults to SCOPING_AGENT_TIMEOUT_MS). */
|
|
35
|
+
timeoutMs?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Called once the process CLOSES, with its exit code (null when the code is
|
|
38
|
+
* unknown -- a signal kill, or a close event carrying no code). This is how a
|
|
39
|
+
* caller learns the run ended; the returned promise deliberately does not
|
|
40
|
+
* carry it, because it resolves minutes earlier.
|
|
41
|
+
*/
|
|
42
|
+
onExit?: (code: number | null) => void;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Spawn a one-shot scoping agent. Resolves once the process has SPAWNED
|
|
46
|
+
* (fire-and-forget); rejects only if the process fails to spawn. The
|
|
47
|
+
* close/error handlers log the outcome and invoke `onExit`; the kill timeout
|
|
48
|
+
* bounds a hung agent.
|
|
49
|
+
*/
|
|
50
|
+
export declare function spawnOneShotScopingAgent(config: DaemonConfig, request: OneShotScopingSpawn, seam?: ScopingSpawnSeam): Promise<void>;
|
|
51
|
+
//# sourceMappingURL=one-shot-scoping-spawn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"one-shot-scoping-spawn.d.ts","sourceRoot":"","sources":["../../src/spawn/one-shot-scoping-spawn.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,QAAiB,CAAC;AAEvD,qEAAqE;AACrE,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAErD,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK;QACtF,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;QACzD,KAAK,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KACpC,CAAC;CACH;AAOD,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACxC;AAOD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,gBAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CAgFf"}
|