@telora/daemon 0.19.14 → 0.19.22
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 +5 -3
- package/dist/backends/lacuna/index.d.ts +11 -0
- package/dist/backends/lacuna/index.d.ts.map +1 -0
- package/dist/backends/lacuna/index.js +11 -0
- package/dist/backends/lacuna/index.js.map +1 -0
- package/dist/backends/lacuna/launch-adapter.d.ts +100 -0
- package/dist/backends/lacuna/launch-adapter.d.ts.map +1 -0
- package/dist/backends/lacuna/launch-adapter.js +162 -0
- package/dist/backends/lacuna/launch-adapter.js.map +1 -0
- package/dist/backends/lacuna/lifecycle.d.ts +21 -0
- package/dist/backends/lacuna/lifecycle.d.ts.map +1 -0
- package/dist/backends/lacuna/lifecycle.js +45 -0
- package/dist/backends/lacuna/lifecycle.js.map +1 -0
- package/dist/backends/lacuna/routing.d.ts +31 -0
- package/dist/backends/lacuna/routing.d.ts.map +1 -0
- package/dist/backends/lacuna/routing.js +46 -0
- package/dist/backends/lacuna/routing.js.map +1 -0
- package/dist/backends/lacuna/supervisor.d.ts +81 -0
- package/dist/backends/lacuna/supervisor.d.ts.map +1 -0
- package/dist/backends/lacuna/supervisor.js +244 -0
- package/dist/backends/lacuna/supervisor.js.map +1 -0
- package/dist/completion/event.d.ts +11 -0
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +43 -2
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/terminated-work-reconcile.d.ts +72 -0
- package/dist/completion/terminated-work-reconcile.d.ts.map +1 -0
- package/dist/completion/terminated-work-reconcile.js +170 -0
- package/dist/completion/terminated-work-reconcile.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +32 -0
- package/dist/config.js.map +1 -1
- package/dist/control-state.d.ts +70 -2
- package/dist/control-state.d.ts.map +1 -1
- package/dist/control-state.js +146 -18
- package/dist/control-state.js.map +1 -1
- package/dist/focus-loop.d.ts +3 -1
- package/dist/focus-loop.d.ts.map +1 -1
- package/dist/focus-loop.js +5 -3
- package/dist/focus-loop.js.map +1 -1
- package/dist/git-activity.d.ts +10 -0
- package/dist/git-activity.d.ts.map +1 -1
- package/dist/git-activity.js +12 -1
- package/dist/git-activity.js.map +1 -1
- package/dist/git-state-detector.d.ts +21 -1
- package/dist/git-state-detector.d.ts.map +1 -1
- package/dist/git-state-detector.js +40 -21
- package/dist/git-state-detector.js.map +1 -1
- package/dist/listener.d.ts +29 -0
- package/dist/listener.d.ts.map +1 -1
- package/dist/listener.js +38 -9
- package/dist/listener.js.map +1 -1
- package/dist/merge-back-loop.d.ts.map +1 -1
- package/dist/merge-back-loop.js +37 -1
- package/dist/merge-back-loop.js.map +1 -1
- package/dist/merge-detector.d.ts +33 -0
- package/dist/merge-detector.d.ts.map +1 -1
- package/dist/merge-detector.js +54 -32
- package/dist/merge-detector.js.map +1 -1
- package/dist/spawn-environment.d.ts.map +1 -1
- package/dist/spawn-environment.js +11 -0
- package/dist/spawn-environment.js.map +1 -1
- package/dist/types/config.d.ts +26 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/unified-engine-lifecycle.d.ts.map +1 -1
- package/dist/unified-engine-lifecycle.js +7 -2
- package/dist/unified-engine-lifecycle.js.map +1 -1
- package/dist/unified-shell-config.d.ts +13 -1
- package/dist/unified-shell-config.d.ts.map +1 -1
- package/dist/unified-shell-config.js +51 -0
- package/dist/unified-shell-config.js.map +1 -1
- package/dist/unified-shell.d.ts.map +1 -1
- package/dist/unified-shell.js +19 -2
- package/dist/unified-shell.js.map +1 -1
- package/dist/worktree-focus.d.ts +27 -0
- package/dist/worktree-focus.d.ts.map +1 -1
- package/dist/worktree-focus.js +67 -42
- package/dist/worktree-focus.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lacuna sidecar lifecycle supervisor.
|
|
3
|
+
*
|
|
4
|
+
* Keeps exactly one ready Lacuna sidecar alive on the daemon host and tears it
|
|
5
|
+
* down cleanly. Mirrors the codex-mcp-proxy handle pattern (start -> handle with
|
|
6
|
+
* close()), extended for an EXTERNAL process: install-if-needed, launch,
|
|
7
|
+
* /ready-gate, /health version check, restart-on-crash, SIGTERM teardown, and
|
|
8
|
+
* single-instance enforcement (adopt a healthy instance already on the port).
|
|
9
|
+
*
|
|
10
|
+
* All I/O is injected (spawn / fetch / sleep / now / pathExists / logger) so the
|
|
11
|
+
* whole lifecycle is unit-testable with no real process or socket. Defaults bind
|
|
12
|
+
* to node:child_process.spawn and global fetch.
|
|
13
|
+
*
|
|
14
|
+
* Fail-open is structural: a ready-gate timeout resolves a NOT-ready handle
|
|
15
|
+
* (never throws), so the caller routes agents directly to the upstream API.
|
|
16
|
+
*
|
|
17
|
+
* Contract: Nexus request d0a7d9cf (delivered). See ./launch-adapter.ts.
|
|
18
|
+
*/
|
|
19
|
+
import { spawn as nodeSpawn } from 'node:child_process';
|
|
20
|
+
import { existsSync } from 'node:fs';
|
|
21
|
+
import { resolveLacunaSource, buildInstallPlan, buildLaunchCommand, LACUNA_CONTRACT_VERSION, } from './launch-adapter.js';
|
|
22
|
+
const DEFAULT_READY_POLL_MS = 500;
|
|
23
|
+
const DEFAULT_MAX_RESTARTS = 3;
|
|
24
|
+
function defaultResolvePaths(config) {
|
|
25
|
+
const root = process.env.TELORA_STATE_DIR
|
|
26
|
+
? `${process.env.TELORA_STATE_DIR}/lacuna`
|
|
27
|
+
: `${process.env.HOME ?? '/tmp'}/.telora/lacuna`;
|
|
28
|
+
void config;
|
|
29
|
+
return { sourceDir: `${root}/src`, venvDir: `${root}/venv` };
|
|
30
|
+
}
|
|
31
|
+
function resolveDeps(deps) {
|
|
32
|
+
return {
|
|
33
|
+
spawn: deps.spawn ?? ((command, args, opts) => nodeSpawn(command, args, opts)),
|
|
34
|
+
fetchImpl: deps.fetchImpl ?? fetch,
|
|
35
|
+
sleep: deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms))),
|
|
36
|
+
now: deps.now ?? (() => Date.now()),
|
|
37
|
+
pathExists: deps.pathExists ?? ((p) => existsSync(p)),
|
|
38
|
+
logger: deps.logger ?? console,
|
|
39
|
+
resolvePaths: deps.resolvePaths ?? defaultResolvePaths,
|
|
40
|
+
readyPollIntervalMs: deps.readyPollIntervalMs ?? DEFAULT_READY_POLL_MS,
|
|
41
|
+
maxRestarts: deps.maxRestarts ?? DEFAULT_MAX_RESTARTS,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
let current = null;
|
|
45
|
+
function baseUrlFor(config) {
|
|
46
|
+
return `http://${config.host}:${config.port}`;
|
|
47
|
+
}
|
|
48
|
+
/** Probe GET /health; returns parsed versions or null when not reachable/healthy. */
|
|
49
|
+
async function probeHealth(baseUrl, deps) {
|
|
50
|
+
try {
|
|
51
|
+
const res = await deps.fetchImpl(`${baseUrl}/health`, { method: 'GET' });
|
|
52
|
+
if (!res.ok)
|
|
53
|
+
return null;
|
|
54
|
+
const body = (await res.json());
|
|
55
|
+
return {
|
|
56
|
+
version: typeof body.version === 'string' ? body.version : undefined,
|
|
57
|
+
contractVersion: typeof body.contract_version === 'string' ? body.contract_version : undefined,
|
|
58
|
+
markerVersion: typeof body.marker_version === 'string' ? body.marker_version : undefined,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/** One GET /ready probe; true only on HTTP 200 {ready:true}. */
|
|
66
|
+
async function probeReady(baseUrl, deps) {
|
|
67
|
+
try {
|
|
68
|
+
const res = await deps.fetchImpl(`${baseUrl}/ready`, { method: 'GET' });
|
|
69
|
+
if (!res.ok)
|
|
70
|
+
return false;
|
|
71
|
+
const body = (await res.json());
|
|
72
|
+
return body.ready === true;
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/** Run one install step to completion; rejects on a non-zero exit. */
|
|
79
|
+
function runStep(step, deps) {
|
|
80
|
+
return new Promise((resolvePromise, reject) => {
|
|
81
|
+
const proc = deps.spawn(step.command, step.args, { cwd: step.cwd });
|
|
82
|
+
proc.once('exit', (code) => {
|
|
83
|
+
if (code === 0)
|
|
84
|
+
resolvePromise();
|
|
85
|
+
else
|
|
86
|
+
reject(new Error(`install step failed (exit ${code}): ${step.command} ${step.args.join(' ')}`));
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/** Install the artifact if the venv python is missing. */
|
|
91
|
+
async function ensureInstalled(config, paths, deps) {
|
|
92
|
+
const venvPython = `${paths.venvDir}/bin/python`;
|
|
93
|
+
if (deps.pathExists(venvPython))
|
|
94
|
+
return;
|
|
95
|
+
const source = resolveLacunaSource(config);
|
|
96
|
+
if (!source) {
|
|
97
|
+
throw new Error('Lacuna is not installed and TELORA_LACUNA_SOURCE is unset -- nothing to build from.');
|
|
98
|
+
}
|
|
99
|
+
const plan = buildInstallPlan(source, paths, { sourceExists: deps.pathExists(paths.sourceDir) });
|
|
100
|
+
deps.logger.log(`[lacuna] Installing sidecar (${plan.length} steps) from ${source.location}`);
|
|
101
|
+
for (const step of plan) {
|
|
102
|
+
await runStep(step, deps);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/** Spawn the launch command and attach the crash-restart handler. */
|
|
106
|
+
function launchProcess(state) {
|
|
107
|
+
const cmd = buildLaunchCommand(state.config, state.paths);
|
|
108
|
+
const proc = state.deps.spawn(cmd.command, cmd.args, {
|
|
109
|
+
cwd: cmd.cwd,
|
|
110
|
+
env: { ...process.env, ...cmd.env },
|
|
111
|
+
});
|
|
112
|
+
state.proc = proc;
|
|
113
|
+
proc.on('exit', (code, signal) => {
|
|
114
|
+
if (state.closing || current !== state)
|
|
115
|
+
return; // expected teardown
|
|
116
|
+
state.ready = false;
|
|
117
|
+
if (state.restarts >= state.deps.maxRestarts) {
|
|
118
|
+
state.deps.logger.warn(`[lacuna] sidecar exited (code ${code}, signal ${signal}) and restart cap ` +
|
|
119
|
+
`(${state.deps.maxRestarts}) reached; staying down (agents fail open).`);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
state.restarts += 1;
|
|
123
|
+
state.deps.logger.warn(`[lacuna] sidecar exited (code ${code}, signal ${signal}); relaunching ` +
|
|
124
|
+
`(${state.restarts}/${state.deps.maxRestarts}).`);
|
|
125
|
+
launchProcess(state);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/** Poll /ready up to the configured timeout; updates state.ready + state.health. */
|
|
129
|
+
async function awaitReady(state) {
|
|
130
|
+
const { deps, config } = state;
|
|
131
|
+
const baseUrl = baseUrlFor(config);
|
|
132
|
+
const deadline = deps.now() + config.readyTimeoutMs;
|
|
133
|
+
// First /health (versions) is best-effort and non-blocking for readiness.
|
|
134
|
+
const health = await probeHealth(baseUrl, deps);
|
|
135
|
+
if (health) {
|
|
136
|
+
state.health = health;
|
|
137
|
+
if (health.contractVersion && health.contractVersion !== LACUNA_CONTRACT_VERSION) {
|
|
138
|
+
deps.logger.warn(`[lacuna] contract_version mismatch: running ${health.contractVersion}, ` +
|
|
139
|
+
`integrated against ${LACUNA_CONTRACT_VERSION}. Proceeding (additive/back-compatible expected).`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
while (deps.now() < deadline) {
|
|
143
|
+
if (await probeReady(baseUrl, deps)) {
|
|
144
|
+
state.ready = true;
|
|
145
|
+
if (!state.health)
|
|
146
|
+
state.health = await probeHealth(baseUrl, deps);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
await deps.sleep(deps.readyPollIntervalMs);
|
|
150
|
+
}
|
|
151
|
+
// One final probe at/after the deadline before giving up.
|
|
152
|
+
if (await probeReady(baseUrl, deps)) {
|
|
153
|
+
state.ready = true;
|
|
154
|
+
if (!state.health)
|
|
155
|
+
state.health = await probeHealth(baseUrl, deps);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
deps.logger.warn(`[lacuna] /ready not satisfied within ${config.readyTimeoutMs}ms; ` +
|
|
159
|
+
'failing open (agents route direct to upstream).');
|
|
160
|
+
state.ready = false;
|
|
161
|
+
}
|
|
162
|
+
function makeHandle(state) {
|
|
163
|
+
return {
|
|
164
|
+
baseUrl: baseUrlFor(state.config),
|
|
165
|
+
port: state.config.port,
|
|
166
|
+
isReady: () => state.ready,
|
|
167
|
+
getHealth: () => state.health,
|
|
168
|
+
get adopted() {
|
|
169
|
+
return state.adopted;
|
|
170
|
+
},
|
|
171
|
+
close: async () => {
|
|
172
|
+
if (state.closing)
|
|
173
|
+
return;
|
|
174
|
+
state.closing = true;
|
|
175
|
+
if (current === state)
|
|
176
|
+
current = null;
|
|
177
|
+
// Adopted instances are owned by whoever started them -- never kill.
|
|
178
|
+
if (!state.adopted && state.proc) {
|
|
179
|
+
try {
|
|
180
|
+
state.proc.kill('SIGTERM');
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
/* already gone -- idempotent */
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
state.proc = null;
|
|
187
|
+
state.ready = false;
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Start (or adopt) the Lacuna sidecar. Returns a handle; on any soft failure
|
|
193
|
+
* (ready-gate timeout) the handle is simply not-ready so callers fail open.
|
|
194
|
+
* A second call while one is live returns the SAME handle (singleton).
|
|
195
|
+
*/
|
|
196
|
+
export async function startLacunaSidecar(config, deps = {}) {
|
|
197
|
+
if (current)
|
|
198
|
+
return current.handle;
|
|
199
|
+
const resolved = resolveDeps(deps);
|
|
200
|
+
const paths = resolved.resolvePaths(config);
|
|
201
|
+
const baseUrl = baseUrlFor(config);
|
|
202
|
+
const state = {
|
|
203
|
+
handle: undefined,
|
|
204
|
+
config,
|
|
205
|
+
deps: resolved,
|
|
206
|
+
paths,
|
|
207
|
+
proc: null,
|
|
208
|
+
ready: false,
|
|
209
|
+
health: null,
|
|
210
|
+
adopted: false,
|
|
211
|
+
closing: false,
|
|
212
|
+
restarts: 0,
|
|
213
|
+
};
|
|
214
|
+
state.handle = makeHandle(state);
|
|
215
|
+
current = state;
|
|
216
|
+
// Singleton enforcement: if a healthy Lacuna already owns the port, adopt it
|
|
217
|
+
// instead of spawning a second instance (the daemon owns this invariant).
|
|
218
|
+
const existing = await probeHealth(baseUrl, resolved);
|
|
219
|
+
if (existing) {
|
|
220
|
+
resolved.logger.log(`[lacuna] adopting existing healthy sidecar on ${baseUrl}`);
|
|
221
|
+
state.adopted = true;
|
|
222
|
+
state.health = existing;
|
|
223
|
+
state.ready = await probeReady(baseUrl, resolved);
|
|
224
|
+
return state.handle;
|
|
225
|
+
}
|
|
226
|
+
try {
|
|
227
|
+
await ensureInstalled(config, paths, resolved);
|
|
228
|
+
launchProcess(state);
|
|
229
|
+
await awaitReady(state);
|
|
230
|
+
}
|
|
231
|
+
catch (err) {
|
|
232
|
+
// Install/launch failure is fail-open: leave the handle not-ready, do not
|
|
233
|
+
// throw into the daemon startup path.
|
|
234
|
+
resolved.logger.warn(`[lacuna] start failed (${err instanceof Error ? err.message : String(err)}); ` +
|
|
235
|
+
'failing open (agents route direct).');
|
|
236
|
+
state.ready = false;
|
|
237
|
+
}
|
|
238
|
+
return state.handle;
|
|
239
|
+
}
|
|
240
|
+
/** Test-only: reset the module singleton (does NOT kill any tracked process). */
|
|
241
|
+
export function __resetLacunaSupervisorForTest() {
|
|
242
|
+
current = null;
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=supervisor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../../src/backends/lacuna/supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { takeProgressSnapshot, snapshotsEqual } from './progress-snapshot.js';
|
|
|
14
14
|
import { isInReviewWindow, isDeliveryNonAdvanceable, findNonAdvanceableDelivery } from './advanceability.js';
|
|
15
15
|
export { isInReviewWindow, isDeliveryNonAdvanceable, findNonAdvanceableDelivery };
|
|
16
16
|
export { PLANNING_NO_DELIVERIES_REASON, NO_PROGRESS_ESCALATION_REASON, NON_ADVANCEABLE_ESCALATION_REASON, NON_ADVANCEABLE_CAUSE, DELIVERY_ADVANCEMENT_STALLED_REASON, DELIVERY_ADVANCEMENT_STALLED_CAUSE, type EscalationDeps, escalatePlanningFailure, escalateNoProgress, escalateNonAdvanceable, escalateDeliveryAdvancementStalled, } from './event-escalations.js';
|
|
17
|
+
import { type ReconcileTerminatedWorkParams, type ReconcileTerminatedWorkResult } from './terminated-work-reconcile.js';
|
|
17
18
|
/**
|
|
18
19
|
* Maximum consecutive re-engagement cycles with no measurable progress before
|
|
19
20
|
* the scope-coverage guard escalates. Configurable via env so operators can
|
|
@@ -107,6 +108,16 @@ export interface CompletionEventDeps {
|
|
|
107
108
|
* the prior snapshot's) without a real git repo.
|
|
108
109
|
*/
|
|
109
110
|
readWorktreeHeadSha?: (worktreePath: string) => string | null;
|
|
111
|
+
/**
|
|
112
|
+
* Rescue a terminated team's committed work into the verify/review gate on
|
|
113
|
+
* the no-progress terminate path: safety-commit a dirty worktree, and if the
|
|
114
|
+
* focus branch carries committed work, flip each finished coding delivery's
|
|
115
|
+
* In-Progress issues -> In Review and advance coding -> verify. Returns the
|
|
116
|
+
* count reconciled; the handler escalates the no-progress team_failure ONLY
|
|
117
|
+
* when nothing was reconciled. Injected so tests drive the reconcile outcome
|
|
118
|
+
* without a real git/DB.
|
|
119
|
+
*/
|
|
120
|
+
reconcileTerminatedTeamWork?: (params: ReconcileTerminatedWorkParams) => Promise<ReconcileTerminatedWorkResult>;
|
|
110
121
|
}
|
|
111
122
|
/**
|
|
112
123
|
* Handle a 'complete' event from the CompletionDetector.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/completion/event.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAgC,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAOxE,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK9E,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,CAAC;AAclF,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,qBAAqB,EACrB,mCAAmC,EACnC,kCAAkC,EAClC,KAAK,cAAc,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/completion/event.ts"],"names":[],"mappings":"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"}
|
package/dist/completion/event.js
CHANGED
|
@@ -32,6 +32,7 @@ import { resolveAutoRemediationBudget } from '../delivery-advance-block.js';
|
|
|
32
32
|
import { escalatePlanningFailure, escalateNoProgress, escalateNonAdvanceable, escalateDeliveryAdvancementStalled, } from './event-escalations.js';
|
|
33
33
|
export { PLANNING_NO_DELIVERIES_REASON, NO_PROGRESS_ESCALATION_REASON, NON_ADVANCEABLE_ESCALATION_REASON, NON_ADVANCEABLE_CAUSE, DELIVERY_ADVANCEMENT_STALLED_REASON, DELIVERY_ADVANCEMENT_STALLED_CAUSE, escalatePlanningFailure, escalateNoProgress, escalateNonAdvanceable, escalateDeliveryAdvancementStalled, } from './event-escalations.js';
|
|
34
34
|
import { recordDeliveryAdvancementCycle } from './delivery-advancement-guard.js';
|
|
35
|
+
import { reconcileTerminatedTeamWork as defaultReconcileTerminatedTeamWork, } from './terminated-work-reconcile.js';
|
|
35
36
|
/**
|
|
36
37
|
* Maximum consecutive re-engagement cycles with no measurable progress before
|
|
37
38
|
* the scope-coverage guard escalates. Configurable via env so operators can
|
|
@@ -67,6 +68,7 @@ const defaultDeps = {
|
|
|
67
68
|
getFocusWorktree: defaultGetFocusWorktree,
|
|
68
69
|
worktreeHasUncommittedChanges: defaultWorktreeHasUncommittedChanges,
|
|
69
70
|
readWorktreeHeadSha: defaultReadWorktreeHeadSha,
|
|
71
|
+
reconcileTerminatedTeamWork: defaultReconcileTerminatedTeamWork,
|
|
70
72
|
};
|
|
71
73
|
// ── Handler ─────────────────────────────────────────────────────────────
|
|
72
74
|
/**
|
|
@@ -505,11 +507,50 @@ export async function handleCompletionEvent(ctx, deps = defaultDeps) {
|
|
|
505
507
|
`(commit-nudge attempt ${teamState.commitNudgeAttempts}/${commitNudgeBudget}).`);
|
|
506
508
|
sendMessage(liveLead, `Your focus worktree has uncommitted changes, so the daemon cannot advance ` +
|
|
507
509
|
`the delivery and will not terminate the team yet. Please commit your work in ` +
|
|
508
|
-
`${focusWorktreePath}
|
|
509
|
-
`
|
|
510
|
+
`${focusWorktreePath}, and move every finished issue to In Review (its delivery ` +
|
|
511
|
+
`advances out of coding once its work issues are Done/Verified/In Review). The ` +
|
|
512
|
+
`daemon advances automatically once the worktree is clean. (commit-nudge attempt ` +
|
|
513
|
+
`${teamState.commitNudgeAttempts}/${commitNudgeBudget})`);
|
|
510
514
|
completionDetector.reset();
|
|
511
515
|
return;
|
|
512
516
|
}
|
|
517
|
+
// ── Reconcile captured work into the verify gate ──────────────────────
|
|
518
|
+
// The commit-nudge re-wake did not fire (clean tree, OR no live lead, OR
|
|
519
|
+
// budget exhausted). Before escalating, rescue any committed work: the
|
|
520
|
+
// reconciler safety-commits a dirty worktree so the team's bytes are
|
|
521
|
+
// captured, and if the focus branch now carries committed work, it flips
|
|
522
|
+
// each finished coding delivery's In-Progress issues -> In Review and
|
|
523
|
+
// advances coding -> verify so the work re-enters the review gate instead
|
|
524
|
+
// of dead-ending in coding (the recurring stall this focus fixes). The
|
|
525
|
+
// no-progress team_failure escalation below fires ONLY when nothing was
|
|
526
|
+
// reconciled -- i.e. genuinely nothing was produced.
|
|
527
|
+
const reconcile = deps.reconcileTerminatedTeamWork ?? defaultReconcileTerminatedTeamWork;
|
|
528
|
+
let reconciled = { reconciledCount: 0, workCaptured: false };
|
|
529
|
+
try {
|
|
530
|
+
reconciled = await reconcile({
|
|
531
|
+
config: ctx.config,
|
|
532
|
+
teamState,
|
|
533
|
+
deliveries: effectiveDeliveries,
|
|
534
|
+
issues: currentIssues,
|
|
535
|
+
worktreePath: focusWorktreePath,
|
|
536
|
+
sessionId: teamState.leadSessionId ?? '',
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
catch (err) {
|
|
540
|
+
console.warn(`[focus-executor] Terminated-work reconciliation failed for "${focusName}": ${err.message}`);
|
|
541
|
+
}
|
|
542
|
+
if (reconciled.reconciledCount > 0) {
|
|
543
|
+
// Committed work re-entered the gate -- terminate cleanly, NO team_failure.
|
|
544
|
+
teamState.commitNudgeAttempts = 0;
|
|
545
|
+
teamState.noProgressCycles = updatedNoProgressCycles;
|
|
546
|
+
teamState.lastProgressSnapshot = snapshot;
|
|
547
|
+
console.log(`[focus-executor] Terminated team for "${focusName}" had committed work -- ` +
|
|
548
|
+
`reconciled ${reconciled.reconciledCount} coding delivery(ies) into verify; ` +
|
|
549
|
+
`terminating WITHOUT a team_failure escalation.`);
|
|
550
|
+
teamState.shutdownReason = 'work_complete';
|
|
551
|
+
deps.terminateTeam(focusId);
|
|
552
|
+
return;
|
|
553
|
+
}
|
|
513
554
|
// Crossed the no-progress threshold: escalate and shut the team down so
|
|
514
555
|
// a human can intervene. Reached only when the team HAS actionable work
|
|
515
556
|
// it owns -- a planning delivery to scope, or a coding delivery whose
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/completion/event.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,gBAAgB,IAAI,uBAAuB,EAC3C,4BAA4B,IAAI,mCAAmC,GAEpE,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,IAAI,8BAA8B,EACzD,oBAAoB,IAAI,2BAA2B,GACpD,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qCAAqC,IAAI,4CAA4C,EAAE,MAAM,yBAAyB,CAAC;AAChI,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9E,iFAAiF;AACjF,+EAA+E;AAC/E,+EAA+E;AAC/E,cAAc;AACd,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,CAAC;AAClF,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,6BAA6B,IAAI,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAC9G,OAAO,EAAE,mBAAmB,IAAI,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAE5E,8DAA8D;AAC9D,+EAA+E;AAC/E,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,qBAAqB,EACrB,mCAAmC,EACnC,kCAAkC,EAElC,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEjF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,aAAa,EAAE,CAAC,uCAAuC,CAAC;AAE1D,MAAM,UAAU,yCAAyC,CACvD,YAA8C,aAAa,EAAE,EAC7D,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,WAAW,GAAG,SAEnB,CAAC;IACF,IAAI,OAAO,WAAW,CAAC,6CAA6C,KAAK,QAAQ,EAAE,CAAC;QAClF,OAAO,WAAW,CAAC,6CAA6C,CAAC;IACnE,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,6CAA6C,CAAC;IAC9D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,sCAAsC,GACjD,yCAAyC,EAAE,CAAC;AA4F9C,KAAK,UAAU,2BAA2B,CACxC,MAAoB,EACpB,OAAe;IAEf,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAChF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,mBAAmB,IAAI,IAAI,CAAC;AAChF,CAAC;AAED,MAAM,WAAW,GAAwB;IACvC,kBAAkB;IAClB,cAAc;IACd,gBAAgB,EAAE,uBAAuB;IACzC,aAAa,EAAE,oBAAoB;IACnC,uBAAuB,EAAE,8BAA8B;IACvD,sBAAsB,EAAE,4CAA4C;IACpE,4BAA4B,EAAE,mCAAmC;IACjE,oBAAoB,EAAE,2BAA2B;IACjD,oBAAoB,EAAE,2BAA2B;IACjD,gBAAgB,EAAE,uBAAuB;IACzC,6BAA6B,EAAE,oCAAoC;IACnE,mBAAmB,EAAE,0BAA0B;CAChD,CAAC;AAEF,2EAA2E;AAE3E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAA2B,EAC3B,OAA4B,WAAW;IAEvC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IAExE,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;KAC7B,CAAC,CAAC;IAEH,4EAA4E;IAC5E,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,6EAA6E;IAC7E,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;QAC5B,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CACV,uCAAuC,SAAS,2BAA2B;gBAC3E,+BAA+B,CAChC,CAAC;YACF,MAAM,uBAAuB,CAAC;gBAC5B,cAAc,EAAE,SAAS,CAAC,cAAc;gBACxC,SAAS,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;gBACxC,OAAO;gBACP,SAAS;gBACT,WAAW,EAAE,SAAS,CAAC,MAAM;aAC9B,EAAE,IAAI,CAAC,CAAC;YACT,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACjE,CAAC;QACD,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC;QAChC,OAAO,CAAC,GAAG,CACT,0CAA0C,SAAS,KAAK;YACxD,GAAG,iBAAiB,CAAC,MAAM,2BAA2B,CACvD,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,4CAA4C;IAC5C,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAC5C,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,qDAAqD,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CAC7F,CAAC;YACF,wEAAwE;QAC1E,CAAC;IACH,CAAC;IACD,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QACvG,IAAI,SAAS,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACvC,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,uEAAuE;YACvE,uEAAuE;YACvE,uEAAuE;YACvE,kEAAkE;YAClE,uEAAuE;YACvE,wEAAwE;YACxE,2EAA2E;YAC3E,2EAA2E;YAC3E,uEAAuE;YACvE,4DAA4D;YAC5D,EAAE;YACF,sEAAsE;YACtE,0EAA0E;YAC1E,0EAA0E;YAC1E,2EAA2E;YAC3E,qEAAqE;YACrE,qEAAqE;YACrE,kEAAkE;YAClE,mEAAmE;YACnE,oCAAoC;YACpC,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;YAC3D,OAAO,CAAC,GAAG,CACT,+CAA+C,SAAS,MAAM,WAAW,GAAG;gBAC5E,sCAAsC,eAAe,iCAAiC;gBACtF,oCAAoC,CACrC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,oBAAoB,CAAC;oBAC9B,OAAO;oBACP,SAAS;oBACT,cAAc,EAAE,SAAS,CAAC,cAAc;oBACxC,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,SAAS,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;oBACxC,WAAW,EAAE,QAAQ;oBACrB,SAAS,EAAE,eAAe;iBAC3B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACV,6DAA6D,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CACrG,CAAC;YACJ,CAAC;YACD,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,4EAA4E;QAC5E,wEAAwE;QACxE,4EAA4E;QAC5E,uEAAuE;QACvE,OAAO,CAAC,GAAG,CACT,qBAAqB,SAAS,oDAAoD;YAClF,GAAG,WAAW,4DAA4D;YAC1E,GAAG,SAAS,CAAC,WAAW,+DAA+D;YACvF,wBAAwB,CACzB,CAAC;QACF,OAAO;IACT,CAAC;IAED,mEAAmE;IACnE,6DAA6D;IAC7D,0EAA0E;IAC1E,6EAA6E;IAC7E,uEAAuE;IACvE,mDAAmD;IACnD,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAClD,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CACT,iDAAiD,SAAS,uBAAuB,CAClF,CAAC;QACF,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,kEAAkE;IAClE,4EAA4E;IAC5E,qCAAqC;IACrC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACnC,iBAAiB;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;SAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClB,CAAC;IACF,MAAM,2BAA2B,GAAG,aAAa,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAClF,CAAC;IAEF,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,oDAAoD;IACpD,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,uEAAuE;IACvE,IAAI,mBAAmB,GAAG,iBAAiB,CAAC;IAC5C,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,uBAAuB,CAChC,GAAG,CAAC,MAAM,EACV,SAAS,EACT,SAAS,CAAC,aAAa,IAAI,EAAE,CAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,mEAAmE,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CAC3G,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,oEAAoE;QACpE,mEAAmE;QACnE,IAAI,CAAC;YACH,mBAAmB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAClD,CAAC;YACF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CACT,0EAA0E,SAAS,uBAAuB,CAC3G,CAAC;gBACF,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC;gBAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,gFAAgF,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CACxH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAClD,CAAC;IACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,mBAAmB;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;SAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClB,CAAC;IACF,MAAM,qBAAqB,GAAG,aAAa,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAC9E,CAAC;IACF,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,KAAK,UAAU,CAC9C,CAAC;IACF,MAAM,qBAAqB,GAAG,WAAW,IAAI,qBAAqB,CAAC;IAEnE,qEAAqE;IACrE,+EAA+E;IAC/E,2EAA2E;IAC3E,4EAA4E;IAC5E,yEAAyE;IACzE,wEAAwE;IACxE,8EAA8E;IAC9E,0BAA0B;IAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,IAAI,0BAA0B,CAAC;IAC3E,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,CAAC;IACzE,MAAM,YAAY,GAAG,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExF,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,qEAAqE;IACrE,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IACxF,MAAM,aAAa,GAAG,SAAS,CAAC,oBAAoB,IAAI,IAAI,CAAC;IAE7D,+EAA+E;IAC/E,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,8EAA8E;IAC9E,6DAA6D;IAE7D,6EAA6E;IAC7E,0DAA0D;IAC1D,2EAA2E;IAC3E,iEAAiE;IACjE,yEAAyE;IACzE,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,+EAA+E;IAC/E,6EAA6E;IAC7E,cAAc;IACd,EAAE;IACF,8EAA8E;IAC9E,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,+EAA+E;IAC/E,4EAA4E;IAC5E,gFAAgF;IAChF,yEAAyE;IACzE,wDAAwD;IACxD,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,KAAK,eAAe,CACnD,CAAC;IAEF,MAAM,YAAY,GAAG,0BAA0B,IAAI,aAAa,KAAK,IAAI;QACvE,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE7C,oEAAoE;IACpE,yEAAyE;IACzE,wEAAwE;IACxE,8EAA8E;IAC9E,uEAAuE;IACvE,8EAA8E;IAC9E,wEAAwE;IACxE,+EAA+E;IAC/E,+EAA+E;IAC/E,2EAA2E;IAC3E,+EAA+E;IAC/E,8EAA8E;IAC9E,6DAA6D;IAC7D,2EAA2E;IAC3E,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,iBAAiB,GACrB,aAAa,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAErE,2EAA2E;IAC3E,mEAAmE;IACnE,yEAAyE;IACzE,oCAAoC;IACpC,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,sEAAsE;IACtE,wEAAwE;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,iEAAiE;IACjE,wEAAwE;IACxE,0EAA0E;IAC1E,4EAA4E;IAC5E,sEAAsE;IACtE,qCAAqC;IACrC,IAAI,KAAK,GAA6B,IAAI,CAAC;IAC3C,IAAI,yBAAyB,CAAC,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;QAC5E,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CACtD,CAAC;QACF,KAAK,GAAG,MAAM,0BAA0B,CAAC,UAAU,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpF,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,mDAAmD;IACnD,MAAM,uBAAuB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEzF,8EAA8E;IAC9E,4EAA4E;IAC5E,uEAAuE;IACvE,uEAAuE;IACvE,gFAAgF;IAChF,IAAI,YAAY,EAAE,CAAC;QACjB,SAAS,CAAC,mBAAmB,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC;QACpC,qBAAqB;QACrB,iBAAiB;QACjB,sBAAsB,EAAE,KAAK,KAAK,IAAI;QACtC,gBAAgB,EAAE,uBAAuB;QACzC,eAAe,EAAE,gCAAgC;QACjD,uBAAuB,EAAE,qBAAqB;KAC/C,CAAC,CAAC;IAEH,MAAM,oCAAoC,GACxC,qBAAqB;QACrB,MAAM,CAAC,IAAI,KAAK,oCAAoC;QACpD,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,mBAAmB,GAAG,oCAAoC;QAC9D,CAAC,CAAC,8BAA8B,CAC9B,OAAO,EACP,mBAAmB,EACnB,sCAAsC,CACvC;QACD,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;QAC1C,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,sDAAsD,SAAS,yDAA0D,GAAa,CAAC,OAAO,EAAE,CACjJ,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,kCAAkC,CAAC;gBACvC,cAAc,EAAE,SAAS,CAAC,cAAc;gBACxC,SAAS,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;gBACxC,OAAO;gBACP,SAAS;gBACT,WAAW,EAAE,SAAS,CAAC,MAAM;gBAC7B,MAAM,EAAE,mBAAmB,CAAC,mBAAmB;gBAC/C,UAAU,EAAE,mBAAmB;aAChC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,oDAAoD,SAAS,gBAAgB;gBAC7E,kFAAkF,CACnF,CAAC;QACJ,CAAC;QACD,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,wCAAwC,CAAC,CAAC,CAAC;YAC9C,wEAAwE;YACxE,wEAAwE;YACxE,qEAAqE;YACrE,gEAAgE;YAChE,wEAAwE;YACxE,qEAAqE;YACrE,yEAAyE;YACzE,iEAAiE;YACjE,mEAAmE;YACnE,iEAAiE;YACjE,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACV,sDAAsD,SAAS,8BAA+B,GAAa,CAAC,OAAO,EAAE,CACtH,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CACV,kDAAkD,SAAS,OAAO;oBAClE,IAAI,KAAM,CAAC,IAAI,MAAM,KAAM,CAAC,eAAe,IAAI,OAAO,uBAAuB;oBAC7E,UAAU,KAAM,CAAC,sBAAsB,IAAI,MAAM,gCAAgC;oBACjF,uBAAuB,CACxB,CAAC;gBACF,MAAM,sBAAsB,CAAC;oBAC3B,cAAc,EAAE,SAAS,CAAC,cAAc;oBACxC,SAAS,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;oBACxC,OAAO;oBACP,SAAS;oBACT,WAAW,EAAE,SAAS,CAAC,MAAM;oBAC7B,KAAK,EAAE,KAAM;oBACb,SAAS,EAAE,eAAe;iBAC3B,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,kDAAkD,SAAS,gBAAgB;oBAC3E,qEAAqE,CACtE,CAAC;YACJ,CAAC;YACD,SAAS,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YAC1C,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,KAAK,8BAA8B,CAAC,CAAC,CAAC;YACpC,sEAAsE;YACtE,gEAAgE;YAChE,oEAAoE;YACpE,qEAAqE;YACrE,uEAAuE;YACvE,4CAA4C;YAC5C,OAAO,CAAC,GAAG,CACT,yDAAyD,SAAS,OAAO;gBACzE,GAAG,eAAe,CAAC,MAAM,uDAAuD;gBAChF,+EAA+E,CAChF,CAAC;YACF,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,KAAK,oCAAoC,CAAC,CAAC,CAAC;YAC1C,yEAAyE;YACzE,wEAAwE;YACxE,2EAA2E;YAC3E,uEAAuE;YACvE,2EAA2E;YAC3E,yEAAyE;YACzE,EAAE;YACF,sEAAsE;YACtE,yEAAyE;YACzE,0EAA0E;YAC1E,2EAA2E;YAC3E,wEAAwE;YACxE,uEAAuE;YACvE,qEAAqE;YACrE,sEAAsE;YACtE,oEAAoE;YACpE,MAAM,eAAe,GACnB,iBAAiB,KAAK,IAAI;gBAC1B,CAAC,IAAI,CAAC,6BAA6B,IAAI,oCAAoC,CAAC,CAC1E,iBAAiB,CAClB,CAAC;YACJ,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC;YACrC,sEAAsE;YACtE,0EAA0E;YAC1E,+EAA+E;YAC/E,MAAM,iBAAiB,GAAG,4BAA4B,EAAE,CAAC;YACzD,MAAM,WAAW,GAAG,SAAS,CAAC,mBAAmB,IAAI,CAAC,CAAC;YACvD,IAAI,eAAe,IAAI,QAAQ,IAAI,WAAW,GAAG,iBAAiB,EAAE,CAAC;gBACnE,gEAAgE;gBAChE,sEAAsE;gBACtE,qEAAqE;gBACrE,qCAAqC;gBACrC,SAAS,CAAC,mBAAmB,GAAG,WAAW,GAAG,CAAC,CAAC;gBAChD,SAAS,CAAC,oBAAoB,GAAG,QAAQ,CAAC;gBAC1C,OAAO,CAAC,IAAI,CACV,uDAAuD,SAAS,aAAa;oBAC7E,yEAAyE;oBACzE,sDAAsD;oBACtD,yBAAyB,SAAS,CAAC,mBAAmB,IAAI,iBAAiB,IAAI,CAChF,CAAC;gBACF,WAAW,CACT,QAAQ,EACR,4EAA4E;oBAC5E,+EAA+E;oBAC/E,GAAG,iBAAiB,2DAA2D;oBAC/E,gCAAgC,SAAS,CAAC,mBAAmB,IAAI,iBAAiB,GAAG,CACtF,CAAC;gBACF,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,wEAAwE;YACxE,sEAAsE;YACtE,yEAAyE;YACzE,oEAAoE;YACpE,gEAAgE;YAChE,oEAAoE;YACpE,yEAAyE;YACzE,6EAA6E;YAC7E,SAAS,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAClC,SAAS,CAAC,gBAAgB,GAAG,uBAAuB,CAAC;YACrD,SAAS,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YAC1C,OAAO,CAAC,IAAI,CACV,sDAAsD,SAAS,OAAO;gBACtE,GAAG,SAAS,CAAC,gBAAgB,2CAA2C,eAAe,CAAC,MAAM,GAAG;gBACjG,wDAAwD,CACzD,CAAC;YACF,MAAM,kBAAkB,CAAC;gBACvB,cAAc,EAAE,SAAS,CAAC,cAAc;gBACxC,SAAS,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;gBACxC,OAAO;gBACP,SAAS;gBACT,WAAW,EAAE,SAAS,CAAC,MAAM;gBAC7B,MAAM,EAAE,SAAS,CAAC,gBAAgB;gBAClC,SAAS,EAAE,eAAe;aAC3B,EAAE,IAAI,CAAC,CAAC;YACT,SAAS,CAAC,cAAc,GAAG,eAAe,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,KAAK,kBAAkB,CAAC;QACxB,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,SAAS,CAAC,gBAAgB,GAAG,uBAAuB,CAAC;YACrD,SAAS,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YAE1C,sEAAsE;YACtE,yEAAyE;YACzE,cAAc;YACd,IAAI,OAAe,CAAC;YACpB,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CACT,2CAA2C,SAAS,uBAAuB,CAC5E,CAAC;gBACF,OAAO,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,aAAa,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,iCAAiC,SAAS,QAAQ,eAAe,CAAC,MAAM,gBAAgB;oBACxF,+BAA+B,SAAS,CAAC,gBAAgB,IAAI,gCAAgC,GAAG,CACjG,CAAC;gBACF,OAAO,GAAG,wBAAwB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YACrE,CAAC;YAED,wBAAwB;YACxB,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;gBAClC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC;YACjE,CAAC;YAED,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,KAAM,EAAE,OAAO,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,gFAAgF;AAChF,6EAA6E;AAC7E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/completion/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminated-team work reconciliation.
|
|
3
|
+
*
|
|
4
|
+
* Root fix for the recurring dead-end stall: when the no-progress watchdog
|
|
5
|
+
* terminates a stuck team, the recovery machinery rescued the team's CODE
|
|
6
|
+
* (safety-commit, merge-back) but never reconciled its TRACKING STATE -- the
|
|
7
|
+
* delivery dead-ended in `coding` with issues left In Progress, so a human was
|
|
8
|
+
* required and the focus stalled permanently.
|
|
9
|
+
*
|
|
10
|
+
* This module bridges 'team failed' -> 'its committed work re-enters the loop'.
|
|
11
|
+
* On the terminate path it:
|
|
12
|
+
* 1. safety-commits a dirty worktree so the team's bytes are captured,
|
|
13
|
+
* 2. checks whether the focus branch now carries committed work (the
|
|
14
|
+
* safety-commit it just made, or the team's own earlier commits),
|
|
15
|
+
* 3. for each non-terminal coding delivery the team finished-but-never-closed
|
|
16
|
+
* (open work is exactly the In-Progress issues it left behind), flips those
|
|
17
|
+
* issues to In Review and advances the delivery coding -> verify via the
|
|
18
|
+
* existing advanceDeliveryStage path, so the verify/review gate judges
|
|
19
|
+
* completeness (approve -> done, or file defects -> verify_failed).
|
|
20
|
+
*
|
|
21
|
+
* The caller (completion/event.ts) escalates the team_failure no-progress
|
|
22
|
+
* escalation ONLY when this reconciliation captured nothing -- i.e. genuinely
|
|
23
|
+
* nothing was produced. A terminated team whose work IS committed re-enters the
|
|
24
|
+
* gate instead of dead-ending.
|
|
25
|
+
*
|
|
26
|
+
* @module completion/terminated-work-reconcile
|
|
27
|
+
*/
|
|
28
|
+
import type { DaemonConfig, FocusTeamState, FocusDeliveryInfo, FocusIssueInfo, Workflow } from '../types.js';
|
|
29
|
+
import { type DeliveryStageAdvanceParams, type StageAdvanceResult } from '../delivery-lifecycle.js';
|
|
30
|
+
export interface ReconcileTerminatedWorkParams {
|
|
31
|
+
config: DaemonConfig;
|
|
32
|
+
teamState: FocusTeamState;
|
|
33
|
+
/** The focus's deliveries (post-self-heal-advance snapshot from the caller). */
|
|
34
|
+
deliveries: FocusDeliveryInfo[];
|
|
35
|
+
/** The focus's issues (same snapshot the caller already holds). */
|
|
36
|
+
issues: FocusIssueInfo[];
|
|
37
|
+
/** Resolved focus worktree path, or null when none is registered. */
|
|
38
|
+
worktreePath: string | null;
|
|
39
|
+
/** Lead session id for the advance's transition/audit records. */
|
|
40
|
+
sessionId: string;
|
|
41
|
+
}
|
|
42
|
+
export interface ReconcileTerminatedWorkResult {
|
|
43
|
+
/**
|
|
44
|
+
* Number of coding deliveries reconciled (issues flipped + advanced to
|
|
45
|
+
* verify). When > 0 the caller terminates WITHOUT a team_failure escalation.
|
|
46
|
+
*/
|
|
47
|
+
reconciledCount: number;
|
|
48
|
+
/**
|
|
49
|
+
* Whether a commit (the safety-commit just made, or the team's own) captured
|
|
50
|
+
* work on the focus branch. Informational; the caller keys the
|
|
51
|
+
* escalate-vs-terminate decision on reconciledCount.
|
|
52
|
+
*/
|
|
53
|
+
workCaptured: boolean;
|
|
54
|
+
}
|
|
55
|
+
/** Injectable dependencies; defaults to the real implementations. */
|
|
56
|
+
export interface ReconcileTerminatedWorkDeps {
|
|
57
|
+
worktreeHasUncommittedChanges: (worktreePath: string) => boolean;
|
|
58
|
+
safetyCommitWorktree: (worktreePath: string, deliveryName: string) => string | null;
|
|
59
|
+
branchHasUnmergedCommits: (branchName: string, targetBranch: string, repoPath: string) => boolean;
|
|
60
|
+
updateIssueStatus: (issueId: string, status: string) => Promise<void>;
|
|
61
|
+
fetchEffectiveWorkflow: (deliveryId: string) => Promise<Workflow>;
|
|
62
|
+
advanceDeliveryStage: (params: DeliveryStageAdvanceParams) => Promise<StageAdvanceResult>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Reconcile a terminated team's committed work into the verify/review gate.
|
|
66
|
+
*
|
|
67
|
+
* See the module header for the full rationale. Returns the count of coding
|
|
68
|
+
* deliveries that were reconciled and whether the branch carried committed
|
|
69
|
+
* work; the caller escalates only when nothing was reconciled.
|
|
70
|
+
*/
|
|
71
|
+
export declare function reconcileTerminatedTeamWork(params: ReconcileTerminatedWorkParams, deps?: ReconcileTerminatedWorkDeps): Promise<ReconcileTerminatedWorkResult>;
|
|
72
|
+
//# sourceMappingURL=terminated-work-reconcile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminated-work-reconcile.d.ts","sourceRoot":"","sources":["../../src/completion/terminated-work-reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACT,MAAM,aAAa,CAAC;AASrB,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AASlC,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC;IAC1B,gFAAgF;IAChF,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,mEAAmE;IACnE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,qEAAqE;IACrE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,qEAAqE;AACrE,MAAM,WAAW,2BAA2B;IAC1C,6BAA6B,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IACjE,oBAAoB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACpF,wBAAwB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAClG,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,sBAAsB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,oBAAoB,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC3F;AAWD;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,IAAI,GAAE,2BAAyC,GAC9C,OAAO,CAAC,6BAA6B,CAAC,CA4IxC"}
|