steroids-cli 0.8.10 → 0.8.12
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.
|
@@ -21,6 +21,10 @@ export declare class ClaudeProvider extends BaseAIProvider {
|
|
|
21
21
|
* Invoke Claude CLI with a prompt
|
|
22
22
|
*/
|
|
23
23
|
invoke(prompt: string, options: InvokeOptions): Promise<InvokeResult>;
|
|
24
|
+
/**
|
|
25
|
+
* Parse a stream-json line from Claude CLI and extract text content
|
|
26
|
+
*/
|
|
27
|
+
private parseStreamJsonLine;
|
|
24
28
|
/**
|
|
25
29
|
* Invoke Claude CLI with a prompt file using the invocation template
|
|
26
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AA+CxB;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,sBAAsB;IAE1C;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAyB3E;;OAEG;IACH,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AA+CxB;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,sBAAsB;IAE1C;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAyB3E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAiItB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBrC;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM;IAIpE;;OAEG;IACH,4BAA4B,IAAI,MAAM;CAGvC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|
package/dist/providers/claude.js
CHANGED
|
@@ -49,9 +49,9 @@ const DEFAULT_MODELS = {
|
|
|
49
49
|
const DEFAULT_TIMEOUT = 900_000;
|
|
50
50
|
/**
|
|
51
51
|
* Default invocation template for Claude CLI
|
|
52
|
-
* Uses -p flag for print mode with
|
|
52
|
+
* Uses -p flag for print mode with stream-json for realtime output
|
|
53
53
|
*/
|
|
54
|
-
const DEFAULT_INVOCATION_TEMPLATE = '{cli} -p "$(cat {prompt_file})" --model {model}';
|
|
54
|
+
const DEFAULT_INVOCATION_TEMPLATE = '{cli} -p "$(cat {prompt_file})" --model {model} --output-format stream-json --verbose';
|
|
55
55
|
/**
|
|
56
56
|
* Claude AI Provider implementation
|
|
57
57
|
*/
|
|
@@ -104,6 +104,44 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Parse a stream-json line from Claude CLI and extract text content
|
|
109
|
+
*/
|
|
110
|
+
parseStreamJsonLine(line) {
|
|
111
|
+
try {
|
|
112
|
+
const event = JSON.parse(line);
|
|
113
|
+
// Assistant message — extract text and tool_use from content blocks
|
|
114
|
+
if (event.type === 'assistant' && event.message?.content) {
|
|
115
|
+
const parts = [];
|
|
116
|
+
for (const block of event.message.content) {
|
|
117
|
+
if (block.type === 'text' && block.text)
|
|
118
|
+
parts.push(block.text);
|
|
119
|
+
if (block.type === 'tool_use')
|
|
120
|
+
return { tool: `${block.name}` };
|
|
121
|
+
}
|
|
122
|
+
if (parts.length > 0)
|
|
123
|
+
return { text: parts.join('') };
|
|
124
|
+
}
|
|
125
|
+
// Content block delta (raw streaming events)
|
|
126
|
+
if (event.type === 'content_block_delta' && event.delta?.type === 'text_delta') {
|
|
127
|
+
return { text: event.delta.text };
|
|
128
|
+
}
|
|
129
|
+
// Tool use events from content_block_start
|
|
130
|
+
if (event.type === 'content_block_start' && event.content_block?.type === 'tool_use') {
|
|
131
|
+
return { tool: event.content_block.name };
|
|
132
|
+
}
|
|
133
|
+
// Final result contains the complete text
|
|
134
|
+
if (event.type === 'result') {
|
|
135
|
+
return { result: typeof event.result === 'string' ? event.result : '' };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// Not JSON or unexpected format — treat as plain text
|
|
140
|
+
if (line.trim())
|
|
141
|
+
return { text: line };
|
|
142
|
+
}
|
|
143
|
+
return {};
|
|
144
|
+
}
|
|
107
145
|
/**
|
|
108
146
|
* Invoke Claude CLI with a prompt file using the invocation template
|
|
109
147
|
*/
|
|
@@ -113,6 +151,8 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
113
151
|
let stdout = '';
|
|
114
152
|
let stderr = '';
|
|
115
153
|
let timedOut = false;
|
|
154
|
+
let stdoutLineBuffer = '';
|
|
155
|
+
const isStreamJson = this.getInvocationTemplate().includes('stream-json');
|
|
116
156
|
// Build command from invocation template
|
|
117
157
|
const command = this.buildCommand(promptFile, model);
|
|
118
158
|
// Spawn using shell to handle the command template
|
|
@@ -129,12 +169,10 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
129
169
|
activityTimer = setTimeout(() => {
|
|
130
170
|
timedOut = true;
|
|
131
171
|
child.kill('SIGTERM');
|
|
132
|
-
// Force kill after 5s if process hasn't exited
|
|
133
172
|
setTimeout(() => {
|
|
134
173
|
if (child.exitCode === null) {
|
|
135
174
|
child.kill('SIGKILL');
|
|
136
175
|
}
|
|
137
|
-
// Hard-resolve after another 5s if still stuck
|
|
138
176
|
setTimeout(() => {
|
|
139
177
|
if (child.exitCode === null) {
|
|
140
178
|
resolve({
|
|
@@ -148,13 +186,44 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
148
186
|
};
|
|
149
187
|
resetActivityTimer();
|
|
150
188
|
child.stdout?.on('data', (data) => {
|
|
151
|
-
const
|
|
152
|
-
if (stdout.length < MAX_BUFFER)
|
|
153
|
-
stdout += text;
|
|
189
|
+
const raw = data.toString();
|
|
154
190
|
resetActivityTimer();
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
191
|
+
if (!isStreamJson) {
|
|
192
|
+
// Plain text mode (legacy or custom template)
|
|
193
|
+
if (stdout.length < MAX_BUFFER)
|
|
194
|
+
stdout += raw;
|
|
195
|
+
onActivity?.({ type: 'output', stream: 'stdout', msg: raw });
|
|
196
|
+
if (streamOutput)
|
|
197
|
+
process.stdout.write(raw);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
// Stream-json mode: parse JSONL events
|
|
201
|
+
stdoutLineBuffer += raw;
|
|
202
|
+
while (true) {
|
|
203
|
+
const nl = stdoutLineBuffer.indexOf('\n');
|
|
204
|
+
if (nl === -1)
|
|
205
|
+
break;
|
|
206
|
+
const line = stdoutLineBuffer.slice(0, nl).trim();
|
|
207
|
+
stdoutLineBuffer = stdoutLineBuffer.slice(nl + 1);
|
|
208
|
+
if (!line)
|
|
209
|
+
continue;
|
|
210
|
+
const parsed = this.parseStreamJsonLine(line);
|
|
211
|
+
if (parsed.result !== undefined) {
|
|
212
|
+
// Final result — use as the definitive stdout
|
|
213
|
+
stdout = parsed.result;
|
|
214
|
+
}
|
|
215
|
+
else if (parsed.text) {
|
|
216
|
+
if (stdout.length < MAX_BUFFER)
|
|
217
|
+
stdout += parsed.text;
|
|
218
|
+
onActivity?.({ type: 'output', stream: 'stdout', msg: parsed.text });
|
|
219
|
+
if (streamOutput)
|
|
220
|
+
process.stdout.write(parsed.text);
|
|
221
|
+
}
|
|
222
|
+
else if (parsed.tool) {
|
|
223
|
+
onActivity?.({ type: 'tool', cmd: parsed.tool });
|
|
224
|
+
if (streamOutput)
|
|
225
|
+
process.stdout.write(`[tool: ${parsed.tool}]\n`);
|
|
226
|
+
}
|
|
158
227
|
}
|
|
159
228
|
});
|
|
160
229
|
child.stderr?.on('data', (data) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"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"}
|