@damper/cli 0.5.6 → 0.5.7
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/index.js +1 -1
- package/dist/services/claude.js +39 -12
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { statusCommand } from './commands/status.js';
|
|
|
5
5
|
import { cleanupCommand } from './commands/cleanup.js';
|
|
6
6
|
import { setupCommand } from './commands/setup.js';
|
|
7
7
|
import { releaseCommand } from './commands/release.js';
|
|
8
|
-
const VERSION = '0.5.
|
|
8
|
+
const VERSION = '0.5.7';
|
|
9
9
|
function showHelp() {
|
|
10
10
|
console.log(`
|
|
11
11
|
${pc.bold('@damper/cli')} - Agent orchestration for Damper tasks
|
package/dist/services/claude.js
CHANGED
|
@@ -126,20 +126,47 @@ export async function launchClaude(options) {
|
|
|
126
126
|
'--mcp-config', mcpConfigPath,
|
|
127
127
|
initialPrompt,
|
|
128
128
|
];
|
|
129
|
-
// Launch Claude Code
|
|
129
|
+
// Launch Claude Code
|
|
130
130
|
try {
|
|
131
131
|
const { spawnSync } = await import('node:child_process');
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
132
|
+
// Check if stdin is a TTY - if not, we may need special handling
|
|
133
|
+
const isTTY = process.stdin.isTTY;
|
|
134
|
+
if (process.env.DEBUG) {
|
|
135
|
+
console.log(pc.dim(`Debug: stdin.isTTY = ${isTTY}`));
|
|
136
|
+
}
|
|
137
|
+
// Use script command on macOS to ensure proper TTY allocation
|
|
138
|
+
// This is needed when running through npx which may not pass TTY properly
|
|
139
|
+
const isMac = process.platform === 'darwin';
|
|
140
|
+
let result;
|
|
141
|
+
if (isMac) {
|
|
142
|
+
// script -q /dev/null ensures TTY is allocated
|
|
143
|
+
result = spawnSync('script', [
|
|
144
|
+
'-q', '/dev/null',
|
|
145
|
+
'claude',
|
|
146
|
+
'--mcp-config', mcpConfigPath,
|
|
147
|
+
initialPrompt
|
|
148
|
+
], {
|
|
149
|
+
cwd,
|
|
150
|
+
stdio: 'inherit',
|
|
151
|
+
env: {
|
|
152
|
+
...process.env,
|
|
153
|
+
DAMPER_API_KEY: apiKey,
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
result = spawnSync('claude', [
|
|
159
|
+
'--mcp-config', mcpConfigPath,
|
|
160
|
+
initialPrompt
|
|
161
|
+
], {
|
|
162
|
+
cwd,
|
|
163
|
+
stdio: 'inherit',
|
|
164
|
+
env: {
|
|
165
|
+
...process.env,
|
|
166
|
+
DAMPER_API_KEY: apiKey,
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
}
|
|
143
170
|
if (result.error) {
|
|
144
171
|
const error = result.error;
|
|
145
172
|
if (error.code === 'ENOENT') {
|