@cluesmith/codev 3.2.2 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-farm/commands/workspace-recover.d.ts +31 -0
- package/dist/agent-farm/commands/workspace-recover.d.ts.map +1 -1
- package/dist/agent-farm/commands/workspace-recover.js +70 -30
- package/dist/agent-farm/commands/workspace-recover.js.map +1 -1
- package/dist/agent-farm/db/index.d.ts.map +1 -1
- package/dist/agent-farm/db/index.js +8 -2
- package/dist/agent-farm/db/index.js.map +1 -1
- package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-instances.js +154 -34
- package/dist/agent-farm/servers/tower-instances.js.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.js +28 -3
- package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
- package/dist/agent-farm/servers/tower-utils.d.ts +71 -4
- package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.js +86 -19
- package/dist/agent-farm/servers/tower-utils.js.map +1 -1
- package/dist/agent-farm/state.d.ts +7 -0
- package/dist/agent-farm/state.d.ts.map +1 -1
- package/dist/agent-farm/state.js +12 -0
- package/dist/agent-farm/state.js.map +1 -1
- package/dist/agent-farm/utils/claude-session-discovery.d.ts +12 -0
- package/dist/agent-farm/utils/claude-session-discovery.d.ts.map +1 -1
- package/dist/agent-farm/utils/claude-session-discovery.js +42 -4
- package/dist/agent-farm/utils/claude-session-discovery.js.map +1 -1
- package/dist/agent-farm/utils/harness.d.ts +15 -3
- package/dist/agent-farm/utils/harness.d.ts.map +1 -1
- package/dist/agent-farm/utils/harness.js +4 -1
- package/dist/agent-farm/utils/harness.js.map +1 -1
- package/dist/terminal/session-manager.d.ts +33 -0
- package/dist/terminal/session-manager.d.ts.map +1 -1
- package/dist/terminal/session-manager.js +62 -1
- package/dist/terminal/session-manager.js.map +1 -1
- package/package.json +4 -4
- package/skeleton/protocols/pir/prompts/implement.md +1 -1
- package/skeleton/protocols/pir/prompts/review.md +1 -1
- package/skeleton/protocols/pir/protocol.md +3 -3
|
@@ -51,6 +51,13 @@ export interface BuilderInfo {
|
|
|
51
51
|
builderId: string;
|
|
52
52
|
issueArg: string;
|
|
53
53
|
cliProtocol: string;
|
|
54
|
+
/**
|
|
55
|
+
* The architect recorded in global.db as having spawned this builder
|
|
56
|
+
* (Issue #1140). Null for legacy / pre-Spec-755 rows with no recorded
|
|
57
|
+
* value, or when no builders row exists. `deriveBuilderInfo` is pure and
|
|
58
|
+
* always sets null; `deriveBuilderInfoWithArchitect` enriches from the DB.
|
|
59
|
+
*/
|
|
60
|
+
spawnedByArchitect: string | null;
|
|
54
61
|
}
|
|
55
62
|
/**
|
|
56
63
|
* Derive the inputs needed to invoke `afx spawn <issueArg> --resume --protocol <cliProtocol>`
|
|
@@ -61,6 +68,19 @@ export interface BuilderInfo {
|
|
|
61
68
|
* projects with an `unsupported_protocol` reason.
|
|
62
69
|
*/
|
|
63
70
|
export declare function deriveBuilderInfo(state: ProjectState): BuilderInfo | null;
|
|
71
|
+
/**
|
|
72
|
+
* Enrich the derived builder info with the spawning-architect name recorded in
|
|
73
|
+
* global.db (Issue #1140). Without this, respawned builders inherit the
|
|
74
|
+
* recovery shell's CODEV_ARCHITECT_NAME and every builder in a sibling-architect
|
|
75
|
+
* workspace gets reattributed to whichever architect ran `workspace recover`.
|
|
76
|
+
*
|
|
77
|
+
* The lookup is injected so the function stays unit-testable without a real
|
|
78
|
+
* database, matching `evaluateEligibility`'s isProcessAlive/socketExists style.
|
|
79
|
+
* A three-valued lookup result (string / null legacy row / undefined no row)
|
|
80
|
+
* collapses to string-or-null: both null and undefined mean "no recorded
|
|
81
|
+
* architect" and fall back to the caller's env at respawn time.
|
|
82
|
+
*/
|
|
83
|
+
export declare function deriveBuilderInfoWithArchitect(state: ProjectState, lookupArchitect: (builderId: string) => string | null | undefined): BuilderInfo | null;
|
|
64
84
|
/**
|
|
65
85
|
* Resolve the builder's worktree path on disk, handling both the Spec-653
|
|
66
86
|
* ID-only layout and the legacy title-suffixed form.
|
|
@@ -70,5 +90,16 @@ export declare function deriveBuilderInfo(state: ProjectState): BuilderInfo | nu
|
|
|
70
90
|
*/
|
|
71
91
|
export declare function resolveWorktreePath(buildersDir: string, state: ProjectState): string | null;
|
|
72
92
|
export declare function formatRelativeAge(iso: string): string;
|
|
93
|
+
/**
|
|
94
|
+
* Build the child environment for the respawn invocation (Issue #1140).
|
|
95
|
+
*
|
|
96
|
+
* spawn.ts derives the new builder row's `spawned_by_architect` from
|
|
97
|
+
* CODEV_ARCHITECT_NAME, so the recorded architect must be forced into the
|
|
98
|
+
* child env or the respawned builder gets reattributed to the recovery
|
|
99
|
+
* shell's architect. When no architect was recorded (legacy rows), the base
|
|
100
|
+
* env passes through untouched, which reproduces the pre-fix behavior for
|
|
101
|
+
* those rows only (spawn.ts still defaults absent/blank values to 'main').
|
|
102
|
+
*/
|
|
103
|
+
export declare function respawnEnv(spawnedByArchitect: string | null, baseEnv: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
73
104
|
export declare function workspaceRecover(options?: WorkspaceRecoverOptions): Promise<void>;
|
|
74
105
|
//# sourceMappingURL=workspace-recover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-recover.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/workspace-recover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workspace-recover.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/workspace-recover.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAcnE,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,sBAAsB,GACtB,kBAAkB,GAClB,gBAAgB,GAChB,OAAO,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C;AAuBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAyBhF;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI,CAmBzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,GAChE,WAAW,GAAG,IAAI,CAIpB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAkB3F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAcrD;AA2CD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,kBAAkB,EAAE,MAAM,GAAG,IAAI,EACjC,OAAO,EAAE,MAAM,CAAC,UAAU,GACzB,MAAM,CAAC,UAAU,CAKnB;AAoBD,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H3F"}
|
|
@@ -9,6 +9,7 @@ import { logger } from '../utils/logger.js';
|
|
|
9
9
|
import { buildAgentName, stripLeadingZeros } from '../utils/agent-names.js';
|
|
10
10
|
import { processExists, getTerminalSessionsForWorkspace } from '../servers/tower-terminals.js';
|
|
11
11
|
import { closeGlobalDb } from '../db/index.js';
|
|
12
|
+
import { lookupBuilderSpawningArchitect } from '../state.js';
|
|
12
13
|
import { listAllProjects } from '../../commands/porch/state.js';
|
|
13
14
|
import { confirm } from '../../lib/cli-prompts.js';
|
|
14
15
|
const TERMINAL_PHASES = new Set(['verified', 'complete']);
|
|
@@ -98,14 +99,34 @@ export function deriveBuilderInfo(state) {
|
|
|
98
99
|
builderId: buildAgentName('bugfix', numericId),
|
|
99
100
|
issueArg: numericId,
|
|
100
101
|
cliProtocol: 'bugfix',
|
|
102
|
+
spawnedByArchitect: null,
|
|
101
103
|
};
|
|
102
104
|
}
|
|
103
105
|
return {
|
|
104
106
|
builderId: buildAgentName('spec', state.id, state.protocol),
|
|
105
107
|
issueArg: stripLeadingZeros(state.id),
|
|
106
108
|
cliProtocol: state.protocol,
|
|
109
|
+
spawnedByArchitect: null,
|
|
107
110
|
};
|
|
108
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Enrich the derived builder info with the spawning-architect name recorded in
|
|
114
|
+
* global.db (Issue #1140). Without this, respawned builders inherit the
|
|
115
|
+
* recovery shell's CODEV_ARCHITECT_NAME and every builder in a sibling-architect
|
|
116
|
+
* workspace gets reattributed to whichever architect ran `workspace recover`.
|
|
117
|
+
*
|
|
118
|
+
* The lookup is injected so the function stays unit-testable without a real
|
|
119
|
+
* database, matching `evaluateEligibility`'s isProcessAlive/socketExists style.
|
|
120
|
+
* A three-valued lookup result (string / null legacy row / undefined no row)
|
|
121
|
+
* collapses to string-or-null: both null and undefined mean "no recorded
|
|
122
|
+
* architect" and fall back to the caller's env at respawn time.
|
|
123
|
+
*/
|
|
124
|
+
export function deriveBuilderInfoWithArchitect(state, lookupArchitect) {
|
|
125
|
+
const base = deriveBuilderInfo(state);
|
|
126
|
+
if (base === null)
|
|
127
|
+
return null;
|
|
128
|
+
return { ...base, spawnedByArchitect: lookupArchitect(base.builderId) ?? null };
|
|
129
|
+
}
|
|
109
130
|
/**
|
|
110
131
|
* Resolve the builder's worktree path on disk, handling both the Spec-653
|
|
111
132
|
* ID-only layout and the legacy title-suffixed form.
|
|
@@ -180,12 +201,28 @@ function printPreview(rows) {
|
|
|
180
201
|
], widths);
|
|
181
202
|
}
|
|
182
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Build the child environment for the respawn invocation (Issue #1140).
|
|
206
|
+
*
|
|
207
|
+
* spawn.ts derives the new builder row's `spawned_by_architect` from
|
|
208
|
+
* CODEV_ARCHITECT_NAME, so the recorded architect must be forced into the
|
|
209
|
+
* child env or the respawned builder gets reattributed to the recovery
|
|
210
|
+
* shell's architect. When no architect was recorded (legacy rows), the base
|
|
211
|
+
* env passes through untouched, which reproduces the pre-fix behavior for
|
|
212
|
+
* those rows only (spawn.ts still defaults absent/blank values to 'main').
|
|
213
|
+
*/
|
|
214
|
+
export function respawnEnv(spawnedByArchitect, baseEnv) {
|
|
215
|
+
if (spawnedByArchitect === null) {
|
|
216
|
+
return baseEnv;
|
|
217
|
+
}
|
|
218
|
+
return { ...baseEnv, CODEV_ARCHITECT_NAME: spawnedByArchitect };
|
|
219
|
+
}
|
|
183
220
|
async function respawnBuilder(info) {
|
|
184
221
|
// Use the current node binary and CLI entry point so the respawn invocation
|
|
185
222
|
// matches the install method this command was started under (npm global,
|
|
186
223
|
// npx, dev script, etc.) instead of relying on PATH lookup of 'afx'.
|
|
187
224
|
await new Promise((resolvePromise, rejectPromise) => {
|
|
188
|
-
const child = spawn(process.execPath, [process.argv[1], 'spawn', info.issueArg, '--resume', '--protocol', info.cliProtocol], { stdio: 'inherit' });
|
|
225
|
+
const child = spawn(process.execPath, [process.argv[1], 'spawn', info.issueArg, '--resume', '--protocol', info.cliProtocol], { stdio: 'inherit', env: respawnEnv(info.spawnedByArchitect, process.env) });
|
|
189
226
|
child.on('error', rejectPromise);
|
|
190
227
|
child.on('exit', (code) => {
|
|
191
228
|
if (code === 0)
|
|
@@ -214,40 +251,43 @@ export async function workspaceRecover(options = {}) {
|
|
|
214
251
|
logger.info('No porch projects found.');
|
|
215
252
|
return;
|
|
216
253
|
}
|
|
217
|
-
|
|
254
|
+
// All global.db reads (terminal sessions + per-builder architect lookups)
|
|
255
|
+
// happen inside this try so the connection is closed before any child
|
|
256
|
+
// `afx spawn` process is launched.
|
|
257
|
+
let allRows;
|
|
218
258
|
try {
|
|
219
|
-
sessions = getTerminalSessionsForWorkspace(config.workspaceRoot);
|
|
259
|
+
const sessions = getTerminalSessionsForWorkspace(config.workspaceRoot);
|
|
260
|
+
// role_id has no UNIQUE constraint in the schema, so collect every matching
|
|
261
|
+
// row per builder id rather than collapsing to last-write-wins.
|
|
262
|
+
const sessionsByRoleId = new Map();
|
|
263
|
+
for (const s of sessions) {
|
|
264
|
+
if (s.type !== 'builder' || !s.role_id)
|
|
265
|
+
continue;
|
|
266
|
+
const bucket = sessionsByRoleId.get(s.role_id);
|
|
267
|
+
if (bucket)
|
|
268
|
+
bucket.push(s);
|
|
269
|
+
else
|
|
270
|
+
sessionsByRoleId.set(s.role_id, [s]);
|
|
271
|
+
}
|
|
272
|
+
allRows = projects.map(({ state }) => {
|
|
273
|
+
const builderInfo = deriveBuilderInfoWithArchitect(state, (builderId) => lookupBuilderSpawningArchitect(builderId, config.workspaceRoot));
|
|
274
|
+
const matchingSessions = builderInfo ? sessionsByRoleId.get(builderInfo.builderId) ?? [] : [];
|
|
275
|
+
const worktreePath = resolveWorktreePath(config.buildersDir, state);
|
|
276
|
+
const ageDays = (Date.now() - Date.parse(state.updated_at)) / 86_400_000;
|
|
277
|
+
const eligibility = evaluateEligibility({
|
|
278
|
+
state, builderInfo,
|
|
279
|
+
sessions: matchingSessions,
|
|
280
|
+
worktreeExists: worktreePath !== null,
|
|
281
|
+
ageDays, maxAgeDays, includeStale,
|
|
282
|
+
isProcessAlive: processExists,
|
|
283
|
+
socketExists: existsSync,
|
|
284
|
+
});
|
|
285
|
+
return { state, builderInfo, worktreePath, eligibility, ageDays };
|
|
286
|
+
});
|
|
220
287
|
}
|
|
221
288
|
finally {
|
|
222
289
|
closeGlobalDb();
|
|
223
290
|
}
|
|
224
|
-
// role_id has no UNIQUE constraint in the schema, so collect every matching
|
|
225
|
-
// row per builder id rather than collapsing to last-write-wins.
|
|
226
|
-
const sessionsByRoleId = new Map();
|
|
227
|
-
for (const s of sessions) {
|
|
228
|
-
if (s.type !== 'builder' || !s.role_id)
|
|
229
|
-
continue;
|
|
230
|
-
const bucket = sessionsByRoleId.get(s.role_id);
|
|
231
|
-
if (bucket)
|
|
232
|
-
bucket.push(s);
|
|
233
|
-
else
|
|
234
|
-
sessionsByRoleId.set(s.role_id, [s]);
|
|
235
|
-
}
|
|
236
|
-
const allRows = projects.map(({ state }) => {
|
|
237
|
-
const builderInfo = deriveBuilderInfo(state);
|
|
238
|
-
const matchingSessions = builderInfo ? sessionsByRoleId.get(builderInfo.builderId) ?? [] : [];
|
|
239
|
-
const worktreePath = resolveWorktreePath(config.buildersDir, state);
|
|
240
|
-
const ageDays = (Date.now() - Date.parse(state.updated_at)) / 86_400_000;
|
|
241
|
-
const eligibility = evaluateEligibility({
|
|
242
|
-
state, builderInfo,
|
|
243
|
-
sessions: matchingSessions,
|
|
244
|
-
worktreeExists: worktreePath !== null,
|
|
245
|
-
ageDays, maxAgeDays, includeStale,
|
|
246
|
-
isProcessAlive: processExists,
|
|
247
|
-
socketExists: existsSync,
|
|
248
|
-
});
|
|
249
|
-
return { state, builderInfo, worktreePath, eligibility, ageDays };
|
|
250
|
-
});
|
|
251
291
|
// By default the preview hides projects beyond the recency window — for a
|
|
252
292
|
// large workspace the stale tail dominates the table and obscures the few
|
|
253
293
|
// rows the operator actually cares about. --include-stale shows everything.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-recover.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/workspace-recover.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,6DAA6D;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAC1D,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,iFAAiF;AACjF,kFAAkF;AAClF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAgC/E;;;;;;;;;GASG;AACH,SAAS,cAAc,CACrB,OAA0B,EAC1B,cAAwC,EACxC,YAAyC;IAEzC,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IAC3D,MAAM,EACJ,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAC/E,cAAc,EAAE,YAAY,GAC7B,GAAG,MAAM,CAAC;IAEX,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACzD,CAAC;IACD,8EAA8E;IAC9E,4EAA4E;IAC5E,uEAAuE;IACvE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,YAAY,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC9C,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,QAAQ;SACtB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC3D,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,WAAW,EAAE,KAAK,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,KAAmB;IAC1E,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjD,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;IACvD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;IACxC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,OAAO,CAAC;IACvC,0EAA0E;IAC1E,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,uCAAuC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;IACxC,OAAO,GAAG,IAAI,OAAO,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAAC,MAAwB;IAC3C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC;QACnC,KAAK,sBAAsB,CAAC,CAAC,OAAO,sBAAsB,CAAC;QAC3D,KAAK,kBAAkB,CAAC,CAAC,OAAO,kBAAkB,CAAC;QACnD,KAAK,gBAAgB,CAAC,CAAC,OAAO,gBAAgB,CAAC;QAC/C,KAAK,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC;IAC/B,CAAC;AACH,CAAC;AAUD,SAAS,YAAY,CAAC,IAAkB;IACtC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/E,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ;YACrC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpF,MAAM,CAAC,GAAG,CACR;YACE,GAAG,CAAC,KAAK,CAAC,EAAE;YACZ,GAAG,CAAC,KAAK,CAAC,QAAQ;YAClB,GAAG,CAAC,KAAK,CAAC,KAAK;YACf,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;YACvC,MAAM;YACN,MAAM;SACP,EACD,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAiB;IAC7C,4EAA4E;IAC5E,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EACrF,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,KAAK,CAAC;gBAAE,cAAc,EAAE,CAAC;;gBAC5B,aAAa,CAAC,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAmC,EAAE;IAC1E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,oBAAoB,CAAC;IAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IAErC,MAAM,CAAC,MAAM,CAAC,oBAAoB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,YAAY;QAAE,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,UAAU,SAAS,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE;QACrD,YAAY,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;YAChC,MAAM,CAAC,KAAK,CAAC,uBAAuB,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzG,CAAC;KACF,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,IAAI,QAA6B,CAAC;IAClC,IAAI,CAAC;QACH,QAAQ,GAAG,+BAA+B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC;YAAS,CAAC;QACT,aAAa,EAAE,CAAC;IAClB,CAAC;IACD,4EAA4E;IAC5E,gEAAgE;IAChE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,SAAS;QACjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YACtB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAiB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC;QACzE,MAAM,WAAW,GAAG,mBAAmB,CAAC;YACtC,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,gBAAgB;YAC1B,cAAc,EAAE,YAAY,KAAK,IAAI;YACrC,OAAO,EAAE,UAAU,EAAE,YAAY;YACjC,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAE7D,YAAY,CAAC,WAAW,CAAC,CAAC;IAC1B,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,0BAA0B,UAAU,oDAAoD,CAAC,CAAC;IAC3H,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAmF,EAAE,CACrF,CAAC,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CACnD,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,MAAM,MAAM,WAAW,CAAC,MAAM,aAAa,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;IAC1G,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,MAAM,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,CAAC,MAAM,cAAc,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,sBAAsB,QAAQ,CAAC,MAAM,cAAc,EAAE,KAAK,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,WAAW,CAAC,SAAS,WAAW,GAAG,CAAC,WAAW,CAAC,QAAQ,KAAK,GAAG,CAAC,WAAW,CAAC,WAAW,MAAM,CAAC,CAAC;QAC9H,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtC,SAAS,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,WAAW,CAAC,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"workspace-recover.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/workspace-recover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/db/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/db/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AA+CtC;;;;;;;;;GASG;AACH,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAEzC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAK/C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAMxC;AA8ZD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,WAAW,EACX,SAAS,EACT,MAAM,EACN,YAAY,GACb,MAAM,YAAY,CAAC"}
|
|
@@ -31,8 +31,14 @@ function configurePragmas(db) {
|
|
|
31
31
|
if (journalMode !== 'wal') {
|
|
32
32
|
console.warn('[warn] WAL mode unavailable, using DELETE mode (concurrency limited)');
|
|
33
33
|
}
|
|
34
|
-
//
|
|
35
|
-
|
|
34
|
+
// FULL synchronous mode: fsync the WAL on every commit. Under NORMAL, a
|
|
35
|
+
// commit is acknowledged before the WAL reaches disk, so an OS crash or
|
|
36
|
+
// power loss can silently roll back recently committed transactions. For a
|
|
37
|
+
// registry of desired state (architect rows drive respawn-on-launch, Issue
|
|
38
|
+
// #1150) a lost delete resurrects an agent the user removed. Write rate on
|
|
39
|
+
// this DB is lifecycle events only, so the per-commit fsync cost is
|
|
40
|
+
// negligible next to that durability guarantee.
|
|
41
|
+
db.pragma('synchronous = FULL');
|
|
36
42
|
// 5 second timeout when waiting for locks
|
|
37
43
|
db.pragma('busy_timeout = 5000');
|
|
38
44
|
// Enable foreign key constraints
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent-farm/db/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,8EAA8E;AAC9E,2EAA2E;AAC3E,sDAAsD;AACtD,IAAI,SAAS,GAA6B,IAAI,CAAC;AAE/C;;GAEG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,EAAqB;IAC7C,uEAAuE;IACvE,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACvF,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent-farm/db/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tower-instances.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-instances.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"tower-instances.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-instances.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,12 +12,11 @@ import { exec } from 'node:child_process';
|
|
|
12
12
|
import { promisify } from 'node:util';
|
|
13
13
|
import { homedir } from 'node:os';
|
|
14
14
|
import { encodeWorkspacePath } from '../lib/tower-client.js';
|
|
15
|
-
import { getArchitectHarness } from '../utils/config.js';
|
|
16
15
|
import { loadConfig } from '../../lib/config.js';
|
|
17
16
|
const execAsync = promisify(exec);
|
|
18
17
|
import { getGlobalDb } from '../db/index.js';
|
|
19
18
|
import { defaultSessionOptions } from '../../terminal/index.js';
|
|
20
|
-
import { getWorkspaceName, isTempDirectory, resolveArchitectLaunch, } from './tower-utils.js';
|
|
19
|
+
import { getWorkspaceName, isTempDirectory, resolveArchitectLaunch, siblingRegistrationIsLive, buildArchitectCrashLoopFallback, } from './tower-utils.js';
|
|
21
20
|
import { autoNumberArchitectName, validateArchitectName, DEFAULT_ARCHITECT_NAME, } from '../utils/architect-name.js';
|
|
22
21
|
import { setArchitect, setArchitectByName, getArchitects, getArchitectByName } from '../state.js';
|
|
23
22
|
// ============================================================================
|
|
@@ -303,6 +302,37 @@ export async function getDirectorySuggestions(inputPath) {
|
|
|
303
302
|
// ============================================================================
|
|
304
303
|
// Instance lifecycle
|
|
305
304
|
// ============================================================================
|
|
305
|
+
/**
|
|
306
|
+
* Issue #1150: liveness evidence for a persisted sibling architect row. A
|
|
307
|
+
* matching `terminal_sessions` row means the sibling had a real terminal as of
|
|
308
|
+
* the last Tower run (reconcileTerminalSessions sweeps stale rows at boot, so
|
|
309
|
+
* survivors are meaningful). Rows are saved under the resolved workspace path,
|
|
310
|
+
* but accept either form for symlink safety. A read failure returns false and
|
|
311
|
+
* defers to the session-artifact check.
|
|
312
|
+
*/
|
|
313
|
+
function hasArchitectTerminalSession(name, resolvedPath, workspacePath) {
|
|
314
|
+
try {
|
|
315
|
+
const row = getGlobalDb().prepare("SELECT 1 FROM terminal_sessions WHERE type = 'architect' AND role_id = ? AND workspace_path IN (?, ?) LIMIT 1").get(name, resolvedPath, workspacePath);
|
|
316
|
+
return row !== undefined;
|
|
317
|
+
}
|
|
318
|
+
catch {
|
|
319
|
+
return false;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Issue #1150: ids of this architect's persisted terminal_sessions rows, for
|
|
324
|
+
* the removeArchitect stale-state purge. A read failure returns [] — the purge
|
|
325
|
+
* then covers whatever it can see.
|
|
326
|
+
*/
|
|
327
|
+
function findArchitectTerminalSessionIds(name, resolvedPath, workspacePath) {
|
|
328
|
+
try {
|
|
329
|
+
const rows = getGlobalDb().prepare("SELECT id FROM terminal_sessions WHERE type = 'architect' AND role_id = ? AND workspace_path IN (?, ?)").all(name, resolvedPath, workspacePath);
|
|
330
|
+
return rows.map((r) => r.id);
|
|
331
|
+
}
|
|
332
|
+
catch {
|
|
333
|
+
return [];
|
|
334
|
+
}
|
|
335
|
+
}
|
|
306
336
|
/**
|
|
307
337
|
* Launch a new agent-farm instance.
|
|
308
338
|
* Phase 4 (Spec 0090): Tower manages terminals directly, no dashboard-server.
|
|
@@ -379,40 +409,33 @@ export async function launchInstance(workspacePath) {
|
|
|
379
409
|
// Parse command string to separate command and args, inject role prompt
|
|
380
410
|
const cmdParts = architectCmd.split(/\s+/);
|
|
381
411
|
const cmd = cmdParts[0];
|
|
382
|
-
// Issue #832: resume main's persisted conversation when its
|
|
383
|
-
//
|
|
384
|
-
//
|
|
385
|
-
//
|
|
412
|
+
// Issue #832 / #1145: resume main's persisted conversation ONLY when its
|
|
413
|
+
// workspace-scoped row carries a session id (which resolveArchitectLaunch
|
|
414
|
+
// additionally ownership-verifies against the on-disk session store);
|
|
415
|
+
// anything else spawns fresh with a newly minted id, persisted on the
|
|
416
|
+
// architect row below so the next restart resumes it. This block only
|
|
417
|
+
// handles `main`; sibling architects resume the same way via the
|
|
418
|
+
// reconciliation loop at the end of launchInstance → addArchitect,
|
|
419
|
+
// which reads each sibling's own row.
|
|
386
420
|
//
|
|
387
|
-
//
|
|
388
|
-
//
|
|
389
|
-
//
|
|
390
|
-
//
|
|
391
|
-
//
|
|
392
|
-
//
|
|
393
|
-
//
|
|
394
|
-
//
|
|
395
|
-
//
|
|
396
|
-
//
|
|
397
|
-
//
|
|
398
|
-
//
|
|
399
|
-
// sources, so a failed read of one must not disable the other (e.g. a
|
|
400
|
-
// state.db hiccup reading the row shouldn't suppress sole-architect
|
|
401
|
-
// discovery). Each gets its own try.
|
|
421
|
+
// The mtime-based jsonl-discovery fallback that used to run here for
|
|
422
|
+
// legacy pre-#832 rows was removed by #1145: on a fresh workspace
|
|
423
|
+
// (`codev adopt` / first touch) it resumed whatever Claude conversation
|
|
424
|
+
// the user last held in this directory — hijacking personal sessions,
|
|
425
|
+
// and roleless too, since the resume path skips role injection. Even
|
|
426
|
+
// row-gated, mtime cannot distinguish the architect's last session from
|
|
427
|
+
// a newer personal one in the same cwd, so the fallback is gone rather
|
|
428
|
+
// than re-gated. A legacy row without an id costs one fresh spawn, then
|
|
429
|
+
// self-heals onto the stored-UUID path. Discovery (`buildResume`)
|
|
430
|
+
// survives for builder resume only, where the worktree cwd is private.
|
|
431
|
+
// A global.db read failure also degrades to a fresh spawn — never
|
|
432
|
+
// resume on uncertainty.
|
|
402
433
|
let storedSessionId = null;
|
|
403
434
|
try {
|
|
404
435
|
storedSessionId = getArchitectByName(resolvedPath, DEFAULT_ARCHITECT_NAME)?.sessionId ?? null;
|
|
405
436
|
}
|
|
406
|
-
catch { /*
|
|
407
|
-
|
|
408
|
-
try {
|
|
409
|
-
if (getArchitects(resolvedPath).length <= 1) {
|
|
410
|
-
storedSessionId = getArchitectHarness(workspacePath).buildResume?.(workspacePath)?.sessionId ?? null;
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
catch { /* discovery unavailable — spawn fresh */ }
|
|
414
|
-
}
|
|
415
|
-
const { args: cmdArgs, env: harnessEnv, sessionId: mainSessionId, resumed } = resolveArchitectLaunch({
|
|
437
|
+
catch { /* global.db unreadable — spawn fresh */ }
|
|
438
|
+
const { args: cmdArgs, env: harnessEnv, sessionId: mainSessionId, resumed, fallback } = resolveArchitectLaunch({
|
|
416
439
|
workspacePath,
|
|
417
440
|
name: DEFAULT_ARCHITECT_NAME,
|
|
418
441
|
baseArgs: cmdParts.slice(1),
|
|
@@ -436,12 +459,27 @@ export async function launchInstance(workspacePath) {
|
|
|
436
459
|
if (_deps.shellperManager) {
|
|
437
460
|
try {
|
|
438
461
|
const sessionId = crypto.randomUUID();
|
|
462
|
+
// Issue #1149: if the resumed conversation fast-fails at runtime
|
|
463
|
+
// (jsonl vanished after the bake, or corrupt), degrade to a fresh
|
|
464
|
+
// launch instead of burning all 50 restarts on identical args.
|
|
465
|
+
let crashLoopFallback;
|
|
466
|
+
if (resumed && storedSessionId && fallback) {
|
|
467
|
+
crashLoopFallback = buildArchitectCrashLoopFallback({
|
|
468
|
+
workspacePath: resolvedPath,
|
|
469
|
+
architectName: DEFAULT_ARCHITECT_NAME,
|
|
470
|
+
storedSessionId,
|
|
471
|
+
fallback,
|
|
472
|
+
baseEnv: cleanEnv,
|
|
473
|
+
log: _deps.log,
|
|
474
|
+
});
|
|
475
|
+
}
|
|
439
476
|
const client = await _deps.shellperManager.createSession({
|
|
440
477
|
sessionId,
|
|
441
478
|
command: cmd,
|
|
442
479
|
args: cmdArgs,
|
|
443
480
|
cwd: workspacePath,
|
|
444
481
|
env: cleanEnv,
|
|
482
|
+
crashLoopFallback,
|
|
445
483
|
...defaultSessionOptions({ restartOnExit: true, restartDelay: 2000, maxRestarts: 50 }),
|
|
446
484
|
});
|
|
447
485
|
// Get replay data and shellper info
|
|
@@ -589,6 +627,14 @@ export async function launchInstance(workspacePath) {
|
|
|
589
627
|
//
|
|
590
628
|
// Idempotency: skip names already in `entry.architects` so a re-entrant
|
|
591
629
|
// launch (or a race with `reconcileTerminalSessions`) doesn't double-spawn.
|
|
630
|
+
//
|
|
631
|
+
// Issue #1150: a row is only trusted when it carries liveness evidence: a
|
|
632
|
+
// matching `terminal_sessions` row, or a resumable session artifact per
|
|
633
|
+
// `siblingRegistrationIsLive` (which exempts session-less harnesses). Rows
|
|
634
|
+
// with neither are dead registrations, typically left behind by a removal
|
|
635
|
+
// whose DB delete never stuck (wrong pre-#1118 state.db file, a stale
|
|
636
|
+
// snapshot re-inserted by consolidation, WAL loss at OS-crash time); prune
|
|
637
|
+
// them instead of resurrecting an architect the user removed.
|
|
592
638
|
try {
|
|
593
639
|
const persisted = getArchitects(resolvedPath);
|
|
594
640
|
for (const a of persisted) {
|
|
@@ -596,6 +642,17 @@ export async function launchInstance(workspacePath) {
|
|
|
596
642
|
continue;
|
|
597
643
|
if (entry.architects.has(a.name))
|
|
598
644
|
continue;
|
|
645
|
+
if (!hasArchitectTerminalSession(a.name, resolvedPath, workspacePath) &&
|
|
646
|
+
!siblingRegistrationIsLive(workspacePath, a.sessionId ?? null)) {
|
|
647
|
+
try {
|
|
648
|
+
setArchitectByName(resolvedPath, a.name, null);
|
|
649
|
+
_deps.log('INFO', `Pruned dead sibling architect registration '${a.name}': no live terminal and no resumable session`);
|
|
650
|
+
}
|
|
651
|
+
catch (pruneErr) {
|
|
652
|
+
_deps.log('WARN', `Failed to prune dead sibling architect registration '${a.name}': ${pruneErr.message}`);
|
|
653
|
+
}
|
|
654
|
+
continue;
|
|
655
|
+
}
|
|
599
656
|
const res = await addArchitect(workspacePath, a.name);
|
|
600
657
|
if (!res.success) {
|
|
601
658
|
_deps.log('WARN', `Failed to re-spawn persisted sibling architect '${a.name}': ${res.error}`);
|
|
@@ -825,7 +882,7 @@ export async function addArchitect(workspacePath, requestedName) {
|
|
|
825
882
|
storedSessionId = getArchitectByName(resolvedPath, name)?.sessionId ?? null;
|
|
826
883
|
}
|
|
827
884
|
catch { /* state.db unreadable — spawn fresh */ }
|
|
828
|
-
const { args: cmdArgs, env: harnessEnv, sessionId: conversationSessionId, resumed } = resolveArchitectLaunch({
|
|
885
|
+
const { args: cmdArgs, env: harnessEnv, sessionId: conversationSessionId, resumed, fallback } = resolveArchitectLaunch({
|
|
829
886
|
workspacePath,
|
|
830
887
|
name,
|
|
831
888
|
baseArgs: cmdParts.slice(1),
|
|
@@ -848,12 +905,26 @@ export async function addArchitect(workspacePath, requestedName) {
|
|
|
848
905
|
if (_deps.shellperManager) {
|
|
849
906
|
try {
|
|
850
907
|
const shellperSessionId = crypto.randomUUID();
|
|
908
|
+
// Issue #1149: degrade a fast-failing resume to a fresh launch (see
|
|
909
|
+
// matching block in launchInstance above).
|
|
910
|
+
let crashLoopFallback;
|
|
911
|
+
if (resumed && storedSessionId && fallback) {
|
|
912
|
+
crashLoopFallback = buildArchitectCrashLoopFallback({
|
|
913
|
+
workspacePath: resolvedPath,
|
|
914
|
+
architectName: name,
|
|
915
|
+
storedSessionId,
|
|
916
|
+
fallback,
|
|
917
|
+
baseEnv: cleanEnv,
|
|
918
|
+
log: _deps.log,
|
|
919
|
+
});
|
|
920
|
+
}
|
|
851
921
|
const client = await _deps.shellperManager.createSession({
|
|
852
922
|
sessionId: shellperSessionId,
|
|
853
923
|
command: cmd,
|
|
854
924
|
args: cmdArgs,
|
|
855
925
|
cwd: workspacePath,
|
|
856
926
|
env: cleanEnv,
|
|
927
|
+
crashLoopFallback,
|
|
857
928
|
...defaultSessionOptions({ restartOnExit: true, restartDelay: 2000, maxRestarts: 50 }),
|
|
858
929
|
});
|
|
859
930
|
const replayData = client.getReplayData() ?? Buffer.alloc(0);
|
|
@@ -1007,6 +1078,37 @@ export async function removeArchitect(workspacePath, name) {
|
|
|
1007
1078
|
}
|
|
1008
1079
|
const terminalId = entry.architects.get(name);
|
|
1009
1080
|
if (!terminalId) {
|
|
1081
|
+
// Issue #1150: no live terminal, but persisted state may still exist in
|
|
1082
|
+
// EITHER table (a prior removal whose DB delete never stuck, or a stale
|
|
1083
|
+
// snapshot row re-inserted by the #1118 consolidation). Purge both the
|
|
1084
|
+
// registration row and any leftover terminal_sessions rows so this
|
|
1085
|
+
// command stays retryable after any partial removal — including the case
|
|
1086
|
+
// where only the terminal-session delete failed — and doubles as the
|
|
1087
|
+
// recovery tool for zombie state.
|
|
1088
|
+
let hasStaleRow = false;
|
|
1089
|
+
try {
|
|
1090
|
+
hasStaleRow = getArchitectByName(resolvedPath, name) !== null;
|
|
1091
|
+
}
|
|
1092
|
+
catch { /* registry unreadable: fall through to not-found */ }
|
|
1093
|
+
const staleTerminalIds = findArchitectTerminalSessionIds(name, resolvedPath, workspacePath);
|
|
1094
|
+
if (hasStaleRow || staleTerminalIds.length > 0) {
|
|
1095
|
+
try {
|
|
1096
|
+
if (hasStaleRow) {
|
|
1097
|
+
setArchitectByName(resolvedPath, name, null);
|
|
1098
|
+
}
|
|
1099
|
+
for (const staleId of staleTerminalIds) {
|
|
1100
|
+
_deps.deleteTerminalSession(staleId);
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1103
|
+
catch (err) {
|
|
1104
|
+
return {
|
|
1105
|
+
success: false,
|
|
1106
|
+
error: `Architect '${name}' has no live terminal, and deleting its stale state failed: ${err.message}. Retry 'afx workspace remove-architect --name ${name}'.`,
|
|
1107
|
+
};
|
|
1108
|
+
}
|
|
1109
|
+
_deps.log('INFO', `Purged stale architect state for '${name}' from workspace ${workspacePath} (no live terminal; registration=${hasStaleRow}, terminal rows=${staleTerminalIds.length})`);
|
|
1110
|
+
return { success: true };
|
|
1111
|
+
}
|
|
1010
1112
|
return { success: false, error: `Architect '${name}' not found in workspace '${workspacePath}'.` };
|
|
1011
1113
|
}
|
|
1012
1114
|
const manager = _deps.getTerminalManager();
|
|
@@ -1034,18 +1136,36 @@ export async function removeArchitect(workspacePath, name) {
|
|
|
1034
1136
|
// Explicitly delete persisted rows (the intentional-stop flag suppressed
|
|
1035
1137
|
// the exit-handler delete; we want the row gone for this remove path).
|
|
1036
1138
|
// Bugfix #826: scoped by workspace_path.
|
|
1139
|
+
//
|
|
1140
|
+
// Issue #1150: these deletes ARE the removal, not optional cleanup. A
|
|
1141
|
+
// swallowed failure leaves a row that resurrects the architect on the
|
|
1142
|
+
// next workspace launch while the user was told "Removed". Collect
|
|
1143
|
+
// failures and surface them; the terminal teardown still completes, so a
|
|
1144
|
+
// retry lands in the stale-registration purge branch above.
|
|
1145
|
+
const deleteErrors = [];
|
|
1037
1146
|
try {
|
|
1038
1147
|
setArchitectByName(resolvedPath, name, null);
|
|
1039
1148
|
}
|
|
1040
|
-
catch {
|
|
1149
|
+
catch (err) {
|
|
1150
|
+
deleteErrors.push(`architect registration: ${err.message}`);
|
|
1151
|
+
}
|
|
1041
1152
|
try {
|
|
1042
1153
|
_deps.deleteTerminalSession(terminalId);
|
|
1043
1154
|
}
|
|
1044
|
-
catch {
|
|
1155
|
+
catch (err) {
|
|
1156
|
+
deleteErrors.push(`terminal session: ${err.message}`);
|
|
1157
|
+
}
|
|
1045
1158
|
// Wait for the actual 'exit' event before clearing the flag.
|
|
1046
1159
|
await exitPromise;
|
|
1047
1160
|
// Issue #832: no session cleanup needed — the row delete above cleared the
|
|
1048
1161
|
// persisted session_id, so a re-add with the same name starts fresh.
|
|
1162
|
+
if (deleteErrors.length > 0) {
|
|
1163
|
+
const errMsg = `Architect '${name}' terminal was stopped, but deleting its persisted state failed ` +
|
|
1164
|
+
`(${deleteErrors.join('; ')}). It may resurrect on the next workspace start. ` +
|
|
1165
|
+
`Retry 'afx workspace remove-architect --name ${name}' to purge it.`;
|
|
1166
|
+
_deps.log('ERROR', errMsg);
|
|
1167
|
+
return { success: false, error: errMsg };
|
|
1168
|
+
}
|
|
1049
1169
|
}
|
|
1050
1170
|
finally {
|
|
1051
1171
|
intentionallyStopping.delete(resolvedPath);
|