@junctionpanel/server 0.1.24 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/client/daemon-client.d.ts +1 -0
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +3 -0
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/activity-curator.d.ts.map +1 -1
- package/dist/server/server/agent/activity-curator.js +4 -0
- package/dist/server/server/agent/activity-curator.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts +3 -1
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +8 -1
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts +14 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +24 -0
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +36 -17
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/worktree-bootstrap.d.ts +6 -0
- package/dist/server/server/worktree-bootstrap.d.ts.map +1 -1
- package/dist/server/server/worktree-bootstrap.js +426 -30
- package/dist/server/server/worktree-bootstrap.js.map +1 -1
- package/dist/server/shared/bootstrap-setup.d.ts +18 -0
- package/dist/server/shared/bootstrap-setup.d.ts.map +1 -0
- package/dist/server/shared/bootstrap-setup.js +116 -0
- package/dist/server/shared/bootstrap-setup.js.map +1 -0
- package/dist/server/shared/messages.d.ts +209 -192
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +19 -0
- package/dist/server/shared/messages.js.map +1 -1
- package/dist/server/shared/tool-call-display.d.ts.map +1 -1
- package/dist/server/shared/tool-call-display.js +4 -0
- package/dist/server/shared/tool-call-display.js.map +1 -1
- package/dist/server/terminal/terminal-manager.d.ts +2 -0
- package/dist/server/terminal/terminal-manager.d.ts.map +1 -1
- package/dist/server/terminal/terminal-manager.js +2 -0
- package/dist/server/terminal/terminal-manager.js.map +1 -1
- package/dist/server/terminal/terminal.d.ts +1 -0
- package/dist/server/terminal/terminal.d.ts.map +1 -1
- package/dist/server/terminal/terminal.js +2 -2
- package/dist/server/terminal/terminal.js.map +1 -1
- package/dist/server/utils/worktree.d.ts +12 -0
- package/dist/server/utils/worktree.d.ts.map +1 -1
- package/dist/server/utils/worktree.js +38 -1
- package/dist/server/utils/worktree.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Logger } from "pino";
|
|
2
|
+
import type { BootstrapSetupOverride } from "../shared/bootstrap-setup.js";
|
|
2
3
|
import type { TerminalManager } from "../terminal/terminal-manager.js";
|
|
3
4
|
import { type WorktreeConfig } from "../utils/worktree.js";
|
|
4
5
|
import type { AgentTimelineItem } from "./agent/agent-sdk-types.js";
|
|
@@ -12,9 +13,14 @@ export interface WorktreeBootstrapTerminalResult {
|
|
|
12
13
|
export interface RunAsyncWorktreeBootstrapOptions {
|
|
13
14
|
agentId: string;
|
|
14
15
|
worktree: WorktreeConfig;
|
|
16
|
+
setupOverride?: BootstrapSetupOverride | null;
|
|
15
17
|
terminalManager: TerminalManager | null;
|
|
16
18
|
appendTimelineItem: (item: AgentTimelineItem) => Promise<boolean>;
|
|
17
19
|
emitLiveTimelineItem?: (item: AgentTimelineItem) => Promise<boolean>;
|
|
20
|
+
onSetupSettled?: (result: {
|
|
21
|
+
setupStatus: "not_required" | "completed" | "failed";
|
|
22
|
+
errorMessage: string | null;
|
|
23
|
+
}) => Promise<void> | void;
|
|
18
24
|
logger?: Logger;
|
|
19
25
|
}
|
|
20
26
|
export interface CreateAgentWorktreeOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-bootstrap.d.ts","sourceRoot":"","sources":["../../../src/server/worktree-bootstrap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worktree-bootstrap.d.ts","sourceRoot":"","sources":["../../../src/server/worktree-bootstrap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAOL,KAAK,cAAc,EAKpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE;QACxB,WAAW,EAAE,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAC;QACrD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAiJD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,CASzB;AAwqBD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,IAAI,CAAC,CAqOf"}
|
|
@@ -1,8 +1,37 @@
|
|
|
1
|
+
import { readdirSync } from "node:fs";
|
|
2
|
+
import { basename, join } from "node:path";
|
|
1
3
|
import { v4 as uuidv4 } from "uuid";
|
|
2
|
-
import { createWorktree, getWorktreeTerminalSpecs, resolveWorktreeRuntimeEnv, runWorktreeSetupCommands, WorktreeSetupError, } from "../utils/worktree.js";
|
|
4
|
+
import { createWorktree, getWorktreeTerminalSpecs, resolveWorktreeBootstrapSetup, resolveWorktreeRuntimeEnv, runWorktreeSetupCommands, WorktreeSetupError, } from "../utils/worktree.js";
|
|
3
5
|
const MAX_WORKTREE_SETUP_COMMAND_OUTPUT_BYTES = 64 * 1024;
|
|
4
6
|
const WORKTREE_SETUP_TRUNCATION_MARKER = "\n...<output truncated in the middle>...\n";
|
|
5
7
|
const WORKTREE_BOOTSTRAP_TERMINAL_READY_TIMEOUT_MS = 1500;
|
|
8
|
+
const SETUP_TERMINAL_NAME = "Setup";
|
|
9
|
+
const SETUP_SENTINEL_PREFIX = "__JUNCTION_SETUP_DONE__";
|
|
10
|
+
const SETUP_COMMAND_START_SENTINEL_PREFIX = "__JUNCTION_SETUP_COMMAND_START__";
|
|
11
|
+
const SETUP_COMMAND_DONE_SENTINEL_PREFIX = "__JUNCTION_SETUP_COMMAND_DONE__";
|
|
12
|
+
const ANSI_ESCAPE_REGEX = /\u001B[\[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;
|
|
13
|
+
function countCopiedFiles(rootPath) {
|
|
14
|
+
let total = 0;
|
|
15
|
+
const stack = [rootPath];
|
|
16
|
+
while (stack.length > 0) {
|
|
17
|
+
const currentPath = stack.pop();
|
|
18
|
+
if (!currentPath) {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
for (const entry of readdirSync(currentPath, { withFileTypes: true })) {
|
|
22
|
+
if (entry.name === ".git") {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const nextPath = join(currentPath, entry.name);
|
|
26
|
+
if (entry.isDirectory()) {
|
|
27
|
+
stack.push(nextPath);
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
total += 1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return total;
|
|
34
|
+
}
|
|
6
35
|
function byteLength(text) {
|
|
7
36
|
return Buffer.byteLength(text, "utf8");
|
|
8
37
|
}
|
|
@@ -96,6 +125,44 @@ export async function createAgentWorktree(options) {
|
|
|
96
125
|
function formatDurationMs(durationMs) {
|
|
97
126
|
return `${(durationMs / 1000).toFixed(2)}s`;
|
|
98
127
|
}
|
|
128
|
+
function escapeRegex(value) {
|
|
129
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
130
|
+
}
|
|
131
|
+
function quoteForShell(value) {
|
|
132
|
+
return `'${value.replace(/'/g, `'\"'\"'`)}'`;
|
|
133
|
+
}
|
|
134
|
+
function resolveSetupTerminalShells() {
|
|
135
|
+
const interactiveShell = process.env.SHELL || "/bin/sh";
|
|
136
|
+
const interactiveShellName = basename(interactiveShell).toLowerCase();
|
|
137
|
+
const supportsDashLc = interactiveShellName === "sh" || interactiveShellName === "bash" || interactiveShellName === "zsh";
|
|
138
|
+
return {
|
|
139
|
+
runnerShell: supportsDashLc ? interactiveShell : "/bin/sh",
|
|
140
|
+
interactiveShell,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
function normalizeTerminalControlText(value) {
|
|
144
|
+
if (!value) {
|
|
145
|
+
return "";
|
|
146
|
+
}
|
|
147
|
+
const stripped = value.replace(ANSI_ESCAPE_REGEX, "");
|
|
148
|
+
let normalized = "";
|
|
149
|
+
for (const char of stripped) {
|
|
150
|
+
if (char === "\b") {
|
|
151
|
+
normalized = normalized.slice(0, -1);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
if (char === "\r") {
|
|
155
|
+
normalized += "\n";
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
const codePoint = char.codePointAt(0) ?? 0;
|
|
159
|
+
if (codePoint < 0x20 && char !== "\n" && char !== "\t") {
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
normalized += char;
|
|
163
|
+
}
|
|
164
|
+
return normalized;
|
|
165
|
+
}
|
|
99
166
|
function commandStatusFromResult(result) {
|
|
100
167
|
if (result.exitCode === null) {
|
|
101
168
|
return "running";
|
|
@@ -184,6 +251,45 @@ function buildSetupTimelineItem(input) {
|
|
|
184
251
|
error: { message: input.errorMessage ?? "Worktree setup failed" },
|
|
185
252
|
};
|
|
186
253
|
}
|
|
254
|
+
function buildWorkspaceBootstrapTimelineItem(input) {
|
|
255
|
+
const detail = {
|
|
256
|
+
type: "workspace_bootstrap",
|
|
257
|
+
workspaceName: input.worktree.workspaceName,
|
|
258
|
+
baseBranch: input.worktree.baseBranch,
|
|
259
|
+
branchName: input.worktree.branchName,
|
|
260
|
+
worktreePath: input.worktree.worktreePath,
|
|
261
|
+
copiedFilesCount: input.copiedFilesCount,
|
|
262
|
+
setupStatus: input.setupStatus,
|
|
263
|
+
};
|
|
264
|
+
if (input.status === "running") {
|
|
265
|
+
return {
|
|
266
|
+
type: "tool_call",
|
|
267
|
+
name: "junction_workspace_bootstrap",
|
|
268
|
+
callId: input.callId,
|
|
269
|
+
status: "running",
|
|
270
|
+
detail,
|
|
271
|
+
error: null,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
if (input.status === "completed") {
|
|
275
|
+
return {
|
|
276
|
+
type: "tool_call",
|
|
277
|
+
name: "junction_workspace_bootstrap",
|
|
278
|
+
callId: input.callId,
|
|
279
|
+
status: "completed",
|
|
280
|
+
detail,
|
|
281
|
+
error: null,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
return {
|
|
285
|
+
type: "tool_call",
|
|
286
|
+
name: "junction_workspace_bootstrap",
|
|
287
|
+
callId: input.callId,
|
|
288
|
+
status: "failed",
|
|
289
|
+
detail,
|
|
290
|
+
error: { message: input.errorMessage ?? "Workspace bootstrap failed" },
|
|
291
|
+
};
|
|
292
|
+
}
|
|
187
293
|
function buildTerminalTimelineItem(input) {
|
|
188
294
|
const detailInput = {
|
|
189
295
|
worktreePath: input.worktree.worktreePath,
|
|
@@ -268,6 +374,223 @@ async function waitForTerminalBootstrapReadiness(terminal) {
|
|
|
268
374
|
timeout = setTimeout(finish, WORKTREE_BOOTSTRAP_TERMINAL_READY_TIMEOUT_MS);
|
|
269
375
|
});
|
|
270
376
|
}
|
|
377
|
+
function buildSetupTerminalBootstrapCommand(input) {
|
|
378
|
+
const lines = [
|
|
379
|
+
`__junction_setup_exec_shell=${quoteForShell(input.runnerShell)}`,
|
|
380
|
+
`__junction_setup_interactive_shell=${quoteForShell(input.interactiveShell)}`,
|
|
381
|
+
"__junction_setup_status=0",
|
|
382
|
+
"__junction_setup_run_command() {",
|
|
383
|
+
' __junction_setup_index="$1"',
|
|
384
|
+
' __junction_setup_command="$2"',
|
|
385
|
+
` printf '\\n${SETUP_COMMAND_START_SENTINEL_PREFIX}:${input.token}:%s\\n' "$__junction_setup_index"`,
|
|
386
|
+
' "$__junction_setup_exec_shell" -lc "$__junction_setup_command"',
|
|
387
|
+
" __junction_setup_command_status=$?",
|
|
388
|
+
` printf '\\n${SETUP_COMMAND_DONE_SENTINEL_PREFIX}:${input.token}:%s:%s\\n' "$__junction_setup_index" "$__junction_setup_command_status"`,
|
|
389
|
+
' return "$__junction_setup_command_status"',
|
|
390
|
+
"}",
|
|
391
|
+
];
|
|
392
|
+
for (const [index, command] of input.commands.entries()) {
|
|
393
|
+
lines.push('if [ "$__junction_setup_status" -eq 0 ]; then');
|
|
394
|
+
lines.push(` __junction_setup_run_command ${index + 1} ${quoteForShell(command)} || __junction_setup_status=$?`);
|
|
395
|
+
lines.push("fi");
|
|
396
|
+
}
|
|
397
|
+
lines.push(`printf '\\n${SETUP_SENTINEL_PREFIX}:${input.token}:%s\\n' "$__junction_setup_status"`);
|
|
398
|
+
lines.push('exec "$__junction_setup_interactive_shell" -i || exec /bin/sh -i');
|
|
399
|
+
lines.push("");
|
|
400
|
+
return lines.join("\n");
|
|
401
|
+
}
|
|
402
|
+
function stripSetupProtocolOutput(output, token) {
|
|
403
|
+
if (!output) {
|
|
404
|
+
return "";
|
|
405
|
+
}
|
|
406
|
+
const protocolPattern = new RegExp([
|
|
407
|
+
escapeRegex(SETUP_COMMAND_START_SENTINEL_PREFIX),
|
|
408
|
+
escapeRegex(SETUP_COMMAND_DONE_SENTINEL_PREFIX),
|
|
409
|
+
escapeRegex(SETUP_SENTINEL_PREFIX),
|
|
410
|
+
]
|
|
411
|
+
.map((prefix) => `\\r?\\n?${prefix}:${escapeRegex(token)}(?::\\d+){1,2}\\r?\\n?`)
|
|
412
|
+
.join("|"), "g");
|
|
413
|
+
return output.replace(protocolPattern, "\n");
|
|
414
|
+
}
|
|
415
|
+
async function runSetupCommandsInTerminal(options) {
|
|
416
|
+
const token = uuidv4();
|
|
417
|
+
const { runnerShell, interactiveShell } = resolveSetupTerminalShells();
|
|
418
|
+
const terminal = await options.terminalManager.createTerminal({
|
|
419
|
+
cwd: options.worktree.worktreePath,
|
|
420
|
+
name: SETUP_TERMINAL_NAME,
|
|
421
|
+
env: options.runtimeEnv,
|
|
422
|
+
shell: runnerShell,
|
|
423
|
+
shellArgs: [
|
|
424
|
+
"-lc",
|
|
425
|
+
buildSetupTerminalBootstrapCommand({
|
|
426
|
+
commands: options.setup.commands,
|
|
427
|
+
token,
|
|
428
|
+
runnerShell,
|
|
429
|
+
interactiveShell,
|
|
430
|
+
}),
|
|
431
|
+
],
|
|
432
|
+
});
|
|
433
|
+
let terminalClosedError = null;
|
|
434
|
+
const commandOutputByIndex = new Map();
|
|
435
|
+
const commandStartedAtByIndex = new Map();
|
|
436
|
+
const resultsByIndex = new Map();
|
|
437
|
+
const startPattern = new RegExp(`^${escapeRegex(SETUP_COMMAND_START_SENTINEL_PREFIX)}:${escapeRegex(token)}:(\\d+)$`);
|
|
438
|
+
const donePattern = new RegExp(`^${escapeRegex(SETUP_COMMAND_DONE_SENTINEL_PREFIX)}:${escapeRegex(token)}:(\\d+):(\\d+)$`);
|
|
439
|
+
const setupDonePattern = new RegExp(`^${escapeRegex(SETUP_SENTINEL_PREFIX)}:${escapeRegex(token)}:(\\d+)$`);
|
|
440
|
+
let activeCommandIndex = null;
|
|
441
|
+
let normalizedBuffer = "";
|
|
442
|
+
const unsubscribeExit = terminal.onExit(() => {
|
|
443
|
+
terminalClosedError = "Setup terminal exited before the setup script completed.";
|
|
444
|
+
});
|
|
445
|
+
const buildOrderedResults = () => Array.from(resultsByIndex.entries())
|
|
446
|
+
.sort((a, b) => a[0] - b[0])
|
|
447
|
+
.map(([, result]) => result);
|
|
448
|
+
try {
|
|
449
|
+
await new Promise((resolve, reject) => {
|
|
450
|
+
let settled = false;
|
|
451
|
+
let rawSubscription = null;
|
|
452
|
+
let exitPoll = null;
|
|
453
|
+
const cleanup = () => {
|
|
454
|
+
if (exitPoll) {
|
|
455
|
+
clearInterval(exitPoll);
|
|
456
|
+
exitPoll = null;
|
|
457
|
+
}
|
|
458
|
+
rawSubscription?.unsubscribe();
|
|
459
|
+
rawSubscription = null;
|
|
460
|
+
};
|
|
461
|
+
const settle = (callback) => {
|
|
462
|
+
if (settled) {
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
465
|
+
settled = true;
|
|
466
|
+
cleanup();
|
|
467
|
+
callback();
|
|
468
|
+
};
|
|
469
|
+
const handleError = (error) => {
|
|
470
|
+
settle(() => reject(error));
|
|
471
|
+
};
|
|
472
|
+
const processLine = (line) => {
|
|
473
|
+
const startMatch = startPattern.exec(line);
|
|
474
|
+
if (startMatch) {
|
|
475
|
+
const commandIndex = Number.parseInt(startMatch[1] ?? "", 10);
|
|
476
|
+
if (!Number.isFinite(commandIndex) || commandIndex < 1 || commandIndex > options.setup.commands.length) {
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
activeCommandIndex = commandIndex;
|
|
480
|
+
commandStartedAtByIndex.set(commandIndex, Date.now());
|
|
481
|
+
commandOutputByIndex.set(commandIndex, "");
|
|
482
|
+
options.onEvent?.({
|
|
483
|
+
type: "command_started",
|
|
484
|
+
index: commandIndex,
|
|
485
|
+
total: options.setup.commands.length,
|
|
486
|
+
command: options.setup.commands[commandIndex - 1] ?? "",
|
|
487
|
+
cwd: options.worktree.worktreePath,
|
|
488
|
+
});
|
|
489
|
+
return;
|
|
490
|
+
}
|
|
491
|
+
const doneMatch = donePattern.exec(line);
|
|
492
|
+
if (doneMatch) {
|
|
493
|
+
const commandIndex = Number.parseInt(doneMatch[1] ?? "", 10);
|
|
494
|
+
const exitCode = Number.parseInt(doneMatch[2] ?? "", 10);
|
|
495
|
+
if (!Number.isFinite(commandIndex) || commandIndex < 1 || commandIndex > options.setup.commands.length) {
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
const stdout = stripSetupProtocolOutput(commandOutputByIndex.get(commandIndex) ?? "", token);
|
|
499
|
+
const result = {
|
|
500
|
+
command: options.setup.commands[commandIndex - 1] ?? "",
|
|
501
|
+
cwd: options.worktree.worktreePath,
|
|
502
|
+
stdout,
|
|
503
|
+
stderr: "",
|
|
504
|
+
exitCode: Number.isFinite(exitCode) ? exitCode : null,
|
|
505
|
+
durationMs: Math.max(0, Date.now() - (commandStartedAtByIndex.get(commandIndex) ?? Date.now())),
|
|
506
|
+
};
|
|
507
|
+
resultsByIndex.set(commandIndex, result);
|
|
508
|
+
if (activeCommandIndex === commandIndex) {
|
|
509
|
+
activeCommandIndex = null;
|
|
510
|
+
}
|
|
511
|
+
options.onEvent?.({
|
|
512
|
+
type: "command_completed",
|
|
513
|
+
index: commandIndex,
|
|
514
|
+
total: options.setup.commands.length,
|
|
515
|
+
command: result.command,
|
|
516
|
+
cwd: result.cwd,
|
|
517
|
+
exitCode: result.exitCode,
|
|
518
|
+
durationMs: result.durationMs,
|
|
519
|
+
stdout: result.stdout,
|
|
520
|
+
stderr: result.stderr,
|
|
521
|
+
});
|
|
522
|
+
if (result.exitCode !== 0) {
|
|
523
|
+
handleError(new WorktreeSetupError(`Worktree setup command failed: ${result.command}`.trim(), buildOrderedResults()));
|
|
524
|
+
}
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
const setupDoneMatch = setupDonePattern.exec(line);
|
|
528
|
+
if (setupDoneMatch) {
|
|
529
|
+
const exitCode = Number.parseInt(setupDoneMatch[1] ?? "", 10);
|
|
530
|
+
if (!Number.isFinite(exitCode) || exitCode !== 0) {
|
|
531
|
+
handleError(new WorktreeSetupError("Worktree setup failed", buildOrderedResults()));
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
534
|
+
if (resultsByIndex.size !== options.setup.commands.length) {
|
|
535
|
+
handleError(new Error("Setup terminal completed without recording all setup commands."));
|
|
536
|
+
return;
|
|
537
|
+
}
|
|
538
|
+
settle(resolve);
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
if (activeCommandIndex === null) {
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
const outputChunk = `${line}\n`;
|
|
545
|
+
commandOutputByIndex.set(activeCommandIndex, `${commandOutputByIndex.get(activeCommandIndex) ?? ""}${outputChunk}`);
|
|
546
|
+
options.onEvent?.({
|
|
547
|
+
type: "output",
|
|
548
|
+
index: activeCommandIndex,
|
|
549
|
+
total: options.setup.commands.length,
|
|
550
|
+
command: options.setup.commands[activeCommandIndex - 1] ?? "",
|
|
551
|
+
cwd: options.worktree.worktreePath,
|
|
552
|
+
stream: "stdout",
|
|
553
|
+
chunk: outputChunk,
|
|
554
|
+
});
|
|
555
|
+
};
|
|
556
|
+
rawSubscription = terminal.subscribeRaw((chunk) => {
|
|
557
|
+
if (settled) {
|
|
558
|
+
return;
|
|
559
|
+
}
|
|
560
|
+
const normalizedChunk = normalizeTerminalControlText(chunk.data);
|
|
561
|
+
if (!normalizedChunk) {
|
|
562
|
+
return;
|
|
563
|
+
}
|
|
564
|
+
normalizedBuffer = `${normalizedBuffer}${normalizedChunk}`;
|
|
565
|
+
let newlineIndex = normalizedBuffer.indexOf("\n");
|
|
566
|
+
while (newlineIndex !== -1) {
|
|
567
|
+
const line = normalizedBuffer.slice(0, newlineIndex);
|
|
568
|
+
normalizedBuffer = normalizedBuffer.slice(newlineIndex + 1);
|
|
569
|
+
processLine(line);
|
|
570
|
+
newlineIndex = normalizedBuffer.indexOf("\n");
|
|
571
|
+
}
|
|
572
|
+
}, { fromOffset: 0 });
|
|
573
|
+
if (terminalClosedError) {
|
|
574
|
+
handleError(new Error(terminalClosedError));
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
577
|
+
exitPoll = setInterval(() => {
|
|
578
|
+
if (settled) {
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
if (terminalClosedError) {
|
|
582
|
+
handleError(new Error(terminalClosedError));
|
|
583
|
+
}
|
|
584
|
+
}, 25);
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
finally {
|
|
588
|
+
unsubscribeExit();
|
|
589
|
+
}
|
|
590
|
+
return Array.from(resultsByIndex.entries())
|
|
591
|
+
.sort((a, b) => a[0] - b[0])
|
|
592
|
+
.map(([, result]) => result);
|
|
593
|
+
}
|
|
271
594
|
async function runWorktreeTerminalBootstrap(options, runtimeEnv) {
|
|
272
595
|
const terminalSpecs = getWorktreeTerminalSpecs(options.worktree.worktreePath);
|
|
273
596
|
if (terminalSpecs.length === 0) {
|
|
@@ -336,13 +659,44 @@ async function runWorktreeTerminalBootstrap(options, runtimeEnv) {
|
|
|
336
659
|
}));
|
|
337
660
|
}
|
|
338
661
|
export async function runAsyncWorktreeBootstrap(options) {
|
|
662
|
+
const bootstrapCallId = uuidv4();
|
|
339
663
|
const setupCallId = uuidv4();
|
|
340
664
|
let setupResults = [];
|
|
341
665
|
let runtimeEnv = null;
|
|
666
|
+
const copiedFilesCount = countCopiedFiles(options.worktree.worktreePath);
|
|
667
|
+
const resolvedSetup = resolveWorktreeBootstrapSetup({
|
|
668
|
+
repoRoot: options.worktree.worktreePath,
|
|
669
|
+
override: options.setupOverride,
|
|
670
|
+
});
|
|
671
|
+
const hasSetupCommands = Boolean(resolvedSetup && resolvedSetup.commands.length > 0);
|
|
342
672
|
const emitLiveTimelineItem = options.emitLiveTimelineItem;
|
|
343
673
|
const runningResultsByIndex = new Map();
|
|
344
674
|
const outputAccumulatorsByIndex = new Map();
|
|
345
675
|
let liveEmitQueue = Promise.resolve();
|
|
676
|
+
const started = await options.appendTimelineItem(buildWorkspaceBootstrapTimelineItem({
|
|
677
|
+
callId: bootstrapCallId,
|
|
678
|
+
status: "running",
|
|
679
|
+
worktree: options.worktree,
|
|
680
|
+
copiedFilesCount,
|
|
681
|
+
setupStatus: hasSetupCommands ? "running" : "not_required",
|
|
682
|
+
errorMessage: null,
|
|
683
|
+
}));
|
|
684
|
+
if (!started) {
|
|
685
|
+
return;
|
|
686
|
+
}
|
|
687
|
+
if (hasSetupCommands) {
|
|
688
|
+
const setupStarted = await options.appendTimelineItem(buildSetupTimelineItem({
|
|
689
|
+
callId: setupCallId,
|
|
690
|
+
status: "running",
|
|
691
|
+
worktree: options.worktree,
|
|
692
|
+
results: [],
|
|
693
|
+
outputAccumulatorsByIndex,
|
|
694
|
+
errorMessage: null,
|
|
695
|
+
}));
|
|
696
|
+
if (!setupStarted) {
|
|
697
|
+
return;
|
|
698
|
+
}
|
|
699
|
+
}
|
|
346
700
|
const queueLiveRunningEmit = () => {
|
|
347
701
|
if (!emitLiveTimelineItem) {
|
|
348
702
|
return;
|
|
@@ -375,12 +729,8 @@ export async function runAsyncWorktreeBootstrap(options) {
|
|
|
375
729
|
cwd: options.worktree.worktreePath,
|
|
376
730
|
env: runtimeEnv,
|
|
377
731
|
});
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
branchName: options.worktree.branchName,
|
|
381
|
-
cleanupOnFailure: false,
|
|
382
|
-
runtimeEnv,
|
|
383
|
-
onEvent: (event) => {
|
|
732
|
+
if (resolvedSetup) {
|
|
733
|
+
const handleSetupEvent = (event) => {
|
|
384
734
|
const existing = runningResultsByIndex.get(event.index);
|
|
385
735
|
const baseResult = existing ?? {
|
|
386
736
|
command: event.command,
|
|
@@ -390,48 +740,80 @@ export async function runAsyncWorktreeBootstrap(options) {
|
|
|
390
740
|
exitCode: null,
|
|
391
741
|
durationMs: 0,
|
|
392
742
|
};
|
|
393
|
-
if (event.type === "output") {
|
|
743
|
+
if (event.type === "output" && event.chunk) {
|
|
394
744
|
const outputAccumulator = outputAccumulatorsByIndex.get(event.index) ??
|
|
395
745
|
createMiddleTruncationAccumulator();
|
|
396
746
|
appendToMiddleTruncationAccumulator(outputAccumulator, event.chunk);
|
|
397
747
|
outputAccumulatorsByIndex.set(event.index, outputAccumulator);
|
|
398
|
-
runningResultsByIndex.set(event.index,
|
|
399
|
-
...baseResult,
|
|
400
|
-
// Keep the timeline command model lightweight; output is carried in
|
|
401
|
-
// outputAccumulatorsByIndex.
|
|
402
|
-
stdout: baseResult.stdout,
|
|
403
|
-
stderr: baseResult.stderr,
|
|
404
|
-
});
|
|
748
|
+
runningResultsByIndex.set(event.index, baseResult);
|
|
405
749
|
queueLiveRunningEmit();
|
|
406
750
|
return;
|
|
407
751
|
}
|
|
408
752
|
if (event.type === "command_completed") {
|
|
753
|
+
const outputAccumulator = outputAccumulatorsByIndex.get(event.index) ??
|
|
754
|
+
createMiddleTruncationAccumulator();
|
|
755
|
+
appendToMiddleTruncationAccumulator(outputAccumulator, `${event.stdout ?? ""}${event.stderr ?? ""}`);
|
|
756
|
+
outputAccumulatorsByIndex.set(event.index, outputAccumulator);
|
|
409
757
|
runningResultsByIndex.set(event.index, {
|
|
410
758
|
...baseResult,
|
|
411
|
-
stdout: event.stdout,
|
|
412
|
-
stderr: event.stderr,
|
|
413
|
-
exitCode: event.exitCode,
|
|
414
|
-
durationMs: event.durationMs,
|
|
759
|
+
stdout: event.stdout ?? "",
|
|
760
|
+
stderr: event.stderr ?? "",
|
|
761
|
+
exitCode: event.exitCode ?? null,
|
|
762
|
+
durationMs: event.durationMs ?? 0,
|
|
415
763
|
});
|
|
416
764
|
queueLiveRunningEmit();
|
|
417
765
|
return;
|
|
418
766
|
}
|
|
419
767
|
runningResultsByIndex.set(event.index, baseResult);
|
|
420
768
|
queueLiveRunningEmit();
|
|
421
|
-
}
|
|
422
|
-
|
|
769
|
+
};
|
|
770
|
+
setupResults =
|
|
771
|
+
options.terminalManager
|
|
772
|
+
? await runSetupCommandsInTerminal({
|
|
773
|
+
terminalManager: options.terminalManager,
|
|
774
|
+
worktree: options.worktree,
|
|
775
|
+
runtimeEnv,
|
|
776
|
+
setup: resolvedSetup,
|
|
777
|
+
onEvent: handleSetupEvent,
|
|
778
|
+
})
|
|
779
|
+
: await runWorktreeSetupCommands({
|
|
780
|
+
worktreePath: options.worktree.worktreePath,
|
|
781
|
+
branchName: options.worktree.branchName,
|
|
782
|
+
cleanupOnFailure: false,
|
|
783
|
+
commands: resolvedSetup.commands,
|
|
784
|
+
runtimeEnv,
|
|
785
|
+
onEvent: handleSetupEvent,
|
|
786
|
+
});
|
|
787
|
+
}
|
|
423
788
|
await liveEmitQueue;
|
|
424
|
-
|
|
425
|
-
|
|
789
|
+
if (hasSetupCommands) {
|
|
790
|
+
const completed = await options.appendTimelineItem(buildSetupTimelineItem({
|
|
791
|
+
callId: setupCallId,
|
|
792
|
+
status: "completed",
|
|
793
|
+
worktree: options.worktree,
|
|
794
|
+
results: setupResults,
|
|
795
|
+
outputAccumulatorsByIndex,
|
|
796
|
+
errorMessage: null,
|
|
797
|
+
}));
|
|
798
|
+
if (!completed) {
|
|
799
|
+
return;
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
const bootstrapCompleted = await options.appendTimelineItem(buildWorkspaceBootstrapTimelineItem({
|
|
803
|
+
callId: bootstrapCallId,
|
|
426
804
|
status: "completed",
|
|
427
805
|
worktree: options.worktree,
|
|
428
|
-
|
|
429
|
-
|
|
806
|
+
copiedFilesCount,
|
|
807
|
+
setupStatus: hasSetupCommands ? "completed" : "not_required",
|
|
430
808
|
errorMessage: null,
|
|
431
809
|
}));
|
|
432
|
-
if (!
|
|
810
|
+
if (!bootstrapCompleted) {
|
|
433
811
|
return;
|
|
434
812
|
}
|
|
813
|
+
await options.onSetupSettled?.({
|
|
814
|
+
setupStatus: hasSetupCommands ? "completed" : "not_required",
|
|
815
|
+
errorMessage: null,
|
|
816
|
+
});
|
|
435
817
|
}
|
|
436
818
|
catch (error) {
|
|
437
819
|
if (error instanceof WorktreeSetupError) {
|
|
@@ -439,14 +821,28 @@ export async function runAsyncWorktreeBootstrap(options) {
|
|
|
439
821
|
}
|
|
440
822
|
await liveEmitQueue;
|
|
441
823
|
const message = error instanceof Error ? error.message : String(error);
|
|
442
|
-
|
|
443
|
-
|
|
824
|
+
if (hasSetupCommands) {
|
|
825
|
+
await options.appendTimelineItem(buildSetupTimelineItem({
|
|
826
|
+
callId: setupCallId,
|
|
827
|
+
status: "failed",
|
|
828
|
+
worktree: options.worktree,
|
|
829
|
+
results: setupResults,
|
|
830
|
+
outputAccumulatorsByIndex,
|
|
831
|
+
errorMessage: message,
|
|
832
|
+
}));
|
|
833
|
+
}
|
|
834
|
+
await options.appendTimelineItem(buildWorkspaceBootstrapTimelineItem({
|
|
835
|
+
callId: bootstrapCallId,
|
|
444
836
|
status: "failed",
|
|
445
837
|
worktree: options.worktree,
|
|
446
|
-
|
|
447
|
-
|
|
838
|
+
copiedFilesCount,
|
|
839
|
+
setupStatus: "failed",
|
|
448
840
|
errorMessage: message,
|
|
449
841
|
}));
|
|
842
|
+
await options.onSetupSettled?.({
|
|
843
|
+
setupStatus: "failed",
|
|
844
|
+
errorMessage: message,
|
|
845
|
+
});
|
|
450
846
|
return;
|
|
451
847
|
}
|
|
452
848
|
await runWorktreeTerminalBootstrap(options, runtimeEnv);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-bootstrap.js","sourceRoot":"","sources":["../../../src/server/worktree-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worktree-bootstrap.js","sourceRoot":"","sources":["../../../src/server/worktree-bootstrap.ts"],"names":[],"mappings":"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"}
|