@bradygaster/squad-sdk 0.8.0 → 0.8.3

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 (112) hide show
  1. package/dist/adapter/client.d.ts +24 -4
  2. package/dist/adapter/client.d.ts.map +1 -1
  3. package/dist/adapter/client.js +368 -78
  4. package/dist/adapter/client.js.map +1 -1
  5. package/dist/adapter/types.d.ts +38 -0
  6. package/dist/adapter/types.d.ts.map +1 -1
  7. package/dist/agents/index.d.ts +6 -3
  8. package/dist/agents/index.d.ts.map +1 -1
  9. package/dist/agents/index.js +132 -23
  10. package/dist/agents/index.js.map +1 -1
  11. package/dist/agents/lifecycle.d.ts.map +1 -1
  12. package/dist/agents/lifecycle.js +28 -2
  13. package/dist/agents/lifecycle.js.map +1 -1
  14. package/dist/agents/model-selector.d.ts.map +1 -1
  15. package/dist/agents/model-selector.js +10 -37
  16. package/dist/agents/model-selector.js.map +1 -1
  17. package/dist/casting/index.d.ts.map +1 -1
  18. package/dist/casting/index.js +10 -2
  19. package/dist/casting/index.js.map +1 -1
  20. package/dist/client/event-bus.d.ts.map +1 -1
  21. package/dist/client/event-bus.js +0 -1
  22. package/dist/client/event-bus.js.map +1 -1
  23. package/dist/client/index.d.ts +7 -4
  24. package/dist/client/index.d.ts.map +1 -1
  25. package/dist/client/index.js +22 -10
  26. package/dist/client/index.js.map +1 -1
  27. package/dist/config/init.d.ts.map +1 -1
  28. package/dist/config/init.js +19 -12
  29. package/dist/config/init.js.map +1 -1
  30. package/dist/coordinator/coordinator.d.ts.map +1 -1
  31. package/dist/coordinator/coordinator.js +73 -55
  32. package/dist/coordinator/coordinator.js.map +1 -1
  33. package/dist/coordinator/index.d.ts +19 -4
  34. package/dist/coordinator/index.d.ts.map +1 -1
  35. package/dist/coordinator/index.js +138 -21
  36. package/dist/coordinator/index.js.map +1 -1
  37. package/dist/index.d.ts +12 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +12 -2
  40. package/dist/index.js.map +1 -1
  41. package/dist/ralph/index.d.ts +3 -1
  42. package/dist/ralph/index.d.ts.map +1 -1
  43. package/dist/ralph/index.js +83 -16
  44. package/dist/ralph/index.js.map +1 -1
  45. package/dist/resolution.d.ts +59 -0
  46. package/dist/resolution.d.ts.map +1 -1
  47. package/dist/resolution.js +145 -0
  48. package/dist/resolution.js.map +1 -1
  49. package/dist/runtime/config.d.ts +3 -2
  50. package/dist/runtime/config.d.ts.map +1 -1
  51. package/dist/runtime/config.js +7 -6
  52. package/dist/runtime/config.js.map +1 -1
  53. package/dist/runtime/constants.d.ts +35 -0
  54. package/dist/runtime/constants.d.ts.map +1 -0
  55. package/dist/runtime/constants.js +58 -0
  56. package/dist/runtime/constants.js.map +1 -0
  57. package/dist/runtime/event-bus-otel-bridge.d.ts +19 -0
  58. package/dist/runtime/event-bus-otel-bridge.d.ts.map +1 -0
  59. package/dist/runtime/event-bus-otel-bridge.js +61 -0
  60. package/dist/runtime/event-bus-otel-bridge.js.map +1 -0
  61. package/dist/runtime/event-bus-ws-bridge.d.ts +35 -0
  62. package/dist/runtime/event-bus-ws-bridge.d.ts.map +1 -0
  63. package/dist/runtime/event-bus-ws-bridge.js +55 -0
  64. package/dist/runtime/event-bus-ws-bridge.js.map +1 -0
  65. package/dist/runtime/event-payloads.d.ts +108 -0
  66. package/dist/runtime/event-payloads.d.ts.map +1 -0
  67. package/dist/runtime/event-payloads.js +28 -0
  68. package/dist/runtime/event-payloads.js.map +1 -0
  69. package/dist/runtime/health.d.ts.map +1 -1
  70. package/dist/runtime/health.js +2 -1
  71. package/dist/runtime/health.js.map +1 -1
  72. package/dist/runtime/otel-bridge.d.ts +52 -0
  73. package/dist/runtime/otel-bridge.d.ts.map +1 -0
  74. package/dist/runtime/otel-bridge.js +132 -0
  75. package/dist/runtime/otel-bridge.js.map +1 -0
  76. package/dist/runtime/otel-init.d.ts +72 -0
  77. package/dist/runtime/otel-init.d.ts.map +1 -0
  78. package/dist/runtime/otel-init.js +68 -0
  79. package/dist/runtime/otel-init.js.map +1 -0
  80. package/dist/runtime/otel-metrics.d.ts +42 -0
  81. package/dist/runtime/otel-metrics.d.ts.map +1 -0
  82. package/dist/runtime/otel-metrics.js +196 -0
  83. package/dist/runtime/otel-metrics.js.map +1 -0
  84. package/dist/runtime/otel.d.ts +53 -0
  85. package/dist/runtime/otel.d.ts.map +1 -0
  86. package/dist/runtime/otel.js +127 -0
  87. package/dist/runtime/otel.js.map +1 -0
  88. package/dist/runtime/squad-observer.d.ts +75 -0
  89. package/dist/runtime/squad-observer.d.ts.map +1 -0
  90. package/dist/runtime/squad-observer.js +190 -0
  91. package/dist/runtime/squad-observer.js.map +1 -0
  92. package/dist/runtime/streaming.d.ts +9 -0
  93. package/dist/runtime/streaming.d.ts.map +1 -1
  94. package/dist/runtime/streaming.js +37 -1
  95. package/dist/runtime/streaming.js.map +1 -1
  96. package/dist/tools/index.d.ts +8 -0
  97. package/dist/tools/index.d.ts.map +1 -1
  98. package/dist/tools/index.js +57 -1
  99. package/dist/tools/index.js.map +1 -1
  100. package/dist/upstream/index.d.ts +8 -0
  101. package/dist/upstream/index.d.ts.map +1 -0
  102. package/dist/upstream/index.js +7 -0
  103. package/dist/upstream/index.js.map +1 -0
  104. package/dist/upstream/resolver.d.ts +37 -0
  105. package/dist/upstream/resolver.d.ts.map +1 -0
  106. package/dist/upstream/resolver.js +234 -0
  107. package/dist/upstream/resolver.js.map +1 -0
  108. package/dist/upstream/types.d.ts +55 -0
  109. package/dist/upstream/types.d.ts.map +1 -0
  110. package/dist/upstream/types.js +11 -0
  111. package/dist/upstream/types.js.map +1 -0
  112. package/package.json +84 -2
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module adapter/client
8
8
  */
9
- import type { SquadSessionConfig, SquadSession, SquadSessionEventHandler, SquadSessionEventType, SquadSessionMetadata, SquadGetAuthStatusResponse, SquadGetStatusResponse, SquadModelInfo } from "./types.js";
9
+ import type { SquadSessionConfig, SquadSession, SquadSessionMetadata, SquadGetAuthStatusResponse, SquadGetStatusResponse, SquadModelInfo, SquadMessageOptions, SquadClientEventType, SquadClientEvent, SquadClientEventHandler } from "./types.js";
10
10
  /**
11
11
  * Connection state for SquadClient.
12
12
  */
@@ -209,10 +209,30 @@ export declare class SquadClient {
209
209
  */
210
210
  listModels(): Promise<SquadModelInfo[]>;
211
211
  /**
212
- * Subscribe to session lifecycle events.
212
+ * Send a message to a session, wrapped with OTel tracing.
213
+ *
214
+ * Creates a `squad.session.message` span for the full call and a
215
+ * child `squad.session.stream` span that tracks streaming duration
216
+ * with `first_token`, `last_token`, and `stream_error` events.
217
+ *
218
+ * @param session - The session to send the message to
219
+ * @param options - Message content and delivery options
220
+ * @returns Promise that resolves when the message is processed
221
+ */
222
+ sendMessage(session: SquadSession, options: SquadMessageOptions): Promise<void>;
223
+ /**
224
+ * Close a session (alias for deleteSession with `squad.session.close` span).
225
+ *
226
+ * @param sessionId - ID of the session to close
227
+ */
228
+ closeSession(sessionId: string): Promise<void>;
229
+ /**
230
+ * Subscribe to client-level session lifecycle events.
213
231
  */
214
- on(eventType: SquadSessionEventType, handler: SquadSessionEventHandler): () => void;
215
- on(handler: SquadSessionEventHandler): () => void;
232
+ on<K extends SquadClientEventType>(eventType: K, handler: (event: SquadClientEvent & {
233
+ type: K;
234
+ }) => void): () => void;
235
+ on(handler: SquadClientEventHandler): () => void;
216
236
  /**
217
237
  * Determine if an error is recoverable via reconnection.
218
238
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/adapter/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/adapter/client.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,103 @@
7
7
  * @module adapter/client
8
8
  */
9
9
  import { CopilotClient } from "@github/copilot-sdk";
10
+ import { trace, SpanStatusCode } from '@opentelemetry/api';
11
+ import { recordSessionCreated, recordSessionClosed, recordSessionError } from '../runtime/otel-metrics.js';
12
+ const tracer = trace.getTracer('squad-sdk');
13
+ /**
14
+ * Adapts @github/copilot-sdk CopilotSession to our SquadSession interface.
15
+ * Maps sendMessage() → send(), off() via unsubscribe tracking, close() → destroy().
16
+ *
17
+ * Bug reported by @spboyer (Shayne Boyer) — Codespace environment exposed
18
+ * the unsafe `as unknown as` cast that skipped runtime method mapping.
19
+ */
20
+ class CopilotSessionAdapter {
21
+ /**
22
+ * Maps Squad short event names → @github/copilot-sdk dotted event names.
23
+ * SDK uses dotted-namespace prefixes (e.g., `assistant.message_delta`),
24
+ * while Squad uses short names (e.g., `message_delta`).
25
+ * Names already in dotted form pass through via the fallback.
26
+ */
27
+ static EVENT_MAP = {
28
+ 'message_delta': 'assistant.message_delta',
29
+ 'message': 'assistant.message',
30
+ 'usage': 'assistant.usage',
31
+ 'reasoning_delta': 'assistant.reasoning_delta',
32
+ 'reasoning': 'assistant.reasoning',
33
+ 'turn_start': 'assistant.turn_start',
34
+ 'turn_end': 'assistant.turn_end',
35
+ 'intent': 'assistant.intent',
36
+ 'idle': 'session.idle',
37
+ 'error': 'session.error',
38
+ };
39
+ /** Reverse map: SDK dotted names → Squad short names. */
40
+ static REVERSE_EVENT_MAP = Object.fromEntries(Object.entries(CopilotSessionAdapter.EVENT_MAP).map(([k, v]) => [v, k]));
41
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
+ inner;
43
+ unsubscribers = new Map();
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ constructor(copilotSession) {
46
+ this.inner = copilotSession;
47
+ }
48
+ get sessionId() {
49
+ return this.inner.sessionId ?? 'unknown';
50
+ }
51
+ async sendMessage(options) {
52
+ await this.inner.send(options);
53
+ }
54
+ async sendAndWait(options, timeout) {
55
+ return await this.inner.sendAndWait(options, timeout);
56
+ }
57
+ async abort() {
58
+ await this.inner.abort();
59
+ }
60
+ async getMessages() {
61
+ return await this.inner.getMessages();
62
+ }
63
+ /**
64
+ * Normalizes an SDK event into a SquadSessionEvent.
65
+ * Maps the dotted type back to the Squad short name and
66
+ * flattens `event.data` onto the top-level object so callers
67
+ * can access fields directly (e.g., `event.inputTokens`).
68
+ */
69
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
+ static normalizeEvent(sdkEvent) {
71
+ const squadType = CopilotSessionAdapter.REVERSE_EVENT_MAP[sdkEvent.type] ?? sdkEvent.type;
72
+ return {
73
+ type: squadType,
74
+ ...(sdkEvent.data ?? {}),
75
+ };
76
+ }
77
+ on(eventType, handler) {
78
+ const sdkType = CopilotSessionAdapter.EVENT_MAP[eventType] ?? eventType;
79
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
+ const wrappedHandler = (sdkEvent) => {
81
+ handler(CopilotSessionAdapter.normalizeEvent(sdkEvent));
82
+ };
83
+ const unsubscribe = this.inner.on(sdkType, wrappedHandler);
84
+ if (!this.unsubscribers.has(handler)) {
85
+ this.unsubscribers.set(handler, new Map());
86
+ }
87
+ this.unsubscribers.get(handler).set(eventType, unsubscribe);
88
+ }
89
+ off(eventType, handler) {
90
+ const handlerMap = this.unsubscribers.get(handler);
91
+ if (handlerMap) {
92
+ const unsubscribe = handlerMap.get(eventType);
93
+ if (unsubscribe) {
94
+ unsubscribe();
95
+ handlerMap.delete(eventType);
96
+ }
97
+ if (handlerMap.size === 0) {
98
+ this.unsubscribers.delete(handler);
99
+ }
100
+ }
101
+ }
102
+ async close() {
103
+ await this.inner.destroy();
104
+ this.unsubscribers.clear();
105
+ }
106
+ }
10
107
  /**
11
108
  * SquadClient wraps CopilotClient with enhanced lifecycle management.
12
109
  *
@@ -98,27 +195,40 @@ export class SquadClient {
98
195
  * @throws Error if connection fails or protocol version is incompatible
99
196
  */
100
197
  async connect() {
101
- if (this.state === "connected") {
102
- return;
103
- }
104
- if (this.state === "connecting") {
105
- throw new Error("Connection already in progress");
106
- }
107
- this.state = "connecting";
108
- this.manualDisconnect = false;
109
- const startTime = Date.now();
198
+ const span = tracer.startSpan('squad.client.connect');
199
+ span.setAttribute('connection.transport', this.options.useStdio ? 'stdio' : 'tcp');
110
200
  try {
111
- await this.client.start();
112
- const elapsed = Date.now() - startTime;
113
- this.state = "connected";
114
- this.reconnectAttempts = 0;
115
- if (elapsed > 2000) {
116
- console.warn(`SquadClient connection took ${elapsed}ms (> 2s threshold)`);
201
+ if (this.state === "connected") {
202
+ return;
203
+ }
204
+ if (this.state === "connecting") {
205
+ throw new Error("Connection already in progress");
206
+ }
207
+ this.state = "connecting";
208
+ this.manualDisconnect = false;
209
+ const startTime = Date.now();
210
+ try {
211
+ await this.client.start();
212
+ const elapsed = Date.now() - startTime;
213
+ this.state = "connected";
214
+ this.reconnectAttempts = 0;
215
+ span.setAttribute('connection.duration_ms', elapsed);
216
+ if (elapsed > 2000) {
217
+ console.warn(`SquadClient connection took ${elapsed}ms (> 2s threshold)`);
218
+ }
219
+ }
220
+ catch (error) {
221
+ this.state = "error";
222
+ throw new Error(`Failed to connect to Copilot CLI: ${error instanceof Error ? error.message : String(error)}`);
117
223
  }
118
224
  }
119
- catch (error) {
120
- this.state = "error";
121
- throw new Error(`Failed to connect to Copilot CLI: ${error instanceof Error ? error.message : String(error)}`);
225
+ catch (err) {
226
+ span.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });
227
+ span.recordException(err instanceof Error ? err : new Error(String(err)));
228
+ throw err;
229
+ }
230
+ finally {
231
+ span.end();
122
232
  }
123
233
  }
124
234
  /**
@@ -132,15 +242,26 @@ export class SquadClient {
132
242
  * @returns Promise that resolves with any errors encountered during cleanup
133
243
  */
134
244
  async disconnect() {
135
- this.manualDisconnect = true;
136
- if (this.reconnectTimer) {
137
- clearTimeout(this.reconnectTimer);
138
- this.reconnectTimer = null;
245
+ const span = tracer.startSpan('squad.client.disconnect');
246
+ try {
247
+ this.manualDisconnect = true;
248
+ if (this.reconnectTimer) {
249
+ clearTimeout(this.reconnectTimer);
250
+ this.reconnectTimer = null;
251
+ }
252
+ const errors = await this.client.stop();
253
+ this.state = "disconnected";
254
+ this.reconnectAttempts = 0;
255
+ return errors;
256
+ }
257
+ catch (err) {
258
+ span.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });
259
+ span.recordException(err instanceof Error ? err : new Error(String(err)));
260
+ throw err;
261
+ }
262
+ finally {
263
+ span.end();
139
264
  }
140
- const errors = await this.client.stop();
141
- this.state = "disconnected";
142
- this.reconnectAttempts = 0;
143
- return errors;
144
265
  }
145
266
  /**
146
267
  * Force disconnect without graceful cleanup.
@@ -166,22 +287,40 @@ export class SquadClient {
166
287
  * @returns Promise that resolves with the created session
167
288
  */
168
289
  async createSession(config = {}) {
169
- if (!this.isConnected() && this.options.autoStart) {
170
- await this.connect();
171
- }
172
- if (!this.isConnected()) {
173
- throw new Error("Client not connected. Call connect() first.");
174
- }
290
+ const span = tracer.startSpan('squad.session.create');
291
+ span.setAttribute('session.auto_start', this.options.autoStart);
175
292
  try {
176
- const session = await this.client.createSession(config);
177
- return session;
178
- }
179
- catch (error) {
180
- if (this.shouldAttemptReconnect(error)) {
181
- await this.attemptReconnection();
182
- return this.createSession(config);
293
+ if (!this.isConnected() && this.options.autoStart) {
294
+ await this.connect();
183
295
  }
184
- throw error;
296
+ if (!this.isConnected()) {
297
+ throw new Error("Client not connected. Call connect() first.");
298
+ }
299
+ try {
300
+ const session = await this.client.createSession(config);
301
+ const result = new CopilotSessionAdapter(session);
302
+ if (result.sessionId) {
303
+ span.setAttribute('session.id', result.sessionId);
304
+ }
305
+ recordSessionCreated();
306
+ return result;
307
+ }
308
+ catch (error) {
309
+ recordSessionError();
310
+ if (this.shouldAttemptReconnect(error)) {
311
+ await this.attemptReconnection();
312
+ return this.createSession(config);
313
+ }
314
+ throw error;
315
+ }
316
+ }
317
+ catch (err) {
318
+ span.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });
319
+ span.recordException(err instanceof Error ? err : new Error(String(err)));
320
+ throw err;
321
+ }
322
+ finally {
323
+ span.end();
185
324
  }
186
325
  }
187
326
  /**
@@ -192,59 +331,105 @@ export class SquadClient {
192
331
  * @returns Promise that resolves with the resumed session
193
332
  */
194
333
  async resumeSession(sessionId, config = {}) {
195
- if (!this.isConnected() && this.options.autoStart) {
196
- await this.connect();
197
- }
198
- if (!this.isConnected()) {
199
- throw new Error("Client not connected. Call connect() first.");
200
- }
334
+ const span = tracer.startSpan('squad.session.resume');
335
+ span.setAttribute('session.id', sessionId);
201
336
  try {
202
- const session = await this.client.resumeSession(sessionId, config);
203
- return session;
204
- }
205
- catch (error) {
206
- if (this.shouldAttemptReconnect(error)) {
207
- await this.attemptReconnection();
208
- return this.resumeSession(sessionId, config);
337
+ if (!this.isConnected() && this.options.autoStart) {
338
+ await this.connect();
339
+ }
340
+ if (!this.isConnected()) {
341
+ throw new Error("Client not connected. Call connect() first.");
342
+ }
343
+ try {
344
+ const session = await this.client.resumeSession(sessionId, config);
345
+ return new CopilotSessionAdapter(session);
346
+ }
347
+ catch (error) {
348
+ if (this.shouldAttemptReconnect(error)) {
349
+ await this.attemptReconnection();
350
+ return this.resumeSession(sessionId, config);
351
+ }
352
+ throw error;
209
353
  }
210
- throw error;
354
+ }
355
+ catch (err) {
356
+ span.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });
357
+ span.recordException(err instanceof Error ? err : new Error(String(err)));
358
+ throw err;
359
+ }
360
+ finally {
361
+ span.end();
211
362
  }
212
363
  }
213
364
  /**
214
365
  * List all available sessions.
215
366
  */
216
367
  async listSessions() {
217
- if (!this.isConnected()) {
218
- throw new Error("Client not connected");
219
- }
368
+ const span = tracer.startSpan('squad.session.list');
220
369
  try {
221
- const sessions = await this.client.listSessions();
222
- return sessions;
223
- }
224
- catch (error) {
225
- if (this.shouldAttemptReconnect(error)) {
226
- await this.attemptReconnection();
227
- return this.listSessions();
370
+ if (!this.isConnected()) {
371
+ throw new Error("Client not connected");
228
372
  }
229
- throw error;
373
+ try {
374
+ const sessions = await this.client.listSessions();
375
+ const result = sessions.map((s) => ({
376
+ sessionId: s.sessionId,
377
+ startTime: s.startTime,
378
+ modifiedTime: s.modifiedTime,
379
+ summary: s.summary,
380
+ isRemote: s.isRemote,
381
+ context: s.context,
382
+ }));
383
+ span.setAttribute('sessions.count', result.length);
384
+ return result;
385
+ }
386
+ catch (error) {
387
+ if (this.shouldAttemptReconnect(error)) {
388
+ await this.attemptReconnection();
389
+ return this.listSessions();
390
+ }
391
+ throw error;
392
+ }
393
+ }
394
+ catch (err) {
395
+ span.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });
396
+ span.recordException(err instanceof Error ? err : new Error(String(err)));
397
+ throw err;
398
+ }
399
+ finally {
400
+ span.end();
230
401
  }
231
402
  }
232
403
  /**
233
404
  * Delete a session by ID.
234
405
  */
235
406
  async deleteSession(sessionId) {
236
- if (!this.isConnected()) {
237
- throw new Error("Client not connected");
238
- }
407
+ const span = tracer.startSpan('squad.session.delete');
408
+ span.setAttribute('session.id', sessionId);
239
409
  try {
240
- await this.client.deleteSession(sessionId);
241
- }
242
- catch (error) {
243
- if (this.shouldAttemptReconnect(error)) {
244
- await this.attemptReconnection();
245
- return this.deleteSession(sessionId);
410
+ if (!this.isConnected()) {
411
+ throw new Error("Client not connected");
246
412
  }
247
- throw error;
413
+ try {
414
+ await this.client.deleteSession(sessionId);
415
+ recordSessionClosed();
416
+ }
417
+ catch (error) {
418
+ recordSessionError();
419
+ if (this.shouldAttemptReconnect(error)) {
420
+ await this.attemptReconnection();
421
+ return this.deleteSession(sessionId);
422
+ }
423
+ throw error;
424
+ }
425
+ }
426
+ catch (err) {
427
+ span.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });
428
+ span.recordException(err instanceof Error ? err : new Error(String(err)));
429
+ throw err;
430
+ }
431
+ finally {
432
+ span.end();
248
433
  }
249
434
  }
250
435
  /**
@@ -291,7 +476,11 @@ export class SquadClient {
291
476
  throw new Error("Client not connected");
292
477
  }
293
478
  try {
294
- return await this.client.getStatus();
479
+ const raw = await this.client.getStatus();
480
+ return {
481
+ version: raw.version,
482
+ protocolVersion: raw.protocolVersion,
483
+ };
295
484
  }
296
485
  catch (error) {
297
486
  if (this.shouldAttemptReconnect(error)) {
@@ -309,7 +498,14 @@ export class SquadClient {
309
498
  throw new Error("Client not connected");
310
499
  }
311
500
  try {
312
- return await this.client.getAuthStatus();
501
+ const raw = await this.client.getAuthStatus();
502
+ return {
503
+ isAuthenticated: raw.isAuthenticated,
504
+ authType: raw.authType,
505
+ host: raw.host,
506
+ login: raw.login,
507
+ statusMessage: raw.statusMessage,
508
+ };
313
509
  }
314
510
  catch (error) {
315
511
  if (this.shouldAttemptReconnect(error)) {
@@ -327,7 +523,16 @@ export class SquadClient {
327
523
  throw new Error("Client not connected");
328
524
  }
329
525
  try {
330
- return await this.client.listModels();
526
+ const models = await this.client.listModels();
527
+ return models.map((m) => ({
528
+ id: m.id,
529
+ name: m.name,
530
+ capabilities: m.capabilities,
531
+ policy: m.policy,
532
+ billing: m.billing,
533
+ supportedReasoningEfforts: m.supportedReasoningEfforts,
534
+ defaultReasoningEffort: m.defaultReasoningEffort,
535
+ }));
331
536
  }
332
537
  catch (error) {
333
538
  if (this.shouldAttemptReconnect(error)) {
@@ -337,6 +542,91 @@ export class SquadClient {
337
542
  throw error;
338
543
  }
339
544
  }
545
+ /**
546
+ * Send a message to a session, wrapped with OTel tracing.
547
+ *
548
+ * Creates a `squad.session.message` span for the full call and a
549
+ * child `squad.session.stream` span that tracks streaming duration
550
+ * with `first_token`, `last_token`, and `stream_error` events.
551
+ *
552
+ * @param session - The session to send the message to
553
+ * @param options - Message content and delivery options
554
+ * @returns Promise that resolves when the message is processed
555
+ */
556
+ async sendMessage(session, options) {
557
+ const messageSpan = tracer.startSpan('squad.session.message');
558
+ messageSpan.setAttribute('session.id', session.sessionId);
559
+ messageSpan.setAttribute('prompt.length', options.prompt.length);
560
+ messageSpan.setAttribute('streaming', true);
561
+ const streamSpan = tracer.startSpan('squad.session.stream');
562
+ streamSpan.setAttribute('session.id', session.sessionId);
563
+ const messageStartMs = Date.now();
564
+ let firstTokenRecorded = false;
565
+ let outputTokens = 0;
566
+ let inputTokens = 0;
567
+ const origOn = session.on.bind(session);
568
+ // Wire temporary event listener for stream tracking
569
+ const streamListener = (event) => {
570
+ if (event.type === 'message_delta' && !firstTokenRecorded) {
571
+ firstTokenRecorded = true;
572
+ streamSpan.addEvent('first_token');
573
+ }
574
+ if (event.type === 'usage') {
575
+ inputTokens = typeof event['inputTokens'] === 'number' ? event['inputTokens'] : 0;
576
+ outputTokens = typeof event['outputTokens'] === 'number' ? event['outputTokens'] : 0;
577
+ }
578
+ };
579
+ origOn('message_delta', streamListener);
580
+ origOn('usage', streamListener);
581
+ try {
582
+ await session.sendMessage(options);
583
+ const durationMs = Date.now() - messageStartMs;
584
+ streamSpan.addEvent('last_token');
585
+ streamSpan.setAttribute('tokens.input', inputTokens);
586
+ streamSpan.setAttribute('tokens.output', outputTokens);
587
+ streamSpan.setAttribute('duration_ms', durationMs);
588
+ }
589
+ catch (err) {
590
+ streamSpan.addEvent('stream_error');
591
+ streamSpan.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });
592
+ streamSpan.recordException(err instanceof Error ? err : new Error(String(err)));
593
+ messageSpan.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });
594
+ messageSpan.recordException(err instanceof Error ? err : new Error(String(err)));
595
+ throw err;
596
+ }
597
+ finally {
598
+ streamSpan.end();
599
+ messageSpan.end();
600
+ // Clean up listeners
601
+ try {
602
+ session.off('message_delta', streamListener);
603
+ session.off('usage', streamListener);
604
+ }
605
+ catch {
606
+ // session may not support off — ignore
607
+ }
608
+ }
609
+ }
610
+ /**
611
+ * Close a session (alias for deleteSession with `squad.session.close` span).
612
+ *
613
+ * @param sessionId - ID of the session to close
614
+ */
615
+ async closeSession(sessionId) {
616
+ const span = tracer.startSpan('squad.session.close');
617
+ span.setAttribute('session.id', sessionId);
618
+ try {
619
+ await this.deleteSession(sessionId);
620
+ }
621
+ catch (err) {
622
+ span.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });
623
+ span.recordException(err instanceof Error ? err : new Error(String(err)));
624
+ throw err;
625
+ }
626
+ finally {
627
+ span.end();
628
+ }
629
+ }
340
630
  on(eventTypeOrHandler, handler) {
341
631
  if (typeof eventTypeOrHandler === "string" && handler) {
342
632
  return this.client.on(eventTypeOrHandler, handler);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/adapter/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/adapter/client.ts"],"names":[],"mappings":"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"}