@optima-chat/agentic-sdk 0.16.1 → 0.17.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 (44) 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 +4 -4
  6. package/dist/client/gateway-client.d.ts.map +1 -1
  7. package/dist/client/gateway-client.js +12 -6
  8. package/dist/client/gateway-client.js.map +1 -1
  9. package/dist/client/index.d.ts +8 -0
  10. package/dist/client/index.d.ts.map +1 -0
  11. package/dist/client/index.js +18 -0
  12. package/dist/client/index.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 +7 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +6 -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 +8 -1
  25. package/dist/provider/chat-provider.d.ts.map +1 -1
  26. package/dist/provider/chat-provider.js +67 -2
  27. package/dist/provider/chat-provider.js.map +1 -1
  28. package/dist/store/chat-store.d.ts +28 -0
  29. package/dist/store/chat-store.d.ts.map +1 -1
  30. package/dist/store/chat-store.js +168 -3
  31. package/dist/store/chat-store.js.map +1 -1
  32. package/dist/tasks/default-provider.d.ts +13 -0
  33. package/dist/tasks/default-provider.d.ts.map +1 -0
  34. package/dist/tasks/default-provider.js +28 -0
  35. package/dist/tasks/default-provider.js.map +1 -0
  36. package/dist/tasks/types.d.ts +25 -0
  37. package/dist/tasks/types.d.ts.map +1 -0
  38. package/dist/tasks/types.js +2 -0
  39. package/dist/tasks/types.js.map +1 -0
  40. package/dist/types.d.ts +11 -1
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/version.d.ts +1 -1
  43. package/dist/version.js +1 -1
  44. package/package.json +6 -2
@@ -5,6 +5,30 @@ import { createChatStore } from '../store/chat-store.js';
5
5
  import { GatewayClient } from '../client/gateway-client.js';
6
6
  import { ConversationAPI } from '../client/conversation-api.js';
7
7
  import { parseServerEvent } from '../client/event-parser.js';
8
+ // Anti-loop guard for Layer A: after a recovery attempt, subsequent
9
+ // AUTH_TOKEN_INVALID signals within this window only fire onAuthError but
10
+ // do NOT re-trigger reconnect. Keyed by store identity so multiple
11
+ // providers don't interfere; WeakMap so unmounted providers GC cleanly.
12
+ // See docs/superpowers/plans/2026-06-02-token-recovery-54.md #54.
13
+ const AUTH_RECOVERY_COOLDOWN_MS = 5000;
14
+ const lastAuthRecoveryAt = new WeakMap();
15
+ /**
16
+ * Detect server `error` events meaning "the access token the SDK presented
17
+ * has been rejected" — canonical `AUTH_TOKEN_INVALID` code, casing variants,
18
+ * or a legacy server with no code but a recognizable message. Used by the
19
+ * ChatProvider event handler to trigger Layer A token recovery (#54).
20
+ */
21
+ export function isAuthExpiredSignal(error) {
22
+ const code = (error.code ?? '').toUpperCase();
23
+ if (code === 'AUTH_TOKEN_INVALID')
24
+ return true;
25
+ // Defensive fallback for non-canonical servers — message must mention
26
+ // "token" AND one of expired/invalid/rejected, in either order.
27
+ const msg = (error.message ?? '').toLowerCase();
28
+ if (!msg.includes('token'))
29
+ return false;
30
+ return /(expired|invalid|rejected)/.test(msg);
31
+ }
8
32
  /**
9
33
  * <ChatProvider> — wires GatewayClient + ConversationAPI + Store together,
10
34
  * parses incoming ServerEvents into store mutations, and forwards selected
@@ -43,7 +67,37 @@ export function ChatProvider(props) {
43
67
  const c = new GatewayClient({
44
68
  gatewayUrl,
45
69
  tokenProvider,
46
- onEvent: (event) => handleServerEvent(event, store, propsRef.current),
70
+ onEvent: (event) => {
71
+ // Layer A: AUTH_TOKEN_INVALID auto-recovery (#54). Fire consumer's
72
+ // onAuthError so their refresh / re-login flow runs, then trigger
73
+ // SDK-side reconnect with forceRefresh so the new socket presents
74
+ // a fresh token. The error event is suppressed from the chat UI
75
+ // (we return before parseServerEvent). Anti-loop guard: a repeat
76
+ // signal within AUTH_RECOVERY_COOLDOWN_MS still fires onAuthError
77
+ // but does NOT re-trigger reconnect.
78
+ //
79
+ // Intentional divergence from gateway-client's openSocket auth-fail
80
+ // path (gateway-client.ts:227-231): that one calls
81
+ // setConnectionError + transitions to 'auth_failed', surfacing a UI
82
+ // banner. Layer A intentionally does NOT, because the whole point
83
+ // is silent transparent recovery.
84
+ if (event.type === 'error' && isAuthExpiredSignal(event.error)) {
85
+ const err = {
86
+ code: 'auth_expired',
87
+ message: event.error.message || 'Authentication token expired',
88
+ };
89
+ propsRef.current.onAuthError?.(err);
90
+ const now = Date.now();
91
+ const last = lastAuthRecoveryAt.get(store) ?? 0;
92
+ if (now - last < AUTH_RECOVERY_COOLDOWN_MS) {
93
+ return;
94
+ }
95
+ lastAuthRecoveryAt.set(store, now);
96
+ void clientRef.current?.reconnect({ forceRefresh: true });
97
+ return;
98
+ }
99
+ handleServerEvent(event, store, propsRef.current);
100
+ },
47
101
  onConnectionStateChange: (state) => {
48
102
  store.getState().setConnectionState(state);
49
103
  if (state === 'connected') {
@@ -95,7 +149,8 @@ export function ChatProvider(props) {
95
149
  return unsubscribe;
96
150
  }, [props.onTokenChange]);
97
151
  const workspaceProvider = props.workspaceProvider ?? null;
98
- return (_jsx(ChatContext.Provider, { value: { store, client, api, workspaceProvider }, children: children }));
152
+ const tasksProvider = props.tasksProvider ?? null;
153
+ return (_jsx(ChatContext.Provider, { value: { store, client, api, workspaceProvider, tasksProvider }, children: children }));
99
154
  }
100
155
  /**
101
156
  * Events whose arrival means "this conversation has active streaming".
@@ -303,6 +358,16 @@ function applyAction(action, store, props) {
303
358
  // #29: session-level recovery flag — orthogonal to WS connectionState.
304
359
  s.setRecovering(action.value);
305
360
  return;
361
+ // ── B3: task_* inbound WS events ────────────────────────────────────────
362
+ case 'upsertTask':
363
+ s.upsertTask(action.task);
364
+ return;
365
+ case 'completeTask':
366
+ s.completeTask(action.id, action.patch);
367
+ return;
368
+ case 'failTask':
369
+ s.failTask(action.id, action.patch);
370
+ return;
306
371
  }
307
372
  }
308
373
  //# sourceMappingURL=chat-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-provider.js","sourceRoot":"","sources":["../../src/provider/chat-provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-provider.js","sourceRoot":"","sources":["../../src/provider/chat-provider.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { StoreApi } from 'zustand/vanilla';
2
2
  import type { ChatError, ConnectionState, Conversation, ConversationLastMessageKind, Message, QuestionRequest, ApprovalRequestWithId, ToolCall } from '../types.js';
3
+ import type { NormalizedTask } from '../tasks/types.js';
3
4
  export interface ChatStoreState {
4
5
  connectionState: ConnectionState;
5
6
  connectionError: ChatError | null;
@@ -39,6 +40,7 @@ export interface ChatStoreState {
39
40
  pendingQuestion: QuestionRequest | null;
40
41
  pendingApprovals: ApprovalRequestWithId[];
41
42
  processingConversationIds: Set<string>;
43
+ tasks: NormalizedTask[];
42
44
  }
43
45
  export interface ChatStoreActions {
44
46
  setConnectionState: (state: ConnectionState) => void;
@@ -82,6 +84,32 @@ export interface ChatStoreActions {
82
84
  addProcessingConversation: (conversationId: string) => void;
83
85
  removeProcessingConversation: (conversationId: string) => void;
84
86
  clearProcessingConversations: () => void;
87
+ /** Replace all tasks (used by B4 REST hydration). */
88
+ setTasks: (tasks: NormalizedTask[]) => void;
89
+ /** Add-or-replace a task row with status 'running'. */
90
+ upsertTask: (task: {
91
+ id: string;
92
+ name: string;
93
+ startedAt: string;
94
+ }) => void;
95
+ /**
96
+ * Set task to 'completed'. Upserts if id absent (a completion may arrive
97
+ * before the corresponding task_started event).
98
+ */
99
+ completeTask: (id: string, patch: {
100
+ completedAt: string;
101
+ result: NormalizedTask['result'];
102
+ }) => void;
103
+ /**
104
+ * Set task to 'failed'. Upserts if id absent.
105
+ * Design choice: `failedAt` (WS delta field) is stored as `completedAt` so
106
+ * the row always has a terminal timestamp for display ordering. The REST
107
+ * WorkerTaskState type has no `failedAt` field.
108
+ */
109
+ failTask: (id: string, patch: {
110
+ failedAt: string;
111
+ error: string;
112
+ }) => void;
85
113
  }
86
114
  export type ChatStore = ChatStoreState & ChatStoreActions;
87
115
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chat-store.d.ts","sourceRoot":"","sources":["../../src/store/chat-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-store.d.ts","sourceRoot":"","sources":["../../src/store/chat-store.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,67 @@
1
1
  import { createStore } from 'zustand/vanilla';
2
2
  const sortByLastMessageDesc = (a, b) => b.lastMessageAt - a.lastMessageAt;
3
+ /**
4
+ * #404 backstop for prependMessages: drop optimistic (not-yet-persisted)
5
+ * messages that the incoming persisted page supersedes, so the same message
6
+ * doesn't render twice.
7
+ *
8
+ * An optimistic message has no `sequenceNumber`; a persisted one does. We pair
9
+ * them strictly 1:1 by (role, content): each incoming persisted message retires
10
+ * at most one optimistic copy, and each optimistic copy is retired at most once,
11
+ * so a user genuinely sending the same text twice is never collapsed below the
12
+ * number of persisted copies.
13
+ *
14
+ * Attachment carry-over: `mapMessage` (conversation-api.ts) does NOT map
15
+ * attachments onto persisted messages, so naively dropping the optimistic copy
16
+ * would erase an image/audio preview. When the retired optimistic copy carries
17
+ * attachments the persisted one lacks, we graft them onto the persisted copy.
18
+ *
19
+ * Returns the (possibly enriched) incoming list and the filtered existing list;
20
+ * neither input array is mutated.
21
+ */
22
+ function reconcileOptimistic(existing, incoming) {
23
+ // Per (role, content): the queue of persisted incoming messages, paired in
24
+ // order with the optimistic copies they supersede.
25
+ const persistedByKey = new Map();
26
+ for (const m of incoming) {
27
+ if (typeof m.sequenceNumber !== 'number')
28
+ continue;
29
+ const key = `${m.role}:${m.content}`;
30
+ const q = persistedByKey.get(key);
31
+ if (q)
32
+ q.push(m);
33
+ else
34
+ persistedByKey.set(key, [m]);
35
+ }
36
+ if (persistedByKey.size === 0)
37
+ return { incoming, existing };
38
+ const consumed = new Map();
39
+ const grafts = new Map();
40
+ const filteredExisting = existing.filter((m) => {
41
+ if (typeof m.sequenceNumber === 'number')
42
+ return true; // already persisted
43
+ const key = `${m.role}:${m.content}`;
44
+ const queue = persistedByKey.get(key);
45
+ const used = consumed.get(key) ?? 0;
46
+ if (!queue || used >= queue.length)
47
+ return true; // no persisted copy to supersede it
48
+ const persisted = queue[used];
49
+ consumed.set(key, used + 1);
50
+ if (m.attachments &&
51
+ m.attachments.length > 0 &&
52
+ !(persisted.attachments && persisted.attachments.length > 0)) {
53
+ grafts.set(persisted, m.attachments);
54
+ }
55
+ return false; // optimistic copy superseded by the persisted one
56
+ });
57
+ if (grafts.size === 0)
58
+ return { incoming, existing: filteredExisting };
59
+ const enrichedIncoming = incoming.map((m) => {
60
+ const att = grafts.get(m);
61
+ return att ? { ...m, attachments: att } : m;
62
+ });
63
+ return { incoming: enrichedIncoming, existing: filteredExisting };
64
+ }
3
65
  /** Find the index of the last assistant message with status='streaming'. */
4
66
  function findStreamingAssistantIndex(list) {
5
67
  for (let i = list.length - 1; i >= 0; i -= 1) {
@@ -51,6 +113,7 @@ export function createChatStore(opts) {
51
113
  pendingQuestion: null,
52
114
  pendingApprovals: [],
53
115
  processingConversationIds: new Set(),
116
+ tasks: [],
54
117
  // === actions ===
55
118
  setConnectionState: (state) => {
56
119
  // Edge-trigger guard: fire restore replay only on transitions INTO 'connected'
@@ -85,6 +148,21 @@ export function createChatStore(opts) {
85
148
  }),
86
149
  addConversation: (conversation) => set((s) => ({
87
150
  conversations: [conversation, ...s.conversations].sort(sortByLastMessageDesc),
151
+ // #404: seed the auto-load gate from the conversation's own
152
+ // messageCount. A freshly created conversation (messageCount 0) has no
153
+ // server-side history to paginate, so we close the gate — otherwise
154
+ // `loadHistory` and the consuming app's auto-load effect fetch and
155
+ // re-inject the just-sent message, whose persisted copy races the
156
+ // optimistic echo into a duplicate bubble. A conversation added with
157
+ // existing messages (e.g. a server-seeded/onboarding conversation,
158
+ // messageCount > 0) keeps the gate open so its real history still loads.
159
+ // (After a refresh conversations re-enter via
160
+ // session_ready/mergeConversations, which leave hasMoreHistory unset →
161
+ // selector default `true`.)
162
+ hasMoreHistory: {
163
+ ...s.hasMoreHistory,
164
+ [conversation.id]: conversation.messageCount > 0,
165
+ },
88
166
  })),
89
167
  removeConversation: (conversationId) => set((s) => {
90
168
  const { [conversationId]: _m, ...restMsgs } = s.messages;
@@ -155,10 +233,35 @@ export function createChatStore(opts) {
155
233
  }),
156
234
  setCurrentConversationId: (id) => {
157
235
  if (id === null) {
158
- set({ currentConversationId: null, latestRestoreRequestId: null });
236
+ // No active conversation → no global thinking/streaming surface to show.
237
+ set({
238
+ currentConversationId: null,
239
+ latestRestoreRequestId: null,
240
+ isStreaming: false,
241
+ isThinking: false,
242
+ });
159
243
  return;
160
244
  }
161
- set({ currentConversationId: id });
245
+ // #90: global isStreaming/isThinking only behave as "active-conversation
246
+ // scoped" because every WRITE is gated on currentConversationId (Spec 六).
247
+ // That gating handles the background→foreground direction, but switching
248
+ // the active conversation must RE-DERIVE these flags for the new
249
+ // conversation — otherwise the previously-active conversation's in-flight
250
+ // thinking/streaming state bleeds into the newly-focused window (and a
251
+ // later background finish, also gated, never clears it). Re-derive from
252
+ // the authoritative per-conversation `processingConversationIds` set plus
253
+ // whether visible streamed text already exists.
254
+ set((s) => {
255
+ const processing = s.processingConversationIds.has(id);
256
+ const list = s.messages[id] ?? [];
257
+ const idx = findStreamingAssistantIndex(list);
258
+ const hasStreamedText = idx !== -1 && (list[idx]?.content.length ?? 0) > 0;
259
+ return {
260
+ currentConversationId: id,
261
+ isStreaming: processing && hasStreamedText,
262
+ isThinking: processing && !hasStreamedText,
263
+ };
264
+ });
162
265
  if (gatewayClient?.isConnected()) {
163
266
  const requestId = `${Date.now()}-${++restoreRequestSeq}`;
164
267
  set({ latestRestoreRequestId: requestId });
@@ -268,10 +371,22 @@ export function createChatStore(opts) {
268
371
  setCurrentChatError: (error) => set({ currentChatError: error }),
269
372
  prependMessages: (conversationId, messages) => set((s) => {
270
373
  const list = s.messages[conversationId] ?? [];
374
+ // #404 backstop: an incoming persisted page can re-introduce a message
375
+ // we already hold as an optimistic echo (different id, no
376
+ // sequenceNumber yet) — e.g. paginating a conversation we've also sent
377
+ // into this session. Drop the optimistic copies the persisted page
378
+ // supersedes so the same message doesn't render twice.
379
+ //
380
+ // Strict 1:1 by (role, content): each persisted message consumes at
381
+ // most one optimistic match, and each optimistic message is matched at
382
+ // most once. A user genuinely sending the same text twice (two
383
+ // optimistic copies) against a single persisted echo keeps one
384
+ // optimistic copy — we never over-merge.
385
+ const { incoming, existing } = reconcileOptimistic(list, messages);
271
386
  return {
272
387
  messages: {
273
388
  ...s.messages,
274
- [conversationId]: [...messages, ...list],
389
+ [conversationId]: [...incoming, ...existing],
275
390
  },
276
391
  };
277
392
  }),
@@ -303,6 +418,56 @@ export function createChatStore(opts) {
303
418
  return {};
304
419
  return { processingConversationIds: new Set() };
305
420
  }),
421
+ // === COO tasks ===
422
+ setTasks: (tasks) => set({ tasks }),
423
+ upsertTask: ({ id, name, startedAt }) => set((s) => {
424
+ const row = { id, name, status: 'running', startedAt };
425
+ const idx = s.tasks.findIndex((t) => t.id === id);
426
+ if (idx === -1) {
427
+ return { tasks: [...s.tasks, row] };
428
+ }
429
+ const next = [...s.tasks];
430
+ next[idx] = row;
431
+ return { tasks: next };
432
+ }),
433
+ completeTask: (id, patch) => set((s) => {
434
+ const idx = s.tasks.findIndex((t) => t.id === id);
435
+ const base = idx !== -1
436
+ ? { ...s.tasks[idx] }
437
+ : { id, name: '', status: 'running', startedAt: '' };
438
+ const completed = {
439
+ ...base,
440
+ status: 'completed',
441
+ completedAt: patch.completedAt,
442
+ result: patch.result,
443
+ };
444
+ if (idx === -1) {
445
+ return { tasks: [...s.tasks, completed] };
446
+ }
447
+ const next = [...s.tasks];
448
+ next[idx] = completed;
449
+ return { tasks: next };
450
+ }),
451
+ failTask: (id, patch) => set((s) => {
452
+ const idx = s.tasks.findIndex((t) => t.id === id);
453
+ const base = idx !== -1
454
+ ? { ...s.tasks[idx] }
455
+ : { id, name: '', status: 'running', startedAt: '' };
456
+ const failed = {
457
+ ...base,
458
+ status: 'failed',
459
+ // failedAt (WS delta) → stored as completedAt for terminal timestamp ordering.
460
+ // WorkerTaskState has no failedAt field; this preserves the timestamp.
461
+ completedAt: patch.failedAt,
462
+ error: patch.error,
463
+ };
464
+ if (idx === -1) {
465
+ return { tasks: [...s.tasks, failed] };
466
+ }
467
+ const next = [...s.tasks];
468
+ next[idx] = failed;
469
+ return { tasks: next };
470
+ }),
306
471
  }));
307
472
  }
308
473
  //# sourceMappingURL=chat-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-store.js","sourceRoot":"","sources":["../../src/store/chat-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-store.js","sourceRoot":"","sources":["../../src/store/chat-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { AuthFetch, TasksProvider } from './types.js';
2
+ /**
3
+ * Default TasksProvider backed by the gateway's
4
+ * `GET /api/sessions/{sessionId}/tasks` endpoint.
5
+ *
6
+ * @param gatewayBaseUrl Gateway origin (e.g. `https://gateway.example.com`).
7
+ * Trailing slash tolerated.
8
+ * @param authenticatedFetch Bearer-token-attaching fetch (typically from
9
+ * `@optima-chat/agentic-auth`'s
10
+ * `createAuthenticatedFetch`).
11
+ */
12
+ export declare function createDefaultTasksProvider(gatewayBaseUrl: string, authenticatedFetch: AuthFetch): TasksProvider;
13
+ //# sourceMappingURL=default-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-provider.d.ts","sourceRoot":"","sources":["../../src/tasks/default-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3D;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,SAAS,GAC5B,aAAa,CAmBf"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Default TasksProvider backed by the gateway's
3
+ * `GET /api/sessions/{sessionId}/tasks` endpoint.
4
+ *
5
+ * @param gatewayBaseUrl Gateway origin (e.g. `https://gateway.example.com`).
6
+ * Trailing slash tolerated.
7
+ * @param authenticatedFetch Bearer-token-attaching fetch (typically from
8
+ * `@optima-chat/agentic-auth`'s
9
+ * `createAuthenticatedFetch`).
10
+ */
11
+ export function createDefaultTasksProvider(gatewayBaseUrl, authenticatedFetch) {
12
+ const base = gatewayBaseUrl.endsWith('/') ? gatewayBaseUrl.slice(0, -1) : gatewayBaseUrl;
13
+ return {
14
+ async listTasks(sessionId, opts) {
15
+ const path = `/api/sessions/${sessionId}/tasks`;
16
+ const url = opts?.kind !== undefined
17
+ ? `${base}${path}?kind=${encodeURIComponent(opts.kind)}`
18
+ : `${base}${path}`;
19
+ const res = await authenticatedFetch(url, { method: 'GET' });
20
+ if (!res.ok) {
21
+ throw new Error(`listTasks failed: ${res.status}`);
22
+ }
23
+ const body = (await res.json());
24
+ return body.tasks;
25
+ },
26
+ };
27
+ }
28
+ //# sourceMappingURL=default-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-provider.js","sourceRoot":"","sources":["../../src/tasks/default-provider.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,cAAsB,EACtB,kBAA6B;IAE7B,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAEzF,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,IAAgC;YACjE,MAAM,IAAI,GAAG,iBAAiB,SAAS,QAAQ,CAAC;YAChD,MAAM,GAAG,GACP,IAAI,EAAE,IAAI,KAAK,SAAS;gBACtB,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxD,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YAEvB,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiC,CAAC;YAChE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { WorkerTaskState, WorkerTaskKind } from '@optima-chat/gateway-protocol';
2
+ /**
3
+ * Authenticated fetch — structural alias matching the workspace-provider pattern.
4
+ * NOT `typeof fetch`; the consumer-supplied function must attach Bearer tokens.
5
+ */
6
+ export type AuthFetch = (url: string, init?: RequestInit) => Promise<Response>;
7
+ /**
8
+ * Consumer-supplied abstraction for session task operations. The default
9
+ * implementation (`createDefaultTasksProvider`) targets the gateway's
10
+ * `/api/sessions/{sessionId}/tasks` endpoint.
11
+ */
12
+ export interface TasksProvider {
13
+ listTasks(sessionId: string, opts?: {
14
+ kind?: WorkerTaskKind;
15
+ }): Promise<WorkerTaskState[]>;
16
+ }
17
+ /**
18
+ * NormalizedTask — REST WorkerTaskState + optional `stale` flag.
19
+ * The `stale` flag is set by B4 (useTasks) when the REST snapshot may be
20
+ * out-of-date relative to live WS events.
21
+ */
22
+ export type NormalizedTask = WorkerTaskState & {
23
+ stale?: boolean;
24
+ };
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tasks/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAC5F;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tasks/types.ts"],"names":[],"mappings":""}
package/dist/types.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import type { ServerEvent, ClientEvent, FinishInfo, Question, ApprovalRequest, ApprovalResponse, TokenProgress, BillingError, ToolResultContentBlock } from '@optima-chat/gateway-protocol';
10
10
  import type { WorkspaceProvider } from './workspace/types.js';
11
+ import type { TasksProvider } from './tasks/types.js';
11
12
  /** WebSocket connection lifecycle state. */
12
13
  export type ConnectionState = 'connecting' | 'connected' | 'reconnecting' | 'disconnected' | 'auth_failed';
13
14
  /** Message lifecycle status. */
@@ -122,11 +123,19 @@ export interface UploadResult {
122
123
  url: string;
123
124
  mediaType: string;
124
125
  }
126
+ /**
127
+ * Optional argument shape passed to `tokenProvider`. Reserved for future
128
+ * growth; currently only `forceRefresh` is honored. When set, the consumer's
129
+ * token provider should bypass any cached/short-circuit token and refresh.
130
+ */
131
+ export interface TokenProviderOpts {
132
+ forceRefresh?: boolean;
133
+ }
125
134
  /** Props for <ChatProvider>. */
126
135
  export interface ChatProviderProps {
127
136
  children: React.ReactNode;
128
137
  gatewayUrl: string;
129
- tokenProvider: () => Promise<string> | string;
138
+ tokenProvider: (opts?: TokenProviderOpts) => Promise<string> | string;
130
139
  authenticatedFetch: (url: string, init?: RequestInit) => Promise<Response>;
131
140
  /**
132
141
  * Optional. If provided, the SDK subscribes to access-token changes and
@@ -184,6 +193,7 @@ export interface ChatProviderProps {
184
193
  */
185
194
  onBeforeSend?: (event: ClientEvent) => ClientEvent | null | undefined | void;
186
195
  workspaceProvider?: WorkspaceProvider;
196
+ tasksProvider?: TasksProvider;
187
197
  reconnectOptions?: {
188
198
  /** Default 5. */
189
199
  maxRetries?: number;