@optima-chat/agentic-sdk 0.16.2 → 0.18.0

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 (43) hide show
  1. package/dist/client/event-parser.d.ts +22 -1
  2. package/dist/client/event-parser.d.ts.map +1 -1
  3. package/dist/client/event-parser.js +30 -0
  4. package/dist/client/event-parser.js.map +1 -1
  5. package/dist/client/gateway-client.d.ts +23 -0
  6. package/dist/client/gateway-client.d.ts.map +1 -1
  7. package/dist/client/gateway-client.js +98 -2
  8. package/dist/client/gateway-client.js.map +1 -1
  9. package/dist/client/otel.d.ts +52 -0
  10. package/dist/client/otel.d.ts.map +1 -0
  11. package/dist/client/otel.js +123 -0
  12. package/dist/client/otel.js.map +1 -0
  13. package/dist/hooks/use-tasks.d.ts +33 -0
  14. package/dist/hooks/use-tasks.d.ts.map +1 -0
  15. package/dist/hooks/use-tasks.js +91 -0
  16. package/dist/hooks/use-tasks.js.map +1 -0
  17. package/dist/index.d.ts +5 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/provider/chat-context.d.ts +2 -0
  22. package/dist/provider/chat-context.d.ts.map +1 -1
  23. package/dist/provider/chat-context.js.map +1 -1
  24. package/dist/provider/chat-provider.d.ts.map +1 -1
  25. package/dist/provider/chat-provider.js +15 -1
  26. package/dist/provider/chat-provider.js.map +1 -1
  27. package/dist/store/chat-store.d.ts +28 -0
  28. package/dist/store/chat-store.d.ts.map +1 -1
  29. package/dist/store/chat-store.js +51 -0
  30. package/dist/store/chat-store.js.map +1 -1
  31. package/dist/tasks/default-provider.d.ts +13 -0
  32. package/dist/tasks/default-provider.d.ts.map +1 -0
  33. package/dist/tasks/default-provider.js +28 -0
  34. package/dist/tasks/default-provider.js.map +1 -0
  35. package/dist/tasks/types.d.ts +25 -0
  36. package/dist/tasks/types.d.ts.map +1 -0
  37. package/dist/tasks/types.js +2 -0
  38. package/dist/tasks/types.js.map +1 -0
  39. package/dist/types.d.ts +3 -1
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/version.d.ts +1 -1
  42. package/dist/version.js +1 -1
  43. package/package.json +3 -2
@@ -1,4 +1,4 @@
1
- import type { ServerEvent, FinishInfo, Question } from '@optima-chat/gateway-protocol';
1
+ import type { ServerEvent, FinishInfo, Question, WorkerTaskState } from '@optima-chat/gateway-protocol';
2
2
  import type { Conversation, ToolCall, ChatError, ApprovalRequestWithId, ConversationLastMessageKind } from '../types.js';
3
3
  /**
4
4
  * Output of parseServerEvent — a declarative action (or list of actions) for
@@ -86,6 +86,27 @@ export type ParsedAction = {
86
86
  type: 'setCooStatus';
87
87
  status: 'sleeping' | 'woke_up' | 'dispatching_worker' | 'worker_launched' | 'idle';
88
88
  detail?: string;
89
+ } | {
90
+ type: 'upsertTask';
91
+ task: {
92
+ id: string;
93
+ name: string;
94
+ startedAt: string;
95
+ };
96
+ } | {
97
+ type: 'completeTask';
98
+ id: string;
99
+ patch: {
100
+ completedAt: string;
101
+ result: WorkerTaskState['result'];
102
+ };
103
+ } | {
104
+ type: 'failTask';
105
+ id: string;
106
+ patch: {
107
+ failedAt: string;
108
+ error: string;
109
+ };
89
110
  };
90
111
  /**
91
112
  * Parse a ServerEvent into zero or more declarative store actions.
@@ -1 +1 @@
1
- {"version":3,"file":"event-parser.d.ts","sourceRoot":"","sources":["../../src/client/event-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-parser.d.ts","sourceRoot":"","sources":["../../src/client/event-parser.ts"],"names":[],"mappings":"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"}
@@ -282,6 +282,36 @@ export function parseServerEvent(event, activeConversationId, sessionMode, lates
282
282
  return { type: 'setThinking', conversationId: event.conversation_id };
283
283
  }
284
284
  return null;
285
+ case 'task_started': {
286
+ return {
287
+ type: 'upsertTask',
288
+ task: {
289
+ id: event.task.id,
290
+ name: event.task.name,
291
+ startedAt: event.task.startedAt,
292
+ },
293
+ };
294
+ }
295
+ case 'task_completed': {
296
+ return {
297
+ type: 'completeTask',
298
+ id: event.task.id,
299
+ patch: {
300
+ completedAt: event.task.completedAt,
301
+ result: event.task.result,
302
+ },
303
+ };
304
+ }
305
+ case 'task_failed': {
306
+ return {
307
+ type: 'failTask',
308
+ id: event.task.id,
309
+ patch: {
310
+ failedAt: event.task.failedAt,
311
+ error: event.task.error,
312
+ },
313
+ };
314
+ }
285
315
  // Intentionally ignored — consumers can still observe via onRawEvent.
286
316
  case 'pong':
287
317
  case 'init':
@@ -1 +1 @@
1
- {"version":3,"file":"event-parser.js","sourceRoot":"","sources":["../../src/client/event-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-parser.js","sourceRoot":"","sources":["../../src/client/event-parser.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,17 @@ export interface GatewayClientOptions {
17
17
  * Returns the current userId for inclusion in update_token events. Invoked
18
18
  * every time token refresh runs so the returned value reflects the latest
19
19
  * store state. An empty string is sent if this is omitted or returns falsy.
20
+ *
21
+ * Also used to stamp `enduser.id` on OpenTelemetry client spans when an OTel
22
+ * SDK is installed by the host (no-op otherwise).
20
23
  */
21
24
  userIdProvider?: () => string | null | undefined;
25
+ /**
26
+ * Returns the current gateway sessionId. Used only to stamp `session.id` on
27
+ * OpenTelemetry client spans (no-op when the host hasn't installed an OTel
28
+ * SDK). Optional — omit it in headless/test contexts that don't trace.
29
+ */
30
+ sessionIdProvider?: () => string | null | undefined;
22
31
  reconnectOptions?: {
23
32
  maxRetries?: number;
24
33
  baseDelay?: number;
@@ -38,9 +47,17 @@ export declare class GatewayClient {
38
47
  private reconnectTimer;
39
48
  private reconnectAttempt;
40
49
  private intentionalDisconnect;
50
+ private superseded;
41
51
  private readonly reconnectConfig;
42
52
  private readonly heartbeatInterval;
43
53
  constructor(options: GatewayClientOptions);
54
+ /**
55
+ * Current identity (userId/sessionId) for stamping OTel spans. Pulls the
56
+ * latest values from the host-provided callbacks so spans reflect live store
57
+ * state. Returns empty fields when callbacks are absent — the OTel helpers
58
+ * omit empty attributes.
59
+ */
60
+ private spanIdentity;
44
61
  connect(opts?: TokenProviderOpts): Promise<void>;
45
62
  disconnect(): void;
46
63
  /**
@@ -79,6 +96,12 @@ export declare class GatewayClient {
79
96
  */
80
97
  private sendClientHello;
81
98
  private openSocket;
99
+ /**
100
+ * #1127 A+:本连接被同 user 新连接接管。停心跳、抑制自动重连、置 superseded,
101
+ * 干净关掉这条已变哑的 socket(onclose 会发终态 'superseded')。用户点"在本窗口继续"
102
+ * → reconnect()(清 superseded + 重连 → 成为最新 owner,把对端踢成 superseded)。
103
+ */
104
+ private handleSuperseded;
82
105
  private handleMessage;
83
106
  private scheduleReconnect;
84
107
  private startHeartbeat;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../../src/client/gateway-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACtE,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,uBAAuB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,WAAW,GAAG,IAAI,CAAC;IAC1D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjD,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAQD;;;;GAIG;AACH,qBAAa,aAAa;IASZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAEd,OAAO,EAAE,oBAAoB;IASpD,OAAO,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtD,UAAU,IAAI,IAAI;IAkBlB;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;OAKG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAchE,iEAAiE;IACjE,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAWjC;;;;;;;OAOG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BxD,4EAA4E;IACtE,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoCzC;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;YAWT,UAAU;IAyExB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;CAMtB"}
1
+ {"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../../src/client/gateway-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAWrB,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACtE,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,uBAAuB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,WAAW,GAAG,IAAI,CAAC;IAC1D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAQD;;;;GAIG;AACH,qBAAa,aAAa;IAYZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAXpC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,qBAAqB,CAAS;IAGtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAEd,OAAO,EAAE,oBAAoB;IAS1D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAOd,OAAO,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD,UAAU,IAAI,IAAI;IAkBlB;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;OAKG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAchE,iEAAiE;IACjE,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAyCjC;;;;;;;OAOG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BxD,4EAA4E;IACtE,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoCzC;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;YAWT,UAAU;IA+ExB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;CAMtB"}
@@ -1,4 +1,5 @@
1
1
  import { SDK_VERSION } from '../version.js';
2
+ import { startClientSpan, endSpan, failSpan, attachTraceContext, getActiveSpan, } from './otel.js';
2
3
  /**
3
4
  * WebSocket client for the Optima gateway. Handles connect/reconnect,
4
5
  * heartbeat, token-refresh signalling, and event dispatch. Does not own any
@@ -11,6 +12,9 @@ export class GatewayClient {
11
12
  reconnectTimer = null;
12
13
  reconnectAttempt = 0;
13
14
  intentionalDisconnect = false;
15
+ // #1127 A+:本连接被同 user 的新连接接管(SESSION_TAKEN_OVER)。置位后停止自动重连,
16
+ // 进 'superseded' 态;connect()/reconnect() 会清掉(reclaim)。
17
+ superseded = false;
14
18
  reconnectConfig;
15
19
  heartbeatInterval;
16
20
  constructor(options) {
@@ -22,10 +26,36 @@ export class GatewayClient {
22
26
  };
23
27
  this.heartbeatInterval = options.heartbeatInterval ?? 30000;
24
28
  }
29
+ /**
30
+ * Current identity (userId/sessionId) for stamping OTel spans. Pulls the
31
+ * latest values from the host-provided callbacks so spans reflect live store
32
+ * state. Returns empty fields when callbacks are absent — the OTel helpers
33
+ * omit empty attributes.
34
+ */
35
+ spanIdentity() {
36
+ return {
37
+ userId: this.options.userIdProvider?.(),
38
+ sessionId: this.options.sessionIdProvider?.(),
39
+ };
40
+ }
25
41
  async connect(opts) {
26
42
  this.intentionalDisconnect = false;
43
+ this.superseded = false; // reclaim:重新连即重新争夺所有权
27
44
  this.options.onConnectionStateChange('connecting');
28
- await this.openSocket(opts);
45
+ // Client span over the whole connect → ws.onopen handshake. No-op unless the
46
+ // host has installed an OTel SDK (#1153, SDK leg). openSocket resolves on
47
+ // open / close / scheduled-reconnect, so the span closes on any terminal.
48
+ const span = startClientSpan('gateway.connect', this.spanIdentity(), {
49
+ 'optima.reconnect_attempt': this.reconnectAttempt,
50
+ });
51
+ try {
52
+ await this.openSocket(opts);
53
+ endSpan(span);
54
+ }
55
+ catch (err) {
56
+ failSpan(span, err);
57
+ throw err;
58
+ }
29
59
  }
30
60
  disconnect() {
31
61
  this.intentionalDisconnect = true;
@@ -80,7 +110,36 @@ export class GatewayClient {
80
110
  const ws = this.ws;
81
111
  if (!ws || ws.readyState !== 1 /* OPEN */)
82
112
  return false;
83
- ws.send(JSON.stringify(transformed));
113
+ // Trace only user-meaningful sends to keep span volume sane: a `message`
114
+ // send is the SDK-side root of one user turn (user → gateway → agent-runtime).
115
+ // Heartbeat `ping` and other control frames are intentionally not spanned —
116
+ // but ALL frames carry the injected `__otel` traceparent carrier so the
117
+ // gateway can correlate them to whatever trace is active. No-op SDK → no span
118
+ // and no carrier (frame byte-identical to before). See client/otel.ts (#1153).
119
+ if (transformed.type === 'message') {
120
+ const span = startClientSpan('gateway.send_message', this.spanIdentity(), {
121
+ 'optima.conversation_id': transformed.conversation_id,
122
+ 'messaging.system': 'optima-gateway-ws',
123
+ 'messaging.operation': 'publish',
124
+ });
125
+ try {
126
+ ws.send(JSON.stringify(attachTraceContext(transformed, span)));
127
+ endSpan(span);
128
+ return true;
129
+ }
130
+ catch (err) {
131
+ failSpan(span, err);
132
+ throw err;
133
+ }
134
+ }
135
+ // Non-message frames: still inject the active trace context (if any) so the
136
+ // gateway can stitch control events into the same trace, but don't open a
137
+ // dedicated span. With no active span/SDK this returns the event unchanged.
138
+ const activeSpan = getActiveSpan();
139
+ const outgoing = activeSpan
140
+ ? attachTraceContext(transformed, activeSpan)
141
+ : transformed;
142
+ ws.send(JSON.stringify(outgoing));
84
143
  return true;
85
144
  }
86
145
  /**
@@ -208,6 +267,12 @@ export class GatewayClient {
208
267
  };
209
268
  ws.onclose = () => {
210
269
  this.stopHeartbeat();
270
+ // #1127 A+:被接管 → 终态 'superseded',绝不自动重连(优先于 intentionalDisconnect)。
271
+ if (this.superseded) {
272
+ this.options.onConnectionStateChange('superseded');
273
+ resolve();
274
+ return;
275
+ }
211
276
  if (this.intentionalDisconnect) {
212
277
  this.options.onConnectionStateChange('disconnected');
213
278
  // Always resolve so any caller awaiting connect()/reconnect() on
@@ -237,6 +302,30 @@ export class GatewayClient {
237
302
  ws.onmessage = (ev) => this.handleMessage(ev);
238
303
  });
239
304
  }
305
+ /**
306
+ * #1127 A+:本连接被同 user 新连接接管。停心跳、抑制自动重连、置 superseded,
307
+ * 干净关掉这条已变哑的 socket(onclose 会发终态 'superseded')。用户点"在本窗口继续"
308
+ * → reconnect()(清 superseded + 重连 → 成为最新 owner,把对端踢成 superseded)。
309
+ */
310
+ handleSuperseded() {
311
+ this.superseded = true;
312
+ this.intentionalDisconnect = true;
313
+ if (this.reconnectTimer !== null) {
314
+ clearTimeout(this.reconnectTimer);
315
+ this.reconnectTimer = null;
316
+ }
317
+ this.stopHeartbeat();
318
+ this.options.onConnectionStateChange('superseded');
319
+ if (this.ws) {
320
+ try {
321
+ this.ws.close();
322
+ }
323
+ catch {
324
+ /* 旧 socket 可能已关;接管是 best-effort */
325
+ }
326
+ this.ws = null;
327
+ }
328
+ }
240
329
  handleMessage(ev) {
241
330
  let event;
242
331
  try {
@@ -247,6 +336,13 @@ export class GatewayClient {
247
336
  }
248
337
  // Always forward to consumer — they may route it to rawEvent.
249
338
  this.options.onEvent(event);
339
+ // #1127 A+:同 user 新连接接管本 session → 停止重连、进 'superseded'(对齐 gateway #1130
340
+ // 发的 {type:'info', info:{code:'SESSION_TAKEN_OVER'}});用户可 reconnect() 抢回。
341
+ if (event.type === 'info' &&
342
+ event.info?.code === 'SESSION_TAKEN_OVER') {
343
+ this.handleSuperseded();
344
+ return;
345
+ }
250
346
  // Internal handling: token_refresh_needed triggers a refresh+send cycle.
251
347
  if (event.type === 'token_refresh_needed') {
252
348
  void this.handleTokenRefresh();
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../../src/client/gateway-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../../src/client/gateway-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { type Span } from '@opentelemetry/api';
2
+ /**
3
+ * Field on an outgoing WS frame that carries the W3C trace context. Chosen as a
4
+ * dedicated, namespaced top-level key (rather than overloading per-event fields)
5
+ * so the gateway can read it generically off ANY client event with one check,
6
+ * regardless of the event `type`. Double-underscore signals "transport metadata,
7
+ * not protocol payload" — gateway handlers that don't know about it simply ignore
8
+ * the extra key (JSON is forward-compatible).
9
+ *
10
+ * Carrier shape: `{ traceparent: string, tracestate?: string }` per the W3C
11
+ * Trace Context spec (https://www.w3.org/TR/trace-context/).
12
+ */
13
+ export declare const OTEL_CARRIER_KEY: "__otel";
14
+ export interface SpanIdentity {
15
+ /** End-user id (maps to OTel `enduser.id`). */
16
+ userId?: string | null;
17
+ /** Gateway session id (maps to `session.id`). */
18
+ sessionId?: string | null;
19
+ }
20
+ /**
21
+ * Start a CLIENT span for a discrete GatewayClient operation (e.g. `connect`,
22
+ * `send message`). Returns the span; caller MUST call `endSpan(span)` (or
23
+ * `failSpan`) — `runWithSpan` does this automatically for sync work.
24
+ *
25
+ * No-op SDK → returns a no-op span; all methods are safe to call and do nothing.
26
+ */
27
+ export declare function startClientSpan(name: string, identity: SpanIdentity, extraAttributes?: Record<string, string | number | boolean>): Span;
28
+ /**
29
+ * The currently-active span on the context, or null when none (or no SDK).
30
+ * Used to propagate context onto non-message control frames without opening a
31
+ * dedicated span.
32
+ */
33
+ export declare function getActiveSpan(): Span | null;
34
+ /** End a span successfully. Safe on a no-op span. */
35
+ export declare function endSpan(span: Span): void;
36
+ /** Record an error on a span and end it. Safe on a no-op span. */
37
+ export declare function failSpan(span: Span, err: unknown): void;
38
+ /**
39
+ * Inject the W3C trace context for `span` into a fresh carrier object and return
40
+ * it. The carrier is `{ traceparent, tracestate? }`. When no SDK is installed the
41
+ * propagator is a no-op and the returned carrier is empty `{}` — callers should
42
+ * therefore only attach it when it actually has keys (see `attachTraceContext`).
43
+ */
44
+ export declare function injectTraceContext(span: Span): Record<string, string>;
45
+ /**
46
+ * Returns `event` unchanged when there's no trace context to inject (no active
47
+ * SDK), or a shallow copy with the `__otel` carrier added when there is. Never
48
+ * mutates the input. Generic over the event shape so it composes with the
49
+ * protocol's `ClientEvent` union without widening it at the call site.
50
+ */
51
+ export declare function attachTraceContext<T extends object>(event: T, span: Span): T;
52
+ //# sourceMappingURL=otel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../src/client/otel.ts"],"names":[],"mappings":"AAsBA,OAAO,EAKL,KAAK,IAAI,EAEV,MAAM,oBAAoB,CAAC;AAM5B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAG,QAAiB,CAAC;AAalD,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAiBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,YAAY,EACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAC1D,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,IAAI,GAAG,IAAI,CAE3C;AAED,qDAAqD;AACrD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAExC;AAED,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAKvD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKrE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAO5E"}
@@ -0,0 +1,123 @@
1
+ // Client-side OpenTelemetry instrumentation for GatewayClient.
2
+ //
3
+ // This is a *library*, not a service: it depends ONLY on `@opentelemetry/api`
4
+ // and never initialises the OTel SDK, registers a provider, or ships an
5
+ // exporter. When the host application (agentic-chat, an e2e harness, …) has
6
+ // installed and started an OTel SDK, the global tracer/propagator picked up
7
+ // here become real and spans + W3C `traceparent` flow end-to-end. When the
8
+ // host has NOT installed an SDK, `@opentelemetry/api` returns its built-in
9
+ // **no-op** tracer and propagator — so every function below is a zero-side-effect
10
+ // no-op with no runtime dependency on a node- or browser-only API. No feature
11
+ // flag, no env toggle: absence of an SDK is the off switch.
12
+ //
13
+ // Headless-safe: `@opentelemetry/api` is pure JS with no DOM/node imports, so
14
+ // this works identically in the browser SDK and the plain-Node `/client` entry.
15
+ //
16
+ // Scope of this slice (Optima-Chat/optima-gateway#1153, SDK leg only):
17
+ // - produce client spans for connect / send;
18
+ // - stamp `enduser.id` (userId) and `session.id` (sessionId) when known;
19
+ // - inject a W3C `traceparent` (+ `tracestate`) carrier so the gateway can
20
+ // later read it off the WS message and continue the distributed trace.
21
+ // NOT in scope: full browser RUM, auto page instrumentation, session replay.
22
+ import { context, propagation, trace, SpanStatusCode, } from '@opentelemetry/api';
23
+ import { SDK_VERSION } from '../version.js';
24
+ /** Instrumentation scope name — shows up as `otel.scope.name` on every span. */
25
+ const TRACER_NAME = '@optima-chat/agentic-sdk';
26
+ /**
27
+ * Field on an outgoing WS frame that carries the W3C trace context. Chosen as a
28
+ * dedicated, namespaced top-level key (rather than overloading per-event fields)
29
+ * so the gateway can read it generically off ANY client event with one check,
30
+ * regardless of the event `type`. Double-underscore signals "transport metadata,
31
+ * not protocol payload" — gateway handlers that don't know about it simply ignore
32
+ * the extra key (JSON is forward-compatible).
33
+ *
34
+ * Carrier shape: `{ traceparent: string, tracestate?: string }` per the W3C
35
+ * Trace Context spec (https://www.w3.org/TR/trace-context/).
36
+ */
37
+ export const OTEL_CARRIER_KEY = '__otel';
38
+ /**
39
+ * Resolve the tracer fresh each call via `trace.getTracer`. We intentionally do
40
+ * NOT cache it: the host may register its OTel SDK *after* this module loads
41
+ * (common — SDK init runs at app bootstrap, which can be later than the first
42
+ * import), and a cached no-op tracer would then never upgrade. `getTracer` is a
43
+ * cheap registry lookup, so calling it per-operation is fine.
44
+ */
45
+ function tracer() {
46
+ return trace.getTracer(TRACER_NAME, SDK_VERSION);
47
+ }
48
+ /**
49
+ * Build the base attribute set shared by every client span. Undefined/empty
50
+ * identity fields are simply omitted (no `undefined` attributes).
51
+ */
52
+ function baseAttributes(identity) {
53
+ const attrs = {
54
+ // Semantic-ish markers so backends can group SDK-originated spans.
55
+ 'optima.sdk.version': SDK_VERSION,
56
+ 'optima.component': 'agentic-sdk.gateway-client',
57
+ };
58
+ if (identity.userId)
59
+ attrs['enduser.id'] = identity.userId;
60
+ if (identity.sessionId)
61
+ attrs['session.id'] = identity.sessionId;
62
+ return attrs;
63
+ }
64
+ /**
65
+ * Start a CLIENT span for a discrete GatewayClient operation (e.g. `connect`,
66
+ * `send message`). Returns the span; caller MUST call `endSpan(span)` (or
67
+ * `failSpan`) — `runWithSpan` does this automatically for sync work.
68
+ *
69
+ * No-op SDK → returns a no-op span; all methods are safe to call and do nothing.
70
+ */
71
+ export function startClientSpan(name, identity, extraAttributes) {
72
+ return tracer().startSpan(name, {
73
+ kind: 1 /* SpanKind.CLIENT — avoids importing the enum for one value */,
74
+ attributes: { ...baseAttributes(identity), ...extraAttributes },
75
+ });
76
+ }
77
+ /**
78
+ * The currently-active span on the context, or null when none (or no SDK).
79
+ * Used to propagate context onto non-message control frames without opening a
80
+ * dedicated span.
81
+ */
82
+ export function getActiveSpan() {
83
+ return trace.getActiveSpan() ?? null;
84
+ }
85
+ /** End a span successfully. Safe on a no-op span. */
86
+ export function endSpan(span) {
87
+ span.end();
88
+ }
89
+ /** Record an error on a span and end it. Safe on a no-op span. */
90
+ export function failSpan(span, err) {
91
+ const message = err instanceof Error ? err.message : String(err);
92
+ if (err instanceof Error)
93
+ span.recordException(err);
94
+ span.setStatus({ code: SpanStatusCode.ERROR, message });
95
+ span.end();
96
+ }
97
+ /**
98
+ * Inject the W3C trace context for `span` into a fresh carrier object and return
99
+ * it. The carrier is `{ traceparent, tracestate? }`. When no SDK is installed the
100
+ * propagator is a no-op and the returned carrier is empty `{}` — callers should
101
+ * therefore only attach it when it actually has keys (see `attachTraceContext`).
102
+ */
103
+ export function injectTraceContext(span) {
104
+ const carrier = {};
105
+ const ctx = trace.setSpan(context.active(), span);
106
+ propagation.inject(ctx, carrier);
107
+ return carrier;
108
+ }
109
+ /**
110
+ * Returns `event` unchanged when there's no trace context to inject (no active
111
+ * SDK), or a shallow copy with the `__otel` carrier added when there is. Never
112
+ * mutates the input. Generic over the event shape so it composes with the
113
+ * protocol's `ClientEvent` union without widening it at the call site.
114
+ */
115
+ export function attachTraceContext(event, span) {
116
+ const carrier = injectTraceContext(span);
117
+ if (Object.keys(carrier).length === 0) {
118
+ // No-op SDK (or no propagator) — leave the frame byte-for-byte identical.
119
+ return event;
120
+ }
121
+ return { ...event, [OTEL_CARRIER_KEY]: carrier };
122
+ }
123
+ //# sourceMappingURL=otel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../src/client/otel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { NormalizedTask } from '../tasks/types.js';
2
+ /**
3
+ * 70 minutes: WORKER_MAX_DURATION (1 h) + 10 min buffer.
4
+ *
5
+ * A `running` task row older than this is almost certainly a ghost (#979):
6
+ * the worker crashed / was killed without emitting task_failed, leaving a
7
+ * stale DB row. We surface `stale: true` so UIs can show a "may be stuck"
8
+ * indicator instead of displaying an indefinitely running task.
9
+ *
10
+ * Do NOT shorten below 70 min — a legitimately long task can occupy the full
11
+ * WORKER_MAX_DURATION (1 h) and must not be false-positive-staled.
12
+ */
13
+ export declare const DEFAULT_TASK_STALE_AFTER_MS: number;
14
+ export interface UseTasksOptions {
15
+ /** Override the age threshold for marking a running row stale. Defaults to DEFAULT_TASK_STALE_AFTER_MS. */
16
+ staleAfterMs?: number;
17
+ }
18
+ export interface UseTasksResult {
19
+ tasks: NormalizedTask[];
20
+ isLoading: boolean;
21
+ error: Error | null;
22
+ refetch: () => void;
23
+ }
24
+ /**
25
+ * useTasks — hydrates the tasks store slice from REST, lets live task_* WS
26
+ * events keep it authoritative (via B3's store slice), and derives a `stale`
27
+ * flag for ghost `running` rows as a #979 mitigation.
28
+ *
29
+ * Missing-provider behavior matches useWorkspaceFiles exactly: throw if
30
+ * `tasksProvider` is null on the context.
31
+ */
32
+ export declare function useTasks(opts?: UseTasksOptions): UseTasksResult;
33
+ //# sourceMappingURL=use-tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-tasks.d.ts","sourceRoot":"","sources":["../../src/hooks/use-tasks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,2GAA2G;IAC3G,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc,CA2E/D"}