@astroanywhere/agent 0.1.16 → 0.1.18
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/cli.d.ts +4 -4
- package/dist/cli.js +25 -59
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/logs.d.ts +10 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +90 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/setup.js +9 -2
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +88 -4
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/lib/providers.d.ts.map +1 -1
- package/dist/lib/providers.js +195 -1
- package/dist/lib/providers.js.map +1 -1
- package/dist/lib/ssh-installer.d.ts +5 -0
- package/dist/lib/ssh-installer.d.ts.map +1 -1
- package/dist/lib/ssh-installer.js +13 -0
- package/dist/lib/ssh-installer.js.map +1 -1
- package/dist/lib/task-executor.d.ts.map +1 -1
- package/dist/lib/task-executor.js +11 -0
- package/dist/lib/task-executor.js.map +1 -1
- package/dist/lib/workdir-safety.js +20 -20
- package/dist/lib/workdir-safety.js.map +1 -1
- package/dist/providers/claude-code-adapter.d.ts +2 -0
- package/dist/providers/claude-code-adapter.d.ts.map +1 -1
- package/dist/providers/claude-code-adapter.js +22 -2
- package/dist/providers/claude-code-adapter.js.map +1 -1
- package/dist/providers/codex-adapter.d.ts +48 -0
- package/dist/providers/codex-adapter.d.ts.map +1 -1
- package/dist/providers/codex-adapter.js +294 -12
- package/dist/providers/codex-adapter.js.map +1 -1
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +10 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openclaw-adapter.d.ts +48 -0
- package/dist/providers/openclaw-adapter.d.ts.map +1 -0
- package/dist/providers/openclaw-adapter.js +324 -0
- package/dist/providers/openclaw-adapter.js.map +1 -0
- package/dist/providers/opencode-adapter.d.ts +46 -0
- package/dist/providers/opencode-adapter.d.ts.map +1 -0
- package/dist/providers/opencode-adapter.js +329 -0
- package/dist/providers/opencode-adapter.js.map +1 -0
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/commands/plan.d.ts +0 -67
- package/dist/commands/plan.d.ts.map +0 -1
- package/dist/commands/plan.js +0 -374
- package/dist/commands/plan.js.map +0 -1
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
* Executes tasks using the Codex CLI
|
|
5
5
|
*/
|
|
6
6
|
import { spawn } from 'node:child_process';
|
|
7
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
import { homedir } from 'node:os';
|
|
7
10
|
import { getProvider } from '../lib/providers.js';
|
|
8
11
|
export class CodexAdapter {
|
|
9
12
|
type = 'codex';
|
|
@@ -12,14 +15,40 @@ export class CodexAdapter {
|
|
|
12
15
|
maxTasks = 1;
|
|
13
16
|
lastError;
|
|
14
17
|
codexPath = null;
|
|
18
|
+
configModel = null;
|
|
19
|
+
/**
|
|
20
|
+
* Accumulated metrics from the current execution.
|
|
21
|
+
* Populated by handleStreamLine() as usage events arrive,
|
|
22
|
+
* then read by execute() when producing the final TaskResult.
|
|
23
|
+
*/
|
|
24
|
+
lastResultMetrics;
|
|
25
|
+
turnCount = 0;
|
|
15
26
|
async isAvailable() {
|
|
16
27
|
const provider = await getProvider('codex');
|
|
17
28
|
if (provider?.available) {
|
|
18
29
|
this.codexPath = provider.path;
|
|
30
|
+
this.configModel = this.readConfigModel();
|
|
19
31
|
return true;
|
|
20
32
|
}
|
|
21
33
|
return false;
|
|
22
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Read the default model from ~/.codex/config.toml
|
|
37
|
+
*/
|
|
38
|
+
readConfigModel() {
|
|
39
|
+
try {
|
|
40
|
+
const configPath = join(homedir(), '.codex', 'config.toml');
|
|
41
|
+
if (!existsSync(configPath))
|
|
42
|
+
return null;
|
|
43
|
+
const content = readFileSync(configPath, 'utf-8');
|
|
44
|
+
// Simple TOML parsing for top-level model key: model = "gpt-5.3-codex"
|
|
45
|
+
const match = content.match(/^\s*model\s*=\s*"([^"]+)"/m);
|
|
46
|
+
return match?.[1] ?? null;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
23
52
|
async execute(task, stream, signal) {
|
|
24
53
|
if (!this.codexPath) {
|
|
25
54
|
const available = await this.isAvailable();
|
|
@@ -34,10 +63,15 @@ export class CodexAdapter {
|
|
|
34
63
|
}
|
|
35
64
|
}
|
|
36
65
|
this.activeTasks++;
|
|
66
|
+
this.lastResultMetrics = undefined;
|
|
67
|
+
this.turnCount = 0;
|
|
37
68
|
const startedAt = new Date().toISOString();
|
|
38
69
|
try {
|
|
39
70
|
stream.status('running', 0, 'Starting Codex');
|
|
40
71
|
const result = await this.runCodex(task, stream, signal);
|
|
72
|
+
// Build metrics from accumulated stream data + result model.
|
|
73
|
+
// lastResultMetrics is populated by extractUsageFromEvent() during streaming.
|
|
74
|
+
const finalMetrics = this.buildFinalMetrics(result.model, startedAt);
|
|
41
75
|
return {
|
|
42
76
|
taskId: task.id,
|
|
43
77
|
status: result.exitCode === 0 ? 'completed' : 'failed',
|
|
@@ -47,6 +81,7 @@ export class CodexAdapter {
|
|
|
47
81
|
startedAt,
|
|
48
82
|
completedAt: new Date().toISOString(),
|
|
49
83
|
artifacts: result.artifacts,
|
|
84
|
+
metrics: finalMetrics,
|
|
50
85
|
};
|
|
51
86
|
}
|
|
52
87
|
catch (error) {
|
|
@@ -87,19 +122,28 @@ export class CodexAdapter {
|
|
|
87
122
|
runCodex(task, stream, signal) {
|
|
88
123
|
return new Promise((resolve, reject) => {
|
|
89
124
|
// Codex CLI: use `exec` subcommand for non-interactive execution
|
|
90
|
-
// -a never: fully autonomous, never ask for terminal approval
|
|
91
125
|
// --json: structured JSONL output for parsing
|
|
92
126
|
//
|
|
93
|
-
// Sandbox policy
|
|
94
|
-
//
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
127
|
+
// Sandbox policy: `-s danger-full-access` gives full filesystem + network access.
|
|
128
|
+
// Note: `codex exec` does NOT support `-a` (approval flag) — that's only for
|
|
129
|
+
// the interactive CLI. exec mode is non-interactive by default.
|
|
130
|
+
//
|
|
131
|
+
// `danger-full-access` enables network (git clone, pip install, etc.)
|
|
132
|
+
// which `workspace-write` (used by --full-auto) blocks.
|
|
133
|
+
// The task executor provides isolation at a higher level (worktree creation,
|
|
134
|
+
// working directory restriction).
|
|
135
|
+
// Codex requires --skip-git-repo-check when running outside a git repository.
|
|
136
|
+
// The task executor already handles git safety at a higher level (worktree creation,
|
|
137
|
+
// safety checks), so we can safely allow non-git directories here.
|
|
138
|
+
const isGitRepo = task.workingDirectory
|
|
139
|
+
&& existsSync(join(task.workingDirectory, '.git'));
|
|
140
|
+
// Resolve model: task-level override > config file default
|
|
141
|
+
const model = task.model || this.configModel;
|
|
99
142
|
const args = [
|
|
100
143
|
'exec',
|
|
101
|
-
'-
|
|
102
|
-
'
|
|
144
|
+
'-s', 'danger-full-access', // Full filesystem + network access
|
|
145
|
+
...(model ? ['-m', model] : []), // Explicit model selection
|
|
146
|
+
...(!isGitRepo ? ['--skip-git-repo-check'] : []),
|
|
103
147
|
'--json', // JSONL output for structured parsing
|
|
104
148
|
task.prompt,
|
|
105
149
|
];
|
|
@@ -108,9 +152,17 @@ export class CodexAdapter {
|
|
|
108
152
|
...task.environment,
|
|
109
153
|
};
|
|
110
154
|
let proc;
|
|
155
|
+
// Validate working directory exists before spawning.
|
|
156
|
+
// Node.js spawn throws a misleading "ENOENT" (which looks like the
|
|
157
|
+
// binary is missing) when the cwd doesn't exist.
|
|
158
|
+
if (task.workingDirectory && !existsSync(task.workingDirectory)) {
|
|
159
|
+
reject(new Error(`Working directory does not exist: ${task.workingDirectory}. ` +
|
|
160
|
+
`Ensure the directory exists on this machine before dispatching.`));
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
111
163
|
try {
|
|
112
164
|
proc = spawn(this.codexPath, args, {
|
|
113
|
-
cwd: task.workingDirectory,
|
|
165
|
+
cwd: task.workingDirectory || undefined,
|
|
114
166
|
env,
|
|
115
167
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
116
168
|
});
|
|
@@ -121,6 +173,7 @@ export class CodexAdapter {
|
|
|
121
173
|
}
|
|
122
174
|
let stdout = '';
|
|
123
175
|
let stderr = '';
|
|
176
|
+
let detectedModel = model || undefined;
|
|
124
177
|
const artifacts = [];
|
|
125
178
|
const abortHandler = () => {
|
|
126
179
|
proc.kill('SIGTERM');
|
|
@@ -131,10 +184,31 @@ export class CodexAdapter {
|
|
|
131
184
|
}, 5000);
|
|
132
185
|
};
|
|
133
186
|
signal.addEventListener('abort', abortHandler);
|
|
187
|
+
// Line buffer for incomplete JSONL lines (data chunks don't
|
|
188
|
+
// align with line boundaries)
|
|
189
|
+
let lineBuf = '';
|
|
134
190
|
proc.stdout?.on('data', (data) => {
|
|
135
191
|
const text = data.toString();
|
|
136
192
|
stdout += text;
|
|
137
|
-
|
|
193
|
+
// Parse JSONL lines and emit structured events
|
|
194
|
+
lineBuf += text;
|
|
195
|
+
const lines = lineBuf.split('\n');
|
|
196
|
+
lineBuf = lines.pop() || ''; // keep incomplete last line in buffer
|
|
197
|
+
for (const line of lines) {
|
|
198
|
+
if (line.trim()) {
|
|
199
|
+
this.handleStreamLine(line, stream, artifacts, detectedModel);
|
|
200
|
+
// Extract model from any event that has it
|
|
201
|
+
if (!detectedModel) {
|
|
202
|
+
try {
|
|
203
|
+
const parsed = JSON.parse(line);
|
|
204
|
+
if (parsed.model && typeof parsed.model === 'string') {
|
|
205
|
+
detectedModel = parsed.model;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
catch { /* not JSON, skip */ }
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
138
212
|
});
|
|
139
213
|
proc.stderr?.on('data', (data) => {
|
|
140
214
|
const text = data.toString();
|
|
@@ -146,14 +220,19 @@ export class CodexAdapter {
|
|
|
146
220
|
reject(error);
|
|
147
221
|
});
|
|
148
222
|
proc.on('close', (code) => {
|
|
223
|
+
// Flush remaining buffer
|
|
224
|
+
if (lineBuf.trim()) {
|
|
225
|
+
this.handleStreamLine(lineBuf, stream, artifacts, detectedModel);
|
|
226
|
+
}
|
|
149
227
|
signal.removeEventListener('abort', abortHandler);
|
|
150
|
-
//
|
|
228
|
+
// Also extract artifacts from heuristic patterns in raw output
|
|
151
229
|
this.extractArtifacts(stdout, artifacts);
|
|
152
230
|
resolve({
|
|
153
231
|
exitCode: code ?? 1,
|
|
154
232
|
output: stdout,
|
|
155
233
|
error: stderr || undefined,
|
|
156
234
|
artifacts: artifacts.length > 0 ? artifacts : undefined,
|
|
235
|
+
model: detectedModel,
|
|
157
236
|
});
|
|
158
237
|
});
|
|
159
238
|
if (task.timeout) {
|
|
@@ -170,6 +249,209 @@ export class CodexAdapter {
|
|
|
170
249
|
}
|
|
171
250
|
});
|
|
172
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Build the final metrics object from accumulated stream data.
|
|
254
|
+
* Called after runCodex() completes, when this.lastResultMetrics
|
|
255
|
+
* has been populated by extractUsageFromEvent() during streaming.
|
|
256
|
+
*/
|
|
257
|
+
buildFinalMetrics(resultModel, startedAt) {
|
|
258
|
+
const durationMs = Date.now() - new Date(startedAt).getTime();
|
|
259
|
+
const accum = this.lastResultMetrics;
|
|
260
|
+
const model = resultModel || accum?.model;
|
|
261
|
+
const metrics = {
|
|
262
|
+
inputTokens: accum?.inputTokens,
|
|
263
|
+
outputTokens: accum?.outputTokens,
|
|
264
|
+
totalCost: accum?.totalCost,
|
|
265
|
+
model,
|
|
266
|
+
durationMs,
|
|
267
|
+
numTurns: this.turnCount || accum?.numTurns,
|
|
268
|
+
};
|
|
269
|
+
// Only include metrics if we have meaningful data
|
|
270
|
+
const hasMetrics = model || metrics.inputTokens || metrics.outputTokens || metrics.totalCost;
|
|
271
|
+
return hasMetrics ? metrics : undefined;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Handle a single JSON line from Codex CLI's --json JSONL output.
|
|
275
|
+
*
|
|
276
|
+
* Codex JSONL event types:
|
|
277
|
+
* - thread.started → sessionInit (thread_id)
|
|
278
|
+
* - turn.started → status update, turn counter
|
|
279
|
+
* - turn.completed → may contain usage data
|
|
280
|
+
* - item.started → toolUse for command_execution
|
|
281
|
+
* - item.completed → text for reasoning/agent_message, toolResult for command_execution
|
|
282
|
+
* - response.completed → final usage summary (input_tokens, output_tokens, total_tokens)
|
|
283
|
+
*/
|
|
284
|
+
handleStreamLine(line, stream, artifacts, model) {
|
|
285
|
+
try {
|
|
286
|
+
const event = JSON.parse(line);
|
|
287
|
+
const type = event.type;
|
|
288
|
+
// Extract usage from any event that carries it (OpenAI Responses API pattern).
|
|
289
|
+
// This catches both `response.completed` and `turn.completed` events.
|
|
290
|
+
this.extractUsageFromEvent(event);
|
|
291
|
+
switch (type) {
|
|
292
|
+
case 'thread.started': {
|
|
293
|
+
// Session init — extract thread_id and pass model
|
|
294
|
+
const threadId = event.thread_id;
|
|
295
|
+
if (threadId) {
|
|
296
|
+
stream.sessionInit(threadId, model);
|
|
297
|
+
}
|
|
298
|
+
break;
|
|
299
|
+
}
|
|
300
|
+
case 'turn.started': {
|
|
301
|
+
this.turnCount++;
|
|
302
|
+
stream.status('running', undefined, 'Agent thinking...');
|
|
303
|
+
break;
|
|
304
|
+
}
|
|
305
|
+
case 'response.completed': {
|
|
306
|
+
// Final response event — log fields for debugging token extraction
|
|
307
|
+
const eventKeys = Object.keys(event).filter(k => k !== 'type').sort();
|
|
308
|
+
console.log(`[codex] response.completed fields: ${eventKeys.join(', ')}`);
|
|
309
|
+
// Extract usage from response object if present
|
|
310
|
+
const response = event.response;
|
|
311
|
+
if (response) {
|
|
312
|
+
this.extractUsageFromEvent(response);
|
|
313
|
+
const responseKeys = Object.keys(response).sort();
|
|
314
|
+
console.log(`[codex] response object fields: ${responseKeys.join(', ')}`);
|
|
315
|
+
}
|
|
316
|
+
// Log accumulated metrics
|
|
317
|
+
if (this.lastResultMetrics) {
|
|
318
|
+
console.log(`[codex] Accumulated metrics: input_tokens=${this.lastResultMetrics.inputTokens}, output_tokens=${this.lastResultMetrics.outputTokens}, total_cost=${this.lastResultMetrics.totalCost}`);
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
console.log(`[codex] No usage metrics found in response.completed`);
|
|
322
|
+
}
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
case 'item.started': {
|
|
326
|
+
// Emit toolUse for command_execution items that are starting
|
|
327
|
+
const item = event.item;
|
|
328
|
+
if (item?.type === 'command_execution') {
|
|
329
|
+
const command = item.command || '';
|
|
330
|
+
stream.toolUse(command, { command, status: 'in_progress' });
|
|
331
|
+
}
|
|
332
|
+
break;
|
|
333
|
+
}
|
|
334
|
+
case 'item.completed': {
|
|
335
|
+
const item = event.item;
|
|
336
|
+
if (!item)
|
|
337
|
+
break;
|
|
338
|
+
const itemType = item.type;
|
|
339
|
+
switch (itemType) {
|
|
340
|
+
case 'reasoning': {
|
|
341
|
+
// Reasoning text — send as structured text with a marker
|
|
342
|
+
const text = item.text;
|
|
343
|
+
if (text) {
|
|
344
|
+
stream.text(`[thinking] ${text}\n`);
|
|
345
|
+
}
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
case 'agent_message': {
|
|
349
|
+
// Agent response text
|
|
350
|
+
const text = item.text;
|
|
351
|
+
if (text) {
|
|
352
|
+
stream.text(text + '\n');
|
|
353
|
+
}
|
|
354
|
+
break;
|
|
355
|
+
}
|
|
356
|
+
case 'command_execution': {
|
|
357
|
+
// Completed command — emit toolResult
|
|
358
|
+
const command = item.command || '';
|
|
359
|
+
const output = item.aggregated_output || '';
|
|
360
|
+
const exitCode = item.exit_code;
|
|
361
|
+
const status = item.status;
|
|
362
|
+
const success = exitCode === 0 || status === 'completed';
|
|
363
|
+
stream.toolResult(command, { output, exit_code: exitCode, status }, success);
|
|
364
|
+
// Extract file artifacts from command output
|
|
365
|
+
this.extractFileArtifactsFromCommand(command, output, artifacts);
|
|
366
|
+
break;
|
|
367
|
+
}
|
|
368
|
+
default:
|
|
369
|
+
// Unknown item type — forward as raw text if it has content
|
|
370
|
+
if (item.text && typeof item.text === 'string') {
|
|
371
|
+
stream.text(item.text + '\n');
|
|
372
|
+
}
|
|
373
|
+
break;
|
|
374
|
+
}
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
377
|
+
default:
|
|
378
|
+
// Unknown event type — skip silently
|
|
379
|
+
break;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
catch {
|
|
383
|
+
// Not valid JSON — send as raw stdout
|
|
384
|
+
stream.stdout(line + '\n');
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Extract token usage metrics from a Codex JSONL event object.
|
|
389
|
+
*
|
|
390
|
+
* Codex CLI (using the OpenAI Responses API) may include usage data in:
|
|
391
|
+
* - Top-level `usage` field: `{ input_tokens, output_tokens, total_tokens }`
|
|
392
|
+
* - Nested `response.usage` field on `response.completed` events
|
|
393
|
+
* - `total_cost` or `cost_usd` at the event or response level
|
|
394
|
+
*
|
|
395
|
+
* This method is called on every parsed event, accumulating the latest usage
|
|
396
|
+
* data into `lastResultMetrics`. Later events overwrite earlier ones, so
|
|
397
|
+
* `response.completed` (which appears last) provides the authoritative totals.
|
|
398
|
+
*/
|
|
399
|
+
extractUsageFromEvent(event) {
|
|
400
|
+
// Check for usage object (OpenAI Responses API format)
|
|
401
|
+
const usage = event.usage;
|
|
402
|
+
if (usage && (usage.input_tokens != null || usage.output_tokens != null)) {
|
|
403
|
+
if (!this.lastResultMetrics) {
|
|
404
|
+
this.lastResultMetrics = {};
|
|
405
|
+
}
|
|
406
|
+
if (usage.input_tokens != null) {
|
|
407
|
+
this.lastResultMetrics.inputTokens = usage.input_tokens;
|
|
408
|
+
}
|
|
409
|
+
if (usage.output_tokens != null) {
|
|
410
|
+
this.lastResultMetrics.outputTokens = usage.output_tokens;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
// Check for cost fields (may be present on response.completed or top-level)
|
|
414
|
+
const totalCost = (event.total_cost ?? event.total_cost_usd ?? event.cost_usd);
|
|
415
|
+
if (totalCost != null) {
|
|
416
|
+
if (!this.lastResultMetrics) {
|
|
417
|
+
this.lastResultMetrics = {};
|
|
418
|
+
}
|
|
419
|
+
this.lastResultMetrics.totalCost = totalCost;
|
|
420
|
+
}
|
|
421
|
+
// Check for model field
|
|
422
|
+
const eventModel = event.model;
|
|
423
|
+
if (eventModel) {
|
|
424
|
+
if (!this.lastResultMetrics) {
|
|
425
|
+
this.lastResultMetrics = {};
|
|
426
|
+
}
|
|
427
|
+
this.lastResultMetrics.model = eventModel;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Extract file artifacts from command execution output.
|
|
432
|
+
* Looks at both the command itself and its output for file creation/modification signals.
|
|
433
|
+
*/
|
|
434
|
+
extractFileArtifactsFromCommand(command, output, artifacts) {
|
|
435
|
+
// Extract files from common write commands in the command string
|
|
436
|
+
const writeCommandPatterns = [
|
|
437
|
+
/cat\s*>\s*(\S+)/g, // cat > file
|
|
438
|
+
/tee\s+(\S+)/g, // tee file
|
|
439
|
+
/(?:cp|mv)\s+\S+\s+(\S+)/g, // cp/mv src dest
|
|
440
|
+
/mkdir\s+-p?\s*(\S+)/g, // mkdir -p dir
|
|
441
|
+
/touch\s+(\S+)/g, // touch file
|
|
442
|
+
];
|
|
443
|
+
for (const pattern of writeCommandPatterns) {
|
|
444
|
+
let match;
|
|
445
|
+
while ((match = pattern.exec(command)) !== null) {
|
|
446
|
+
const filePath = match[1]?.trim().replace(/['"]/g, '');
|
|
447
|
+
if (filePath && !artifacts.some((a) => a.path === filePath)) {
|
|
448
|
+
artifacts.push({ type: 'file', name: filePath, path: filePath });
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
// Also check output for file creation messages
|
|
453
|
+
this.extractArtifacts(output, artifacts);
|
|
454
|
+
}
|
|
173
455
|
extractArtifacts(output, artifacts) {
|
|
174
456
|
// Look for common patterns indicating file creation/modification
|
|
175
457
|
// This is a heuristic approach as Codex output format may vary
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../src/providers/codex-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../src/providers/codex-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export type { ProviderAdapter, TaskOutputStream, ProviderStatus } from './base-a
|
|
|
5
5
|
export { ClaudeCodeAdapter } from './claude-code-adapter.js';
|
|
6
6
|
export { ClaudeSdkAdapter } from './claude-sdk-adapter.js';
|
|
7
7
|
export { CodexAdapter } from './codex-adapter.js';
|
|
8
|
+
export { OpenClawAdapter } from './openclaw-adapter.js';
|
|
9
|
+
export { OpenCodeAdapter } from './opencode-adapter.js';
|
|
8
10
|
import type { ProviderType } from '../types.js';
|
|
9
11
|
import type { ProviderAdapter } from './base-adapter.js';
|
|
10
12
|
/** Extended provider types including SDK variant */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,oDAAoD;AACpD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,YAAY,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,GAAG,eAAe,GAAG,IAAI,CAuBvG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,eAAe,CAE1D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAkBvE"}
|
package/dist/providers/index.js
CHANGED
|
@@ -4,9 +4,13 @@
|
|
|
4
4
|
export { ClaudeCodeAdapter } from './claude-code-adapter.js';
|
|
5
5
|
export { ClaudeSdkAdapter } from './claude-sdk-adapter.js';
|
|
6
6
|
export { CodexAdapter } from './codex-adapter.js';
|
|
7
|
+
export { OpenClawAdapter } from './openclaw-adapter.js';
|
|
8
|
+
export { OpenCodeAdapter } from './opencode-adapter.js';
|
|
7
9
|
import { ClaudeCodeAdapter } from './claude-code-adapter.js';
|
|
8
10
|
import { ClaudeSdkAdapter } from './claude-sdk-adapter.js';
|
|
9
11
|
import { CodexAdapter } from './codex-adapter.js';
|
|
12
|
+
import { OpenClawAdapter } from './openclaw-adapter.js';
|
|
13
|
+
import { OpenCodeAdapter } from './opencode-adapter.js';
|
|
10
14
|
/**
|
|
11
15
|
* Create a provider adapter by type.
|
|
12
16
|
* For 'claude-code', prefers the SDK adapter (in-process, supports steering)
|
|
@@ -21,6 +25,10 @@ export function createProviderAdapter(type) {
|
|
|
21
25
|
return new ClaudeSdkAdapter();
|
|
22
26
|
case 'codex':
|
|
23
27
|
return new CodexAdapter();
|
|
28
|
+
case 'openclaw':
|
|
29
|
+
return new OpenClawAdapter();
|
|
30
|
+
case 'opencode':
|
|
31
|
+
return new OpenCodeAdapter();
|
|
24
32
|
case 'slurm':
|
|
25
33
|
// Slurm is no longer a standalone provider — HPC is handled via
|
|
26
34
|
// prompt injection in ClaudeSdkAdapter. Return null for backward compat.
|
|
@@ -46,6 +54,8 @@ export async function getAvailableAdapters() {
|
|
|
46
54
|
new ClaudeSdkAdapter(), // Prefer SDK over CLI
|
|
47
55
|
new ClaudeCodeAdapter(),
|
|
48
56
|
new CodexAdapter(),
|
|
57
|
+
new OpenClawAdapter(),
|
|
58
|
+
new OpenCodeAdapter(),
|
|
49
59
|
];
|
|
50
60
|
const available = [];
|
|
51
61
|
for (const adapter of adapters) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAyC;IAC7E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa;YAChB,2DAA2D;YAC3D,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,KAAK,YAAY;YACf,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,KAAK,OAAO;YACV,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,KAAK,UAAU;YACb,OAAO,IAAI,eAAe,EAAE,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,IAAI,eAAe,EAAE,CAAC;QAC/B,KAAK,OAAO;YACV,gEAAgE;YAChE,yEAAyE;YACzE,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,uDAAuD;YACvD,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,iBAAiB,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,QAAQ,GAAsB;QAClC,IAAI,gBAAgB,EAAE,EAAE,sBAAsB;QAC9C,IAAI,iBAAiB,EAAE;QACvB,IAAI,YAAY,EAAE;QAClB,IAAI,eAAe,EAAE;QACrB,IAAI,eAAe,EAAE;KACtB,CAAC;IAEF,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw provider adapter
|
|
3
|
+
*
|
|
4
|
+
* Executes tasks using the OpenClaw CLI in RPC/JSON streaming mode.
|
|
5
|
+
*
|
|
6
|
+
* CLI invocation:
|
|
7
|
+
* openclaw agent --mode rpc --json --prompt "<task>"
|
|
8
|
+
*
|
|
9
|
+
* Output: JSONL streaming to stdout with event types:
|
|
10
|
+
* session.start, content.text, tool_use.start, tool_use.end,
|
|
11
|
+
* file.change, message.start, message.end, session.end
|
|
12
|
+
*/
|
|
13
|
+
import type { Task, TaskResult, TaskArtifact } from '../types.js';
|
|
14
|
+
import type { ProviderAdapter, TaskOutputStream, ProviderStatus } from './base-adapter.js';
|
|
15
|
+
export declare class OpenClawAdapter implements ProviderAdapter {
|
|
16
|
+
readonly type = "openclaw";
|
|
17
|
+
readonly name = "OpenClaw";
|
|
18
|
+
private activeTasks;
|
|
19
|
+
private maxTasks;
|
|
20
|
+
private lastError?;
|
|
21
|
+
private openclawPath;
|
|
22
|
+
private configModel;
|
|
23
|
+
isAvailable(): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Read the default model from ~/.openclaw/config.json
|
|
26
|
+
*/
|
|
27
|
+
private readConfigModel;
|
|
28
|
+
execute(task: Task, stream: TaskOutputStream, signal: AbortSignal): Promise<TaskResult>;
|
|
29
|
+
getStatus(): Promise<ProviderStatus>;
|
|
30
|
+
private runOpenClaw;
|
|
31
|
+
/**
|
|
32
|
+
* Handle a single JSONL line from OpenClaw's RPC output.
|
|
33
|
+
*
|
|
34
|
+
* OpenClaw JSONL event types:
|
|
35
|
+
* - session.start → sessionInit
|
|
36
|
+
* - content.text → text output
|
|
37
|
+
* - tool_use.start → toolUse
|
|
38
|
+
* - tool_use.end → toolResult
|
|
39
|
+
* - file.change → fileChange
|
|
40
|
+
* - message.start → status update (agent thinking)
|
|
41
|
+
* - message.end → status update (turn complete)
|
|
42
|
+
* - session.end → metrics extraction
|
|
43
|
+
*
|
|
44
|
+
* Returns metrics if a session.end event is processed.
|
|
45
|
+
*/
|
|
46
|
+
handleStreamLine(line: string, stream: TaskOutputStream, artifacts: TaskArtifact[]): TaskResult['metrics'] | undefined;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=openclaw-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/openclaw-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG3F,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,IAAI,cAAc;IAE3B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,WAAW,CAAuB;IAEpC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAYjB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA2DvF,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAa1C,OAAO,CAAC,WAAW;IAsInB;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,YAAY,EAAE,GACxB,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS;CAiGrC"}
|