hjworktree-cli 2.1.0 → 2.3.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/.claude/settings.local.json +10 -5
- package/.context-snapshots/context-snapshot-20260106-180000.md +108 -0
- package/.context-snapshots/context-snapshot-20260106-235500.md +108 -0
- package/README.md +21 -0
- package/dist/server/routes/api.d.ts.map +1 -1
- package/dist/server/routes/api.js +6 -0
- package/dist/server/routes/api.js.map +1 -1
- package/dist/server/services/worktreeService.d.ts +15 -0
- package/dist/server/services/worktreeService.d.ts.map +1 -1
- package/dist/server/services/worktreeService.js +114 -14
- package/dist/server/services/worktreeService.js.map +1 -1
- package/dist/server/socketHandlers.d.ts.map +1 -1
- package/dist/server/socketHandlers.js +112 -5
- package/dist/server/socketHandlers.js.map +1 -1
- package/dist/shared/constants.d.ts +1 -1
- package/dist/shared/constants.js +1 -1
- package/dist/shared/types/index.d.ts +1 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/web/assets/{index-D8dr9mJa.js → index-De6xm4hO.js} +2 -2
- package/dist/web/assets/index-De6xm4hO.js.map +1 -0
- package/dist/web/index.html +1 -1
- package/package.json +3 -2
- package/scripts/fix-pty-permissions.js +89 -0
- package/server/routes/api.ts +7 -0
- package/server/services/worktreeService.ts +129 -13
- package/server/socketHandlers.ts +132 -6
- package/shared/constants.ts +1 -1
- package/shared/types/index.ts +1 -0
- package/dist/web/assets/index-D8dr9mJa.js.map +0 -1
|
@@ -1,12 +1,105 @@
|
|
|
1
1
|
import * as pty from 'node-pty';
|
|
2
2
|
import { AI_AGENTS } from '../shared/constants.js';
|
|
3
|
+
import fs, { realpathSync } from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { promisify } from 'util';
|
|
6
|
+
const access = promisify(fs.access);
|
|
7
|
+
// Environment and path utilities for macOS compatibility
|
|
8
|
+
function sanitizeEnv(env) {
|
|
9
|
+
const sanitized = {};
|
|
10
|
+
for (const [key, value] of Object.entries(env)) {
|
|
11
|
+
if (typeof value === 'string' && value.length > 0) {
|
|
12
|
+
sanitized[key] = value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return sanitized;
|
|
16
|
+
}
|
|
17
|
+
function normalizePath(targetPath) {
|
|
18
|
+
try {
|
|
19
|
+
const absolutePath = path.resolve(targetPath);
|
|
20
|
+
return realpathSync(absolutePath);
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return path.resolve(targetPath);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Validation utilities
|
|
27
|
+
async function validatePath(pathToCheck) {
|
|
28
|
+
try {
|
|
29
|
+
await access(pathToCheck, fs.constants.R_OK | fs.constants.X_OK);
|
|
30
|
+
return { valid: true };
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return {
|
|
34
|
+
valid: false,
|
|
35
|
+
error: error instanceof Error ? error.message : 'Path not accessible'
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async function validateShell(shell) {
|
|
40
|
+
if (process.platform === 'win32') {
|
|
41
|
+
return { valid: true };
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
await access(shell, fs.constants.X_OK);
|
|
45
|
+
return { valid: true };
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
return {
|
|
49
|
+
valid: false,
|
|
50
|
+
error: `Shell not executable: ${shell}`
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// PTY spawn with retry logic
|
|
55
|
+
async function spawnWithRetry(shell, args, options, maxRetries = 3) {
|
|
56
|
+
let lastError = null;
|
|
57
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
58
|
+
try {
|
|
59
|
+
const ptyProcess = pty.spawn(shell, args, options);
|
|
60
|
+
return ptyProcess;
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
64
|
+
console.error(`[PTY] Spawn attempt ${attempt + 1}/${maxRetries} failed:`, lastError.message);
|
|
65
|
+
if (attempt < maxRetries - 1) {
|
|
66
|
+
const delay = Math.pow(2, attempt) * 100;
|
|
67
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
throw lastError || new Error('Failed to spawn PTY after retries');
|
|
72
|
+
}
|
|
73
|
+
// Spawn interval control to prevent resource contention
|
|
74
|
+
let lastSpawnTime = 0;
|
|
75
|
+
const MIN_SPAWN_INTERVAL = 150;
|
|
76
|
+
async function waitForSpawnInterval() {
|
|
77
|
+
const now = Date.now();
|
|
78
|
+
const elapsed = now - lastSpawnTime;
|
|
79
|
+
if (elapsed < MIN_SPAWN_INTERVAL) {
|
|
80
|
+
await new Promise(resolve => setTimeout(resolve, MIN_SPAWN_INTERVAL - elapsed));
|
|
81
|
+
}
|
|
82
|
+
lastSpawnTime = Date.now();
|
|
83
|
+
}
|
|
3
84
|
const sessions = new Map();
|
|
4
85
|
function getAgentCommand(agentType) {
|
|
5
86
|
const agent = AI_AGENTS.find(a => a.id === agentType);
|
|
6
87
|
return agent?.command || 'bash';
|
|
7
88
|
}
|
|
8
89
|
function getShell() {
|
|
9
|
-
|
|
90
|
+
if (process.platform === 'win32') {
|
|
91
|
+
return 'powershell.exe';
|
|
92
|
+
}
|
|
93
|
+
const shellPath = process.env.SHELL || '/bin/bash';
|
|
94
|
+
try {
|
|
95
|
+
const resolvedShell = realpathSync(shellPath);
|
|
96
|
+
fs.accessSync(resolvedShell, fs.constants.X_OK);
|
|
97
|
+
return resolvedShell;
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
// Fallback: use shell name only (let PATH resolve it)
|
|
101
|
+
return path.basename(shellPath);
|
|
102
|
+
}
|
|
10
103
|
}
|
|
11
104
|
export function setupSocketHandlers(io, cwd) {
|
|
12
105
|
io.on('connection', (socket) => {
|
|
@@ -18,17 +111,31 @@ export function setupSocketHandlers(io, cwd) {
|
|
|
18
111
|
try {
|
|
19
112
|
const shell = getShell();
|
|
20
113
|
const agentCommand = getAgentCommand(agentType);
|
|
21
|
-
|
|
114
|
+
// Validate path before spawning
|
|
115
|
+
const pathValidation = await validatePath(worktreePath);
|
|
116
|
+
if (!pathValidation.valid) {
|
|
117
|
+
throw new Error(`Invalid worktree path: ${pathValidation.error}`);
|
|
118
|
+
}
|
|
119
|
+
// Validate shell before spawning
|
|
120
|
+
const shellValidation = await validateShell(shell);
|
|
121
|
+
if (!shellValidation.valid) {
|
|
122
|
+
throw new Error(`Invalid shell: ${shellValidation.error}`);
|
|
123
|
+
}
|
|
124
|
+
// Wait for spawn interval to prevent resource contention
|
|
125
|
+
await waitForSpawnInterval();
|
|
126
|
+
// Normalize cwd path (resolve symlinks like /tmp -> /private/tmp on macOS)
|
|
127
|
+
const normalizedCwd = normalizePath(worktreePath);
|
|
128
|
+
const ptyProcess = await spawnWithRetry(shell, [], {
|
|
22
129
|
name: 'xterm-256color',
|
|
23
130
|
cols: 120,
|
|
24
131
|
rows: 30,
|
|
25
|
-
cwd:
|
|
26
|
-
env: {
|
|
132
|
+
cwd: normalizedCwd,
|
|
133
|
+
env: sanitizeEnv({
|
|
27
134
|
...process.env,
|
|
28
135
|
TERM: 'xterm-256color',
|
|
29
136
|
FORCE_COLOR: '1',
|
|
30
137
|
COLORTERM: 'truecolor',
|
|
31
|
-
},
|
|
138
|
+
}),
|
|
32
139
|
});
|
|
33
140
|
sessions.set(sessionId, {
|
|
34
141
|
pty: ptyProcess,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socketHandlers.js","sourceRoot":"","sources":["../../server/socketHandlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAShC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"socketHandlers.js","sourceRoot":"","sources":["../../server/socketHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,6 @@ export declare const MIN_PARALLEL_COUNT = 1;
|
|
|
5
5
|
export declare const DEFAULT_PARALLEL_COUNT = 3;
|
|
6
6
|
export declare const BRANCH_POLL_INTERVAL = 5000;
|
|
7
7
|
export declare const APP_NAME = "hjWorktree CLI";
|
|
8
|
-
export declare const APP_VERSION = "2.
|
|
8
|
+
export declare const APP_VERSION = "2.3.0";
|
|
9
9
|
export declare const DEFAULT_PORT = 3847;
|
|
10
10
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/shared/constants.js
CHANGED
|
@@ -26,6 +26,6 @@ export const MIN_PARALLEL_COUNT = 1;
|
|
|
26
26
|
export const DEFAULT_PARALLEL_COUNT = 3;
|
|
27
27
|
export const BRANCH_POLL_INTERVAL = 5000; // 5 seconds
|
|
28
28
|
export const APP_NAME = 'hjWorktree CLI';
|
|
29
|
-
export const APP_VERSION = '2.
|
|
29
|
+
export const APP_VERSION = '2.3.0';
|
|
30
30
|
export const DEFAULT_PORT = 3847;
|
|
31
31
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../shared/types/index.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAGzE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAG7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,eAAO,MAAM,UAAU,EAAE,cAAc,EAA+C,CAAC;AAGvF,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1F,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;CACrB;AAGD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../shared/types/index.ts"],"names":[],"mappings":"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"}
|