@astroanywhere/agent 0.2.4 → 0.2.6

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.
Files changed (55) hide show
  1. package/README.md +200 -15
  2. package/dist/cli.js +6 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/setup.d.ts.map +1 -1
  5. package/dist/commands/setup.js +127 -21
  6. package/dist/commands/setup.js.map +1 -1
  7. package/dist/commands/start.d.ts.map +1 -1
  8. package/dist/commands/start.js +23 -2
  9. package/dist/commands/start.js.map +1 -1
  10. package/dist/commands/stop.d.ts.map +1 -1
  11. package/dist/commands/stop.js +15 -2
  12. package/dist/commands/stop.js.map +1 -1
  13. package/dist/lib/display.d.ts +1 -1
  14. package/dist/lib/display.d.ts.map +1 -1
  15. package/dist/lib/display.js +5 -0
  16. package/dist/lib/display.js.map +1 -1
  17. package/dist/lib/openclaw-bridge.d.ts +39 -7
  18. package/dist/lib/openclaw-bridge.d.ts.map +1 -1
  19. package/dist/lib/openclaw-bridge.js +256 -40
  20. package/dist/lib/openclaw-bridge.js.map +1 -1
  21. package/dist/lib/openclaw-gateway.d.ts +52 -0
  22. package/dist/lib/openclaw-gateway.d.ts.map +1 -0
  23. package/dist/lib/openclaw-gateway.js +116 -0
  24. package/dist/lib/openclaw-gateway.js.map +1 -0
  25. package/dist/lib/providers.d.ts.map +1 -1
  26. package/dist/lib/providers.js +6 -37
  27. package/dist/lib/providers.js.map +1 -1
  28. package/dist/lib/ssh-discovery.d.ts +3 -1
  29. package/dist/lib/ssh-discovery.d.ts.map +1 -1
  30. package/dist/lib/ssh-discovery.js +34 -24
  31. package/dist/lib/ssh-discovery.js.map +1 -1
  32. package/dist/lib/ssh-installer.d.ts +26 -0
  33. package/dist/lib/ssh-installer.d.ts.map +1 -1
  34. package/dist/lib/ssh-installer.js +126 -4
  35. package/dist/lib/ssh-installer.js.map +1 -1
  36. package/dist/lib/task-executor.d.ts +11 -0
  37. package/dist/lib/task-executor.d.ts.map +1 -1
  38. package/dist/lib/task-executor.js +111 -25
  39. package/dist/lib/task-executor.js.map +1 -1
  40. package/dist/lib/websocket-client.d.ts +3 -0
  41. package/dist/lib/websocket-client.d.ts.map +1 -1
  42. package/dist/lib/websocket-client.js +6 -0
  43. package/dist/lib/websocket-client.js.map +1 -1
  44. package/dist/providers/claude-sdk-adapter.d.ts.map +1 -1
  45. package/dist/providers/claude-sdk-adapter.js +18 -0
  46. package/dist/providers/claude-sdk-adapter.js.map +1 -1
  47. package/dist/providers/index.d.ts +3 -1
  48. package/dist/providers/index.d.ts.map +1 -1
  49. package/dist/providers/index.js +9 -3
  50. package/dist/providers/index.js.map +1 -1
  51. package/dist/providers/openclaw-adapter.d.ts +21 -29
  52. package/dist/providers/openclaw-adapter.d.ts.map +1 -1
  53. package/dist/providers/openclaw-adapter.js +147 -385
  54. package/dist/providers/openclaw-adapter.js.map +1 -1
  55. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/lib/display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/lib/display.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,32 @@
1
1
  /**
2
- * OpenClaw Bridge — Persistent gateway connection for channel operations
2
+ * OpenClaw Bridge — Persistent gateway connection for channel operations + task execution
3
3
  *
4
- * Unlike the per-task OpenClawAdapter (which creates a new connection per task),
5
- * the bridge maintains a single long-lived WebSocket to the OpenClaw gateway
6
- * for notification delivery, approval routing, and inbound message forwarding.
4
+ * Maintains a single long-lived WebSocket to the OpenClaw gateway for:
5
+ * 1. Channel relay: notification delivery, approval routing, inbound message forwarding
6
+ * 2. Task execution: session-multiplexed chat.send for adapter-delegated tasks
7
7
  *
8
- * This enables the relay-routed architecture:
9
- * Server → Relay → Agent Runner (bridge) OpenClaw Gateway → User channels
8
+ * Architecture after consolidation:
9
+ * Server → Relay → Agent Runner → OpenClawAdapter (thin wrapper)
10
+ * ↓ setBridge()
11
+ * OpenClawBridge (single WS) → local gateway
12
+ * ↑
13
+ * Channel relay (notifications/approvals)
10
14
  */
11
15
  import { EventEmitter } from 'node:events';
16
+ import type { TaskResult, TaskArtifact } from '../types.js';
17
+ import type { TaskOutputStream } from '../providers/base-adapter.js';
18
+ export interface TaskSessionResult {
19
+ output: string;
20
+ error?: string;
21
+ artifacts?: TaskArtifact[];
22
+ metrics?: TaskResult['metrics'];
23
+ }
12
24
  export declare class OpenClawBridge extends EventEmitter {
13
25
  private ws;
14
26
  private gatewayConfig;
15
27
  private pendingRequests;
16
28
  private pendingApprovals;
29
+ private activeSessions;
17
30
  private _connected;
18
31
  private _started;
19
32
  private _connecting;
@@ -25,13 +38,32 @@ export declare class OpenClawBridge extends EventEmitter {
25
38
  get isConnected(): boolean;
26
39
  start(): Promise<boolean>;
27
40
  stop(): void;
28
- private readGatewayConfig;
29
41
  private connect;
30
42
  private scheduleReconnect;
31
43
  private sendRequest;
32
44
  private handleResponse;
33
45
  private handleEvent;
34
46
  private resolveApproval;
47
+ /**
48
+ * Execute a task by sending chat.send through the shared WebSocket connection.
49
+ * Returns a Promise that resolves when the task completes (lifecycle.end + chat.final).
50
+ */
51
+ executeTask(sessionKey: string, message: string, stream: TaskOutputStream, signal: AbortSignal, timeout?: number): Promise<TaskSessionResult>;
52
+ /**
53
+ * Send a chat message to resume an existing session.
54
+ * Simplified variant of executeTask without artifact tracking.
55
+ */
56
+ sendChatMessage(sessionKey: string, message: string, stream: TaskOutputStream, signal: AbortSignal): Promise<TaskSessionResult>;
57
+ /** Route agent/chat events to the correct TaskSession */
58
+ private routeTaskEvent;
59
+ private handleAgentEvent;
60
+ private handleChatEvent;
61
+ /** Finish when both lifecycle.end and chat.final have been seen, or
62
+ * after a short grace period if only lifecycle.end arrived. */
63
+ private tryFinishAfterLifecycle;
64
+ private finishSession;
65
+ /** Fail all active task sessions — called on WebSocket close before reconnect */
66
+ private failAllActiveSessions;
35
67
  sendNotification(notification: {
36
68
  type: string;
37
69
  projectId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw-bridge.d.ts","sourceRoot":"","sources":["../../src/lib/openclaw-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA+C3C,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAA8C;IACpE,2FAA2F;IAC3F,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,wDAAwD;IACxD,OAAO,CAAC,gBAAgB,CAAuB;IAE/C,IAAI,WAAW,IAAI,OAAO,CAEzB;IAIK,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAsB/B,IAAI,IAAI,IAAI;IAkCZ,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,OAAO;IAyGf,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,eAAe;IAYjB,gBAAgB,CAAC,YAAY,EAAE;QACnC,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBX,YAAY,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,IAAI,CAAC;IAeX,eAAe,CAAC,IAAI,EAAE;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC,MAAM,CAAC;IAsCnB,OAAO,CAAC,oBAAoB;IAW5B;;;;;;;;OAQG;YACW,0BAA0B;YAkD1B,gBAAgB;YAsBhB,gBAAgB;IAe9B,OAAO,CAAC,qBAAqB;CAS9B"}
1
+ {"version":3,"file":"openclaw-bridge.d.ts","sourceRoot":"","sources":["../../src/lib/openclaw-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  /**
2
- * OpenClaw Bridge — Persistent gateway connection for channel operations
2
+ * OpenClaw Bridge — Persistent gateway connection for channel operations + task execution
3
3
  *
4
- * Unlike the per-task OpenClawAdapter (which creates a new connection per task),
5
- * the bridge maintains a single long-lived WebSocket to the OpenClaw gateway
6
- * for notification delivery, approval routing, and inbound message forwarding.
4
+ * Maintains a single long-lived WebSocket to the OpenClaw gateway for:
5
+ * 1. Channel relay: notification delivery, approval routing, inbound message forwarding
6
+ * 2. Task execution: session-multiplexed chat.send for adapter-delegated tasks
7
7
  *
8
- * This enables the relay-routed architecture:
9
- * Server → Relay → Agent Runner (bridge) OpenClaw Gateway → User channels
8
+ * Architecture after consolidation:
9
+ * Server → Relay → Agent Runner → OpenClawAdapter (thin wrapper)
10
+ * ↓ setBridge()
11
+ * OpenClawBridge (single WS) → local gateway
12
+ * ↑
13
+ * Channel relay (notifications/approvals)
10
14
  */
11
15
  import { EventEmitter } from 'node:events';
12
16
  import { readFileSync, existsSync } from 'node:fs';
@@ -14,12 +18,12 @@ import { join } from 'node:path';
14
18
  import { homedir } from 'node:os';
15
19
  import WebSocket from 'ws';
16
20
  import { randomUUID } from 'node:crypto';
21
+ import { readGatewayConfig, parseGatewayFrame, matchesSessionKey, PROTOCOL_VERSION, CONNECT_TIMEOUT_MS, } from './openclaw-gateway.js';
17
22
  // ---------------------------------------------------------------------------
18
23
  // Constants
19
24
  // ---------------------------------------------------------------------------
20
- const PROTOCOL_VERSION = 3;
21
- const CONNECT_TIMEOUT_MS = 10_000;
22
25
  const REQUEST_TIMEOUT_MS = 15_000;
26
+ const TASK_REQUEST_TIMEOUT_MS = 120_000; // chat.send can take longer to respond
23
27
  const APPROVAL_TIMEOUT_MS = 300_000; // 5 minutes
24
28
  const RECONNECT_DELAY_MS = 5_000;
25
29
  // ---------------------------------------------------------------------------
@@ -30,6 +34,7 @@ export class OpenClawBridge extends EventEmitter {
30
34
  gatewayConfig = null;
31
35
  pendingRequests = new Map();
32
36
  pendingApprovals = new Map();
37
+ activeSessions = new Map();
33
38
  _connected = false;
34
39
  _started = false;
35
40
  _connecting = false;
@@ -45,7 +50,7 @@ export class OpenClawBridge extends EventEmitter {
45
50
  async start() {
46
51
  if (this._started)
47
52
  return this._connected;
48
- const config = this.readGatewayConfig();
53
+ const config = readGatewayConfig();
49
54
  if (!config)
50
55
  return false;
51
56
  this.gatewayConfig = config;
@@ -81,6 +86,8 @@ export class OpenClawBridge extends EventEmitter {
81
86
  pending.reject(new Error('Bridge stopped'));
82
87
  this.pendingApprovals.delete(id);
83
88
  }
89
+ // Fail all active task sessions
90
+ this.failAllActiveSessions('Bridge stopped');
84
91
  if (this.ws) {
85
92
  this.ws.removeAllListeners();
86
93
  this.ws.close();
@@ -90,27 +97,6 @@ export class OpenClawBridge extends EventEmitter {
90
97
  // to prevent leaks if the bridge is restarted after stop()
91
98
  this.removeAllListeners();
92
99
  }
93
- // ─── Gateway Config ─────────────────────────────────────────────
94
- readGatewayConfig() {
95
- try {
96
- const configPath = join(homedir(), '.openclaw', 'openclaw.json');
97
- if (!existsSync(configPath))
98
- return null;
99
- const raw = JSON.parse(readFileSync(configPath, 'utf-8'));
100
- const port = raw?.gateway?.port;
101
- if (!port)
102
- return null;
103
- const token = raw?.gateway?.auth?.token || '';
104
- const bind = raw?.gateway?.bind || '127.0.0.1';
105
- const host = bind === 'loopback' || bind === '127.0.0.1' ? '127.0.0.1' : bind;
106
- // Read default notification recipient from astro-specific config
107
- const defaultRecipient = raw?.astro?.notifyTo || undefined;
108
- return { port, token, url: `ws://${host}:${port}`, defaultRecipient };
109
- }
110
- catch {
111
- return null;
112
- }
113
- }
114
100
  // ─── Gateway Connection ─────────────────────────────────────────
115
101
  connect() {
116
102
  if (!this.gatewayConfig)
@@ -137,13 +123,9 @@ export class OpenClawBridge extends EventEmitter {
137
123
  const ws = new WebSocket(this.gatewayConfig.url);
138
124
  this.ws = ws;
139
125
  ws.on('message', (data) => {
140
- let frame;
141
- try {
142
- frame = JSON.parse(String(data));
143
- }
144
- catch {
126
+ const frame = parseGatewayFrame(data);
127
+ if (!frame)
145
128
  return;
146
- }
147
129
  // Challenge → send connect
148
130
  if (frame.type === 'event' && frame.event === 'connect.challenge') {
149
131
  ws.send(JSON.stringify({
@@ -159,7 +141,7 @@ export class OpenClawBridge extends EventEmitter {
159
141
  platform: process.platform,
160
142
  mode: 'backend',
161
143
  },
162
- caps: [],
144
+ caps: ['tool-events'],
163
145
  auth: { token: this.gatewayConfig.token },
164
146
  role: 'operator',
165
147
  scopes: ['operator.read', 'operator.write', 'operator.admin'],
@@ -194,8 +176,12 @@ export class OpenClawBridge extends EventEmitter {
194
176
  }
195
177
  });
196
178
  ws.on('close', () => {
179
+ const wasConnected = this._connected;
197
180
  this._connected = false;
198
181
  this.ws = null;
182
+ if (wasConnected) {
183
+ this.failAllActiveSessions('Gateway connection closed unexpectedly');
184
+ }
199
185
  this.emit('disconnected');
200
186
  if (this._started) {
201
187
  this.scheduleReconnect();
@@ -222,17 +208,18 @@ export class OpenClawBridge extends EventEmitter {
222
208
  }, RECONNECT_DELAY_MS);
223
209
  }
224
210
  // ─── Request/Response ───────────────────────────────────────────
225
- sendRequest(method, params) {
211
+ sendRequest(method, params, timeoutMs) {
226
212
  return new Promise((resolve, reject) => {
227
213
  if (!this.isConnected) {
228
214
  reject(new Error('OpenClaw gateway not connected'));
229
215
  return;
230
216
  }
231
217
  const id = randomUUID();
218
+ const effectiveTimeout = timeoutMs ?? REQUEST_TIMEOUT_MS;
232
219
  const timeoutId = setTimeout(() => {
233
220
  this.pendingRequests.delete(id);
234
221
  reject(new Error(`Request ${method} timed out`));
235
- }, REQUEST_TIMEOUT_MS);
222
+ }, effectiveTimeout);
236
223
  this.pendingRequests.set(id, { resolve, reject, timeoutId });
237
224
  try {
238
225
  this.ws.send(JSON.stringify({
@@ -265,6 +252,11 @@ export class OpenClawBridge extends EventEmitter {
265
252
  }
266
253
  }
267
254
  handleEvent(frame) {
255
+ // Route agent and chat events to active task sessions
256
+ if (frame.event === 'agent' || frame.event === 'chat') {
257
+ this.routeTaskEvent(frame);
258
+ return;
259
+ }
268
260
  if (frame.event === 'approval.response') {
269
261
  // Direct approval response (if gateway supports it in the future)
270
262
  const approvalId = frame.payload?.approvalId;
@@ -290,6 +282,7 @@ export class OpenClawBridge extends EventEmitter {
290
282
  // Otherwise forward as a regular inbound message
291
283
  this.emit('inbound', frame.payload);
292
284
  }
285
+ // Ignore tick/health/presence/heartbeat silently
293
286
  }
294
287
  resolveApproval(approvalId, response) {
295
288
  const pending = this.pendingApprovals.get(approvalId);
@@ -300,7 +293,230 @@ export class OpenClawBridge extends EventEmitter {
300
293
  }
301
294
  this.emit('approval-response', { approvalId, response });
302
295
  }
303
- // ─── Public API ─────────────────────────────────────────────────
296
+ // ─── Task Execution (Session Multiplexing) ─────────────────────
297
+ /**
298
+ * Execute a task by sending chat.send through the shared WebSocket connection.
299
+ * Returns a Promise that resolves when the task completes (lifecycle.end + chat.final).
300
+ */
301
+ executeTask(sessionKey, message, stream, signal, timeout) {
302
+ return new Promise((resolve, reject) => {
303
+ if (!this.isConnected) {
304
+ reject(new Error('OpenClaw gateway not connected'));
305
+ return;
306
+ }
307
+ const session = {
308
+ sessionKey,
309
+ outputText: '',
310
+ artifacts: [],
311
+ metrics: undefined,
312
+ lifecycleEnded: false,
313
+ chatFinalReceived: false,
314
+ finished: false,
315
+ stream,
316
+ signal,
317
+ abortHandler: () => { },
318
+ resolve,
319
+ };
320
+ // Abort handler
321
+ session.abortHandler = () => {
322
+ try {
323
+ this.ws?.send(JSON.stringify({
324
+ type: 'req',
325
+ id: `abort-${randomUUID()}`,
326
+ method: 'chat.abort',
327
+ params: { sessionKey },
328
+ }));
329
+ }
330
+ catch { /* ignore */ }
331
+ this.finishSession(sessionKey, 'Task cancelled');
332
+ };
333
+ signal.addEventListener('abort', session.abortHandler);
334
+ // Task-level timeout
335
+ if (timeout) {
336
+ session.taskTimeout = setTimeout(() => {
337
+ this.finishSession(sessionKey, 'Task timed out');
338
+ }, timeout);
339
+ }
340
+ this.activeSessions.set(sessionKey, session);
341
+ // Send chat.send via the shared request mechanism
342
+ const idempotencyKey = randomUUID();
343
+ this.sendRequest('chat.send', {
344
+ sessionKey,
345
+ message,
346
+ idempotencyKey,
347
+ }, TASK_REQUEST_TIMEOUT_MS).then((payload) => {
348
+ const p = payload;
349
+ const runId = p?.runId;
350
+ if (runId) {
351
+ stream.status('running', 10, 'Task dispatched to agent');
352
+ }
353
+ }).catch((err) => {
354
+ this.finishSession(sessionKey, `Gateway rejected task: ${err.message}`);
355
+ });
356
+ });
357
+ }
358
+ /**
359
+ * Send a chat message to resume an existing session.
360
+ * Simplified variant of executeTask without artifact tracking.
361
+ */
362
+ sendChatMessage(sessionKey, message, stream, signal) {
363
+ return this.executeTask(sessionKey, message, stream, signal);
364
+ }
365
+ /** Route agent/chat events to the correct TaskSession */
366
+ routeTaskEvent(frame) {
367
+ const p = frame.payload || {};
368
+ // Find the matching session by sessionKey
369
+ let session;
370
+ for (const s of this.activeSessions.values()) {
371
+ if (matchesSessionKey(p.sessionKey, s.sessionKey)) {
372
+ session = s;
373
+ break;
374
+ }
375
+ }
376
+ if (!session || session.finished)
377
+ return;
378
+ if (frame.event === 'agent') {
379
+ this.handleAgentEvent(session, p);
380
+ }
381
+ else if (frame.event === 'chat') {
382
+ this.handleChatEvent(session, p);
383
+ }
384
+ }
385
+ handleAgentEvent(session, payload) {
386
+ const streamType = payload.stream;
387
+ const eventData = payload.data;
388
+ if (streamType === 'lifecycle') {
389
+ const phase = eventData?.phase;
390
+ if (phase === 'start') {
391
+ session.stream.sessionInit(payload.sessionKey || session.sessionKey, eventData?.model || undefined);
392
+ }
393
+ else if (phase === 'end') {
394
+ // Extract usage metrics from lifecycle.end
395
+ const usage = eventData?.usage;
396
+ const cost = (eventData?.total_cost_usd ?? eventData?.cost_usd);
397
+ const numTurns = eventData?.num_turns;
398
+ const durationMs = eventData?.duration_ms;
399
+ const model = eventData?.model;
400
+ if (usage || cost !== undefined) {
401
+ session.metrics = {
402
+ inputTokens: usage?.input_tokens,
403
+ outputTokens: usage?.output_tokens,
404
+ totalCost: cost,
405
+ numTurns,
406
+ durationMs,
407
+ model,
408
+ };
409
+ }
410
+ session.lifecycleEnded = true;
411
+ this.tryFinishAfterLifecycle(session);
412
+ }
413
+ }
414
+ else if (streamType === 'assistant') {
415
+ const delta = eventData?.delta || eventData?.text;
416
+ if (delta) {
417
+ session.outputText += delta;
418
+ session.stream.text(delta);
419
+ }
420
+ }
421
+ else if (streamType === 'tool_use') {
422
+ const toolName = eventData?.name || eventData?.toolName || 'unknown';
423
+ const toolInput = eventData?.input || eventData?.toolInput || {};
424
+ session.stream.toolUse(toolName, toolInput);
425
+ }
426
+ else if (streamType === 'tool_result') {
427
+ const toolName = eventData?.name || eventData?.toolName || 'unknown';
428
+ const result = eventData?.result || eventData?.output || '';
429
+ const success = eventData?.success !== false;
430
+ session.stream.toolResult(toolName, result, success);
431
+ }
432
+ else if (streamType === 'file_change') {
433
+ const filePath = eventData?.path || eventData?.file;
434
+ const rawAction = eventData?.type || eventData?.action || 'modified';
435
+ const action = (['created', 'modified', 'deleted'].includes(rawAction) ? rawAction : 'modified');
436
+ if (filePath) {
437
+ session.artifacts.push({ type: 'file', name: filePath, path: filePath, metadata: { action } });
438
+ session.stream.fileChange(filePath, action);
439
+ }
440
+ }
441
+ }
442
+ handleChatEvent(session, payload) {
443
+ const state = payload.state;
444
+ if (state === 'final') {
445
+ session.chatFinalReceived = true;
446
+ // Extract final message content
447
+ const message = payload.message;
448
+ if (message) {
449
+ const content = message.content;
450
+ if (content) {
451
+ for (const block of content) {
452
+ if (block.type === 'text' && block.text) {
453
+ // Only add if not already captured via agent delta events
454
+ if (!session.outputText.includes(block.text)) {
455
+ session.outputText += block.text;
456
+ }
457
+ }
458
+ }
459
+ }
460
+ }
461
+ // Extract model/usage from chat.final if not yet captured
462
+ if (!session.metrics) {
463
+ const usage = payload.usage;
464
+ const cost = (payload.total_cost_usd ?? payload.cost_usd);
465
+ const model = (payload.model ?? payload.message?.model);
466
+ if (usage || cost !== undefined || model) {
467
+ session.metrics = {
468
+ inputTokens: usage?.input_tokens,
469
+ outputTokens: usage?.output_tokens,
470
+ totalCost: cost,
471
+ model,
472
+ };
473
+ }
474
+ }
475
+ // If lifecycle already ended, finish immediately
476
+ if (session.lifecycleEnded) {
477
+ this.finishSession(session.sessionKey);
478
+ }
479
+ }
480
+ }
481
+ /** Finish when both lifecycle.end and chat.final have been seen, or
482
+ * after a short grace period if only lifecycle.end arrived. */
483
+ tryFinishAfterLifecycle(session) {
484
+ if (session.chatFinalReceived) {
485
+ this.finishSession(session.sessionKey);
486
+ }
487
+ else {
488
+ // Grace period: if chat.final doesn't arrive within 500ms, finish anyway
489
+ session.gracePeriodTimeout = setTimeout(() => {
490
+ if (!session.finished)
491
+ this.finishSession(session.sessionKey);
492
+ }, 500);
493
+ }
494
+ }
495
+ finishSession(sessionKey, error) {
496
+ const session = this.activeSessions.get(sessionKey);
497
+ if (!session || session.finished)
498
+ return;
499
+ session.finished = true;
500
+ session.signal.removeEventListener('abort', session.abortHandler);
501
+ if (session.taskTimeout)
502
+ clearTimeout(session.taskTimeout);
503
+ if (session.gracePeriodTimeout)
504
+ clearTimeout(session.gracePeriodTimeout);
505
+ this.activeSessions.delete(sessionKey);
506
+ session.resolve({
507
+ output: session.outputText,
508
+ error,
509
+ artifacts: session.artifacts.length > 0 ? session.artifacts : undefined,
510
+ metrics: session.metrics,
511
+ });
512
+ }
513
+ /** Fail all active task sessions — called on WebSocket close before reconnect */
514
+ failAllActiveSessions(error) {
515
+ for (const sessionKey of [...this.activeSessions.keys()]) {
516
+ this.finishSession(sessionKey, error);
517
+ }
518
+ }
519
+ // ─── Public API (Channel Relay) ────────────────────────────────
304
520
  async sendNotification(notification) {
305
521
  const prefix = this.getNotificationPrefix(notification.type);
306
522
  const msg = `${prefix} ${notification.summary}${notification.astroUrl ? `\n\n${notification.astroUrl}` : ''}`;