@bretwardjames/ghp-cli 0.13.0 → 0.14.0
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/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +3 -6
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/dashboard-pipeline.d.ts +13 -0
- package/dist/commands/dashboard-pipeline.d.ts.map +1 -0
- package/dist/commands/dashboard-pipeline.js +475 -0
- package/dist/commands/dashboard-pipeline.js.map +1 -0
- package/dist/commands/pipeline-commands.d.ts +11 -0
- package/dist/commands/pipeline-commands.d.ts.map +1 -0
- package/dist/commands/pipeline-commands.js +101 -0
- package/dist/commands/pipeline-commands.js.map +1 -0
- package/dist/commands/start.d.ts +2 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +31 -9
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts +28 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +90 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/worktree-swap-state.d.ts +19 -0
- package/dist/commands/worktree-swap-state.d.ts.map +1 -0
- package/dist/commands/worktree-swap-state.js +29 -0
- package/dist/commands/worktree-swap-state.js.map +1 -0
- package/dist/commands/worktree-swap.d.ts +48 -0
- package/dist/commands/worktree-swap.d.ts.map +1 -0
- package/dist/commands/worktree-swap.js +456 -0
- package/dist/commands/worktree-swap.js.map +1 -0
- package/dist/config.d.ts +8 -42
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -4
- package/dist/config.js.map +1 -1
- package/dist/exit.d.ts +5 -0
- package/dist/exit.d.ts.map +1 -1
- package/dist/exit.js +7 -0
- package/dist/exit.js.map +1 -1
- package/dist/git-utils.d.ts +9 -0
- package/dist/git-utils.d.ts.map +1 -1
- package/dist/git-utils.js +19 -0
- package/dist/git-utils.js.map +1 -1
- package/dist/index.js +57 -23
- package/dist/index.js.map +1 -1
- package/dist/pipeline-registry.d.ts +50 -0
- package/dist/pipeline-registry.d.ts.map +1 -0
- package/dist/pipeline-registry.js +186 -0
- package/dist/pipeline-registry.js.map +1 -0
- package/dist/terminal-utils.d.ts +21 -27
- package/dist/terminal-utils.d.ts.map +1 -1
- package/dist/terminal-utils.js +53 -135
- package/dist/terminal-utils.js.map +1 -1
- package/dist/worktree-utils.d.ts.map +1 -1
- package/dist/worktree-utils.js +3 -39
- package/dist/worktree-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pipeline registry — configurable stage-based workflow for worktrees.
|
|
3
|
+
*
|
|
4
|
+
* Stages are defined in ghp config under `pipeline.stages` as an ordered array
|
|
5
|
+
* of stage names. A worktree advances linearly through stages.
|
|
6
|
+
*
|
|
7
|
+
* Stored in .git/ghp-pipeline.json.
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync, readFileSync, writeFileSync } from 'fs';
|
|
10
|
+
import { execFileSync } from 'child_process';
|
|
11
|
+
import { join } from 'path';
|
|
12
|
+
import { getConfig } from './config.js';
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Default stages
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
const DEFAULT_STAGES = [
|
|
17
|
+
'initiating',
|
|
18
|
+
'planning',
|
|
19
|
+
'plan_ready',
|
|
20
|
+
'building_tests',
|
|
21
|
+
'working',
|
|
22
|
+
'needs_attention',
|
|
23
|
+
'code_review',
|
|
24
|
+
'ready_for_integration',
|
|
25
|
+
'integration_testing',
|
|
26
|
+
'code_review_loop',
|
|
27
|
+
'writing_pr',
|
|
28
|
+
'pr_submitted',
|
|
29
|
+
];
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
// Stage configuration
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
/** Get the configured pipeline stages (or defaults). */
|
|
34
|
+
export function getPipelineStages() {
|
|
35
|
+
const config = getConfig('pipeline');
|
|
36
|
+
const stages = config?.stages;
|
|
37
|
+
if (Array.isArray(stages) && stages.length > 0)
|
|
38
|
+
return stages;
|
|
39
|
+
return DEFAULT_STAGES;
|
|
40
|
+
}
|
|
41
|
+
/** Get the stage name after which integration testing (swap to main) is triggered. */
|
|
42
|
+
export function getIntegrationTriggerStage() {
|
|
43
|
+
const config = getConfig('pipeline');
|
|
44
|
+
return config?.integrationAfter ?? 'ready_for_integration';
|
|
45
|
+
}
|
|
46
|
+
/** Get the index of a stage in the pipeline (-1 if not found). */
|
|
47
|
+
export function getStageIndex(stageName) {
|
|
48
|
+
return getPipelineStages().indexOf(stageName);
|
|
49
|
+
}
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
// Stage emoji mapping
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
const STAGE_EMOJIS = {
|
|
54
|
+
initiating: '⏳',
|
|
55
|
+
planning: '📋',
|
|
56
|
+
plan_ready: '📝',
|
|
57
|
+
building_tests: '🧪',
|
|
58
|
+
working: '🔨',
|
|
59
|
+
needs_attention: '🚨',
|
|
60
|
+
code_review: '👀',
|
|
61
|
+
ready_for_integration: '✅',
|
|
62
|
+
integration_testing: '🔄',
|
|
63
|
+
code_review_loop: '🔍',
|
|
64
|
+
writing_pr: '📤',
|
|
65
|
+
pr_submitted: '🏁',
|
|
66
|
+
};
|
|
67
|
+
/** Get the emoji for a pipeline stage. Returns empty string for unknown stages. */
|
|
68
|
+
export function getStageEmoji(stage) {
|
|
69
|
+
return STAGE_EMOJIS[stage] ?? '';
|
|
70
|
+
}
|
|
71
|
+
/** Rename the tmux window for an issue to reflect its current stage. */
|
|
72
|
+
function renameWorktreeWindow(issueNumber, stage) {
|
|
73
|
+
const emoji = getStageEmoji(stage);
|
|
74
|
+
const prefix = emoji ? `${emoji} ` : '';
|
|
75
|
+
const windowName = `ghp-${issueNumber}`;
|
|
76
|
+
try {
|
|
77
|
+
execFileSync('tmux', ['rename-window', '-t', windowName, `${prefix}${windowName}`], { stdio: 'ignore' });
|
|
78
|
+
}
|
|
79
|
+
catch { /* not in tmux or window doesn't exist — fine */ }
|
|
80
|
+
}
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
// Registry I/O
|
|
83
|
+
// ---------------------------------------------------------------------------
|
|
84
|
+
function getRegistryPath(repoRoot) {
|
|
85
|
+
return join(repoRoot, '.git', 'ghp-pipeline.json');
|
|
86
|
+
}
|
|
87
|
+
function loadRegistry(repoRoot) {
|
|
88
|
+
const path = getRegistryPath(repoRoot);
|
|
89
|
+
if (!existsSync(path))
|
|
90
|
+
return {};
|
|
91
|
+
try {
|
|
92
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return {};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function saveRegistry(repoRoot, registry) {
|
|
99
|
+
writeFileSync(getRegistryPath(repoRoot), JSON.stringify(registry, null, 2));
|
|
100
|
+
}
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
// Public API
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
/** Register a new worktree at the first stage (typically 'initiating'). */
|
|
105
|
+
export function registerWorktree(repoRoot, entry) {
|
|
106
|
+
const registry = loadRegistry(repoRoot);
|
|
107
|
+
const stages = getPipelineStages();
|
|
108
|
+
const now = new Date().toISOString();
|
|
109
|
+
const full = {
|
|
110
|
+
...entry,
|
|
111
|
+
stage: stages[0],
|
|
112
|
+
stageEnteredAt: now,
|
|
113
|
+
registeredAt: now,
|
|
114
|
+
};
|
|
115
|
+
registry[String(entry.issueNumber)] = full;
|
|
116
|
+
saveRegistry(repoRoot, registry);
|
|
117
|
+
renameWorktreeWindow(entry.issueNumber, stages[0]);
|
|
118
|
+
return full;
|
|
119
|
+
}
|
|
120
|
+
/** Advance a worktree to the next stage in the pipeline. Returns null if not found or already at last stage. */
|
|
121
|
+
export function advanceWorktreeStage(repoRoot, issueNumber) {
|
|
122
|
+
const registry = loadRegistry(repoRoot);
|
|
123
|
+
const entry = registry[String(issueNumber)];
|
|
124
|
+
if (!entry)
|
|
125
|
+
return null;
|
|
126
|
+
const stages = getPipelineStages();
|
|
127
|
+
const currentIndex = stages.indexOf(entry.stage);
|
|
128
|
+
if (currentIndex < 0 || currentIndex >= stages.length - 1)
|
|
129
|
+
return entry;
|
|
130
|
+
entry.stage = stages[currentIndex + 1];
|
|
131
|
+
entry.stageEnteredAt = new Date().toISOString();
|
|
132
|
+
saveRegistry(repoRoot, registry);
|
|
133
|
+
renameWorktreeWindow(issueNumber, entry.stage);
|
|
134
|
+
return entry;
|
|
135
|
+
}
|
|
136
|
+
/** Set a worktree to a specific stage by name. */
|
|
137
|
+
export function setWorktreeStage(repoRoot, issueNumber, stageName) {
|
|
138
|
+
const registry = loadRegistry(repoRoot);
|
|
139
|
+
const entry = registry[String(issueNumber)];
|
|
140
|
+
if (!entry)
|
|
141
|
+
return null;
|
|
142
|
+
const stages = getPipelineStages();
|
|
143
|
+
if (!stages.includes(stageName))
|
|
144
|
+
return null;
|
|
145
|
+
entry.stage = stageName;
|
|
146
|
+
entry.stageEnteredAt = new Date().toISOString();
|
|
147
|
+
saveRegistry(repoRoot, registry);
|
|
148
|
+
renameWorktreeWindow(issueNumber, stageName);
|
|
149
|
+
return entry;
|
|
150
|
+
}
|
|
151
|
+
/** Remove a worktree from the pipeline. */
|
|
152
|
+
export function deregisterWorktree(repoRoot, issueNumber) {
|
|
153
|
+
const registry = loadRegistry(repoRoot);
|
|
154
|
+
delete registry[String(issueNumber)];
|
|
155
|
+
saveRegistry(repoRoot, registry);
|
|
156
|
+
}
|
|
157
|
+
/** Get a single entry. */
|
|
158
|
+
export function getPipelineEntry(repoRoot, issueNumber) {
|
|
159
|
+
return loadRegistry(repoRoot)[String(issueNumber)] ?? null;
|
|
160
|
+
}
|
|
161
|
+
/** Get all entries. */
|
|
162
|
+
export function getAllPipelineEntries(repoRoot) {
|
|
163
|
+
return Object.values(loadRegistry(repoRoot));
|
|
164
|
+
}
|
|
165
|
+
/** Get entries at a specific stage, sorted FIFO by stageEnteredAt. */
|
|
166
|
+
export function getWorktreesAtStage(repoRoot, stageName) {
|
|
167
|
+
return getAllPipelineEntries(repoRoot)
|
|
168
|
+
.filter(e => e.stage === stageName)
|
|
169
|
+
.sort((a, b) => a.stageEnteredAt.localeCompare(b.stageEnteredAt));
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get worktrees that have reached the integration trigger stage,
|
|
173
|
+
* sorted FIFO by stageEnteredAt.
|
|
174
|
+
*/
|
|
175
|
+
export function getReadyWorktrees(repoRoot) {
|
|
176
|
+
const triggerStage = getIntegrationTriggerStage();
|
|
177
|
+
return getWorktreesAtStage(repoRoot, triggerStage);
|
|
178
|
+
}
|
|
179
|
+
/** Check if a stage is at or past the integration trigger point. */
|
|
180
|
+
export function isAtOrPastIntegration(stageName) {
|
|
181
|
+
const stages = getPipelineStages();
|
|
182
|
+
const triggerIndex = stages.indexOf(getIntegrationTriggerStage());
|
|
183
|
+
const stageIndex = stages.indexOf(stageName);
|
|
184
|
+
return stageIndex >= triggerIndex && triggerIndex >= 0;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=pipeline-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-registry.js","sourceRoot":"","sources":["../src/pipeline-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/terminal-utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type TerminalMode
|
|
1
|
+
import { type TerminalMode } from './config.js';
|
|
2
2
|
import type { SubagentSpawnDirective } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Check if there are previous Claude sessions for a given directory.
|
|
@@ -27,7 +27,9 @@ export declare function isInsideTmux(): boolean;
|
|
|
27
27
|
* @param command - Optional command to run
|
|
28
28
|
* @param windowName - Optional window name (for tracking/killing later)
|
|
29
29
|
*/
|
|
30
|
-
export declare function openTmuxTerminal(directory: string, command?: string, windowName?: string
|
|
30
|
+
export declare function openTmuxTerminal(directory: string, command?: string, windowName?: string, options?: {
|
|
31
|
+
background?: boolean;
|
|
32
|
+
}): Promise<{
|
|
31
33
|
success: boolean;
|
|
32
34
|
error?: string;
|
|
33
35
|
}>;
|
|
@@ -68,25 +70,9 @@ export declare function buildNvimClaudeCommand(worktreePath: string, nvimCommand
|
|
|
68
70
|
* @param command - Optional command to run
|
|
69
71
|
* @param windowName - Optional window name for tmux (e.g., "ghp-39")
|
|
70
72
|
*/
|
|
71
|
-
export declare function openTerminal(directory: string, command?: string, windowName?: string
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}>;
|
|
75
|
-
/**
|
|
76
|
-
* Resolve template variables in a tmux window name.
|
|
77
|
-
* Supported: {issueNumber}, {issueTitle}, {branch}
|
|
78
|
-
*/
|
|
79
|
-
export declare function resolveWindowName(template: string, vars: {
|
|
80
|
-
issueNumber: number;
|
|
81
|
-
issueTitle: string;
|
|
82
|
-
branch?: string;
|
|
83
|
-
}): string;
|
|
84
|
-
/**
|
|
85
|
-
* Open a custom tmux layout defined by the user's customLayout config.
|
|
86
|
-
* Creates a new named window then adds splits for each subsequent pane.
|
|
87
|
-
* Only works inside tmux.
|
|
88
|
-
*/
|
|
89
|
-
export declare function openCustomLayout(worktreePath: string, issueNumber: number, issueTitle: string, panes: CustomLayoutPane[], envPrefix: string): Promise<{
|
|
73
|
+
export declare function openTerminal(directory: string, command?: string, windowName?: string, options?: {
|
|
74
|
+
background?: boolean;
|
|
75
|
+
}): Promise<{
|
|
90
76
|
success: boolean;
|
|
91
77
|
error?: string;
|
|
92
78
|
}>;
|
|
@@ -94,20 +80,28 @@ export declare function openCustomLayout(worktreePath: string, issueNumber: numb
|
|
|
94
80
|
* Open a terminal for parallel work on an issue.
|
|
95
81
|
* If autoResume is enabled and previous sessions exist, offers to resume.
|
|
96
82
|
*/
|
|
97
|
-
export declare function openParallelWorkTerminal(worktreePath: string, issueNumber: number, issueTitle: string, spawnDirective: SubagentSpawnDirective, modeOverride?: TerminalMode
|
|
83
|
+
export declare function openParallelWorkTerminal(worktreePath: string, issueNumber: number, issueTitle: string, spawnDirective: SubagentSpawnDirective, modeOverride?: TerminalMode, options?: {
|
|
84
|
+
background?: boolean;
|
|
85
|
+
}): Promise<{
|
|
98
86
|
success: boolean;
|
|
99
87
|
error?: string;
|
|
100
88
|
resumed?: boolean;
|
|
101
89
|
}>;
|
|
102
90
|
/**
|
|
103
|
-
* Check if the
|
|
91
|
+
* Check if the pipeline dashboard is already open (as a pane or window).
|
|
92
|
+
*/
|
|
93
|
+
export declare function isDashboardOpen(): Promise<boolean>;
|
|
94
|
+
/**
|
|
95
|
+
* Capture the current pane ID. Call this BEFORE spawning agent windows
|
|
96
|
+
* so openAdminPane can target the correct window even after focus has moved.
|
|
104
97
|
*/
|
|
105
|
-
export declare function
|
|
98
|
+
export declare function captureOriginPane(): string | null;
|
|
106
99
|
/**
|
|
107
|
-
* Open the
|
|
108
|
-
*
|
|
100
|
+
* Open the pipeline dashboard as a split pane in the specified target pane
|
|
101
|
+
* (or current pane if no target). Always splits the caller's window, never
|
|
102
|
+
* the agent window, regardless of which has focus.
|
|
109
103
|
*/
|
|
110
|
-
export declare function openAdminPane(): Promise<{
|
|
104
|
+
export declare function openAdminPane(targetPaneId?: string | null): Promise<{
|
|
111
105
|
success: boolean;
|
|
112
106
|
alreadyOpen?: boolean;
|
|
113
107
|
error?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-utils.d.ts","sourceRoot":"","sources":["../src/terminal-utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoC,KAAK,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"terminal-utils.d.ts","sourceRoot":"","sources":["../src/terminal-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/terminal-utils.js
CHANGED
|
@@ -57,29 +57,21 @@ function getTmuxConfig() {
|
|
|
57
57
|
* @param command - Optional command to run
|
|
58
58
|
* @param windowName - Optional window name (for tracking/killing later)
|
|
59
59
|
*/
|
|
60
|
-
export async function openTmuxTerminal(directory, command, windowName) {
|
|
60
|
+
export async function openTmuxTerminal(directory, command, windowName, options) {
|
|
61
61
|
const tmuxConfig = getTmuxConfig();
|
|
62
|
+
const bg = options?.background ?? false;
|
|
62
63
|
return new Promise((resolve) => {
|
|
63
64
|
let tmuxArgs;
|
|
64
65
|
if (tmuxConfig.mode === 'pane') {
|
|
65
66
|
// Split current window into a new pane
|
|
66
67
|
const splitFlag = tmuxConfig.paneDirection === 'vertical' ? '-v' : '-h';
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
: ['split-window', splitFlag, '-c', directory];
|
|
68
|
+
const baseArgs = ['split-window', splitFlag, ...(bg ? ['-d'] : []), '-c', directory];
|
|
69
|
+
tmuxArgs = command ? [...baseArgs, command] : baseArgs;
|
|
70
70
|
}
|
|
71
71
|
else {
|
|
72
72
|
// Create a new window (default) with optional name
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
? ['new-window', '-n', windowName, '-c', directory, command]
|
|
76
|
-
: ['new-window', '-n', windowName, '-c', directory];
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
tmuxArgs = command
|
|
80
|
-
? ['new-window', '-c', directory, command]
|
|
81
|
-
: ['new-window', '-c', directory];
|
|
82
|
-
}
|
|
73
|
+
const baseArgs = ['new-window', ...(bg ? ['-d'] : []), ...(windowName ? ['-n', windowName] : []), '-c', directory];
|
|
74
|
+
tmuxArgs = command ? [...baseArgs, command] : baseArgs;
|
|
83
75
|
}
|
|
84
76
|
const child = spawn('tmux', tmuxArgs, {
|
|
85
77
|
stdio: 'ignore',
|
|
@@ -295,7 +287,7 @@ export async function buildNvimClaudeCommand(worktreePath, nvimCommand, _resumeS
|
|
|
295
287
|
* @param command - Optional command to run
|
|
296
288
|
* @param windowName - Optional window name for tmux (e.g., "ghp-39")
|
|
297
289
|
*/
|
|
298
|
-
export async function openTerminal(directory, command, windowName) {
|
|
290
|
+
export async function openTerminal(directory, command, windowName, options) {
|
|
299
291
|
// Check if we should use tmux
|
|
300
292
|
const parallelConfig = getConfig('parallelWork');
|
|
301
293
|
const preferTmux = parallelConfig?.terminal === 'tmux';
|
|
@@ -309,7 +301,7 @@ export async function openTerminal(directory, command, windowName) {
|
|
|
309
301
|
};
|
|
310
302
|
}
|
|
311
303
|
console.log(chalk.dim('Using tmux for parallel terminal...'));
|
|
312
|
-
return openTmuxTerminal(directory, command, windowName);
|
|
304
|
+
return openTmuxTerminal(directory, command, windowName, options);
|
|
313
305
|
}
|
|
314
306
|
const terminal = await detectTerminal();
|
|
315
307
|
if (!terminal) {
|
|
@@ -338,115 +330,17 @@ export async function openTerminal(directory, command, windowName) {
|
|
|
338
330
|
}, 500);
|
|
339
331
|
});
|
|
340
332
|
}
|
|
341
|
-
/**
|
|
342
|
-
* Resolve template variables in a custom layout command string.
|
|
343
|
-
* Supported: {worktreePath}, {issueNumber}, {issueTitle}, {claudeCommand}
|
|
344
|
-
*/
|
|
345
|
-
function resolveLayoutCommand(command, vars) {
|
|
346
|
-
return command
|
|
347
|
-
.replace(/\{worktreePath\}/g, vars.worktreePath)
|
|
348
|
-
.replace(/\{issueNumber\}/g, String(vars.issueNumber))
|
|
349
|
-
.replace(/\{issueTitle\}/g, vars.issueTitle.replace(/"/g, '\\"'))
|
|
350
|
-
.replace(/\{claudeCommand\}/g, vars.claudeCommand);
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Resolve template variables in a tmux window name.
|
|
354
|
-
* Supported: {issueNumber}, {issueTitle}, {branch}
|
|
355
|
-
*/
|
|
356
|
-
export function resolveWindowName(template, vars) {
|
|
357
|
-
return template
|
|
358
|
-
.replace(/\{issueNumber\}/g, String(vars.issueNumber))
|
|
359
|
-
.replace(/\{issueTitle\}/g, vars.issueTitle)
|
|
360
|
-
.replace(/\{branch\}/g, vars.branch ?? '');
|
|
361
|
-
}
|
|
362
|
-
/**
|
|
363
|
-
* Open a custom tmux layout defined by the user's customLayout config.
|
|
364
|
-
* Creates a new named window then adds splits for each subsequent pane.
|
|
365
|
-
* Only works inside tmux.
|
|
366
|
-
*/
|
|
367
|
-
export async function openCustomLayout(worktreePath, issueNumber, issueTitle, panes, envPrefix) {
|
|
368
|
-
if (!isInsideTmux()) {
|
|
369
|
-
return { success: false, error: 'custom layout requires a tmux session' };
|
|
370
|
-
}
|
|
371
|
-
if (panes.length === 0) {
|
|
372
|
-
return { success: false, error: 'customLayout is empty — add at least one pane in config' };
|
|
373
|
-
}
|
|
374
|
-
// Resolve the {claudeCommand} variable by checking if a slash command exists
|
|
375
|
-
const resolvedCmd = await getClaudeCommand();
|
|
376
|
-
const claudeCommandVar = resolvedCmd ? `/${resolvedCmd} ${issueNumber}` : `start ${issueNumber}`;
|
|
377
|
-
const vars = { worktreePath, issueNumber, issueTitle, claudeCommand: claudeCommandVar };
|
|
378
|
-
const layoutConfig = getParallelWorkConfig();
|
|
379
|
-
const windowName = resolveWindowName(layoutConfig.tmuxWindowName, { issueNumber, issueTitle });
|
|
380
|
-
// Create the main window with the first pane's command
|
|
381
|
-
const firstCommand = `${envPrefix} ${resolveLayoutCommand(panes[0].command, vars)}`;
|
|
382
|
-
const mainResult = await openTmuxTerminal(worktreePath, firstCommand, windowName);
|
|
383
|
-
if (!mainResult.success)
|
|
384
|
-
return mainResult;
|
|
385
|
-
// Add each subsequent pane as a split in the named window
|
|
386
|
-
for (let i = 1; i < panes.length; i++) {
|
|
387
|
-
const pane = panes[i];
|
|
388
|
-
const splitFlag = pane.split === 'vertical' ? '-v' : '-h';
|
|
389
|
-
const sizeFlag = pane.size !== undefined ? ['-p', String(pane.size)] : [];
|
|
390
|
-
const cmd = resolveLayoutCommand(pane.command, vars);
|
|
391
|
-
const result = await new Promise((resolve) => {
|
|
392
|
-
const args = [
|
|
393
|
-
'split-window', splitFlag,
|
|
394
|
-
'-t', windowName,
|
|
395
|
-
'-c', worktreePath,
|
|
396
|
-
...sizeFlag,
|
|
397
|
-
cmd,
|
|
398
|
-
];
|
|
399
|
-
const child = spawn('tmux', args, { stdio: 'ignore' });
|
|
400
|
-
child.on('error', (err) => resolve({ success: false, error: err.message }));
|
|
401
|
-
child.on('close', (code) => {
|
|
402
|
-
if (code === 0)
|
|
403
|
-
resolve({ success: true });
|
|
404
|
-
else
|
|
405
|
-
resolve({ success: false, error: `tmux split-window exited with code ${code}` });
|
|
406
|
-
});
|
|
407
|
-
});
|
|
408
|
-
if (!result.success) {
|
|
409
|
-
// Non-fatal: warn and continue with remaining panes
|
|
410
|
-
console.log(chalk.yellow('⚠'), `Could not open pane ${i + 1}: ${result.error}`);
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
// Focus the marked pane (or pane 0 by default)
|
|
414
|
-
const focusIndex = panes.findIndex(p => p.focus);
|
|
415
|
-
const targetPane = focusIndex >= 0 ? focusIndex : 0;
|
|
416
|
-
if (targetPane > 0) {
|
|
417
|
-
await new Promise((resolve) => {
|
|
418
|
-
const child = spawn('tmux', ['select-pane', '-t', `${windowName}.${targetPane}`], { stdio: 'ignore' });
|
|
419
|
-
child.on('close', () => resolve());
|
|
420
|
-
child.on('error', () => resolve());
|
|
421
|
-
});
|
|
422
|
-
}
|
|
423
|
-
return { success: true };
|
|
424
|
-
}
|
|
425
333
|
/**
|
|
426
334
|
* Open a terminal for parallel work on an issue.
|
|
427
335
|
* If autoResume is enabled and previous sessions exist, offers to resume.
|
|
428
336
|
*/
|
|
429
|
-
export async function openParallelWorkTerminal(worktreePath, issueNumber, issueTitle, spawnDirective, modeOverride) {
|
|
337
|
+
export async function openParallelWorkTerminal(worktreePath, issueNumber, issueTitle, spawnDirective, modeOverride, options) {
|
|
430
338
|
const config = getParallelWorkConfig();
|
|
431
339
|
const terminalMode = modeOverride ?? config.terminalMode;
|
|
432
340
|
// Terminal-only mode: just open the terminal, no Claude
|
|
433
341
|
if (terminalMode === 'terminal') {
|
|
434
|
-
const windowName =
|
|
435
|
-
const result = await openTerminal(worktreePath, undefined, windowName);
|
|
436
|
-
return { ...result, resumed: false };
|
|
437
|
-
}
|
|
438
|
-
// Build the GHP_SPAWN_CONTEXT env prefix (used by all modes that run Claude)
|
|
439
|
-
const envJson = JSON.stringify(spawnDirective);
|
|
440
|
-
const envPrefix = `export GHP_SPAWN_CONTEXT='${envJson.replace(/'/g, "'\\''")}' &&`;
|
|
441
|
-
// Custom layout mode: user-defined panes
|
|
442
|
-
if (terminalMode === 'custom') {
|
|
443
|
-
if (config.customLayout.length === 0) {
|
|
444
|
-
return {
|
|
445
|
-
success: false,
|
|
446
|
-
error: 'terminalMode is "custom" but customLayout is empty. Add panes in config under parallelWork.customLayout.',
|
|
447
|
-
};
|
|
448
|
-
}
|
|
449
|
-
const result = await openCustomLayout(worktreePath, issueNumber, issueTitle, config.customLayout, envPrefix);
|
|
342
|
+
const windowName = `ghp-${issueNumber}`;
|
|
343
|
+
const result = await openTerminal(worktreePath, undefined, windowName, options);
|
|
450
344
|
return { ...result, resumed: false };
|
|
451
345
|
}
|
|
452
346
|
// Check if we should try to resume a previous session
|
|
@@ -468,20 +362,23 @@ export async function openParallelWorkTerminal(worktreePath, issueNumber, issueT
|
|
|
468
362
|
const claudeCommand = await getClaudeCommand();
|
|
469
363
|
command = buildClaudeCommand(issueNumber, issueTitle, worktreePath, claudeCommand, shouldResume);
|
|
470
364
|
}
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
const
|
|
474
|
-
|
|
365
|
+
// Set the spawn context as an environment variable for Claude to potentially use
|
|
366
|
+
const envJson = JSON.stringify(spawnDirective);
|
|
367
|
+
const fullCommand = `export GHP_SPAWN_CONTEXT='${envJson.replace(/'/g, "'\\''")}' && ${command}`;
|
|
368
|
+
// Name the tmux window with the issue number for tracking/cleanup
|
|
369
|
+
const windowName = `ghp-${issueNumber}`;
|
|
370
|
+
const result = await openTerminal(worktreePath, fullCommand, windowName, options);
|
|
475
371
|
return { ...result, resumed: shouldResume };
|
|
476
372
|
}
|
|
477
373
|
/**
|
|
478
|
-
* Check if the
|
|
374
|
+
* Check if the pipeline dashboard is already open (as a pane or window).
|
|
479
375
|
*/
|
|
480
|
-
export async function
|
|
376
|
+
export async function isDashboardOpen() {
|
|
481
377
|
if (!isInsideTmux())
|
|
482
378
|
return false;
|
|
483
379
|
return new Promise((resolve) => {
|
|
484
|
-
|
|
380
|
+
// Check both panes (for pane mode) and windows (for window mode)
|
|
381
|
+
const child = spawn('tmux', ['list-panes', '-a', '-F', '#{pane_current_command} #{window_name}'], {
|
|
485
382
|
stdio: ['ignore', 'pipe', 'ignore'],
|
|
486
383
|
});
|
|
487
384
|
let output = '';
|
|
@@ -489,31 +386,52 @@ export async function isAdminPaneOpen() {
|
|
|
489
386
|
output += data.toString();
|
|
490
387
|
});
|
|
491
388
|
child.on('close', () => {
|
|
492
|
-
const
|
|
493
|
-
|
|
389
|
+
const lines = output.split('\n');
|
|
390
|
+
// Check for ghp-admin window name or ghp pipeline process
|
|
391
|
+
resolve(lines.some(l => l.includes('ghp-admin')));
|
|
494
392
|
});
|
|
495
393
|
});
|
|
496
394
|
}
|
|
497
395
|
/**
|
|
498
|
-
*
|
|
499
|
-
*
|
|
396
|
+
* Capture the current pane ID. Call this BEFORE spawning agent windows
|
|
397
|
+
* so openAdminPane can target the correct window even after focus has moved.
|
|
500
398
|
*/
|
|
501
|
-
export
|
|
399
|
+
export function captureOriginPane() {
|
|
400
|
+
if (!process.env.TMUX)
|
|
401
|
+
return null;
|
|
402
|
+
try {
|
|
403
|
+
const { execFileSync } = require('child_process');
|
|
404
|
+
return execFileSync('tmux', ['display-message', '-p', '#{pane_id}'])
|
|
405
|
+
.toString().trim() || null;
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
return null;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Open the pipeline dashboard as a split pane in the specified target pane
|
|
413
|
+
* (or current pane if no target). Always splits the caller's window, never
|
|
414
|
+
* the agent window, regardless of which has focus.
|
|
415
|
+
*/
|
|
416
|
+
export async function openAdminPane(targetPaneId) {
|
|
502
417
|
if (!isInsideTmux()) {
|
|
503
418
|
return { success: false, error: 'Not inside tmux session' };
|
|
504
419
|
}
|
|
505
|
-
|
|
506
|
-
if (await isAdminPaneOpen()) {
|
|
420
|
+
if (await isDashboardOpen()) {
|
|
507
421
|
return { success: true, alreadyOpen: true };
|
|
508
422
|
}
|
|
509
|
-
|
|
510
|
-
const command = 'ghp agents watch';
|
|
423
|
+
const command = 'ghp pipeline dashboard';
|
|
511
424
|
return new Promise((resolve) => {
|
|
512
|
-
|
|
425
|
+
// -h = horizontal split (side by side: claude left, dashboard right)
|
|
426
|
+
// -l 35% = dashboard gets 35% width
|
|
427
|
+
const tmuxArgs = targetPaneId
|
|
428
|
+
? ['split-window', '-h', '-d', '-l', '50%', '-t', targetPaneId, command]
|
|
429
|
+
: ['split-window', '-h', '-d', '-l', '50%', command];
|
|
430
|
+
const child = spawn('tmux', tmuxArgs, {
|
|
513
431
|
stdio: 'ignore',
|
|
514
432
|
});
|
|
515
433
|
child.on('error', (err) => {
|
|
516
|
-
resolve({ success: false, error: `Failed to open
|
|
434
|
+
resolve({ success: false, error: `Failed to open dashboard: ${err.message}` });
|
|
517
435
|
});
|
|
518
436
|
child.on('close', (code) => {
|
|
519
437
|
if (code === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-utils.js","sourceRoot":"","sources":["../src/terminal-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminal-utils.js","sourceRoot":"","sources":["../src/terminal-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-utils.d.ts","sourceRoot":"","sources":["../src/worktree-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAOH,KAAK,YAAY,EACjB,KAAK,QAAQ,EAChB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-utils.d.ts","sourceRoot":"","sources":["../src/worktree-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAOH,KAAK,YAAY,EACjB,KAAK,QAAQ,EAChB,MAAM,gBAAgB,CAAC;AAIxB;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC3F;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;CAC3B,GAAG;IACA,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CACxC,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAoF/B;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAMxF"}
|