@fluxyte/sdk 0.10.0 → 0.12.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 (46) hide show
  1. package/README.md +43 -4
  2. package/dist/core/client.d.ts +80 -0
  3. package/dist/core/client.d.ts.map +1 -1
  4. package/dist/core/client.js +122 -0
  5. package/dist/core/client.js.map +1 -1
  6. package/dist/core/commerce.d.ts +3 -0
  7. package/dist/core/commerce.d.ts.map +1 -1
  8. package/dist/core/errors.d.ts +4 -0
  9. package/dist/core/errors.d.ts.map +1 -1
  10. package/dist/core/errors.js +7 -0
  11. package/dist/core/errors.js.map +1 -1
  12. package/dist/core/sse.d.ts +3 -0
  13. package/dist/core/sse.d.ts.map +1 -1
  14. package/dist/core/sse.js.map +1 -1
  15. package/dist/core/taskAssist.d.ts +22 -0
  16. package/dist/core/taskAssist.d.ts.map +1 -0
  17. package/dist/core/taskAssist.js +33 -0
  18. package/dist/core/taskAssist.js.map +1 -0
  19. package/dist/core/utils.d.ts.map +1 -1
  20. package/dist/core/utils.js +7 -3
  21. package/dist/core/utils.js.map +1 -1
  22. package/dist/generated/openapi.d.ts +229 -1
  23. package/dist/generated/openapi.d.ts.map +1 -1
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/react/index.d.ts +1 -0
  29. package/dist/react/index.d.ts.map +1 -1
  30. package/dist/react/index.js +1 -0
  31. package/dist/react/index.js.map +1 -1
  32. package/dist/react/useChat.d.ts.map +1 -1
  33. package/dist/react/useStreamingChat.d.ts +69 -0
  34. package/dist/react/useStreamingChat.d.ts.map +1 -1
  35. package/dist/react/useStreamingChat.js +4 -1
  36. package/dist/react/useStreamingChat.js.map +1 -1
  37. package/dist/react/useTaskAssist.d.ts +319 -0
  38. package/dist/react/useTaskAssist.d.ts.map +1 -0
  39. package/dist/react/useTaskAssist.js +124 -0
  40. package/dist/react/useTaskAssist.js.map +1 -0
  41. package/dist/react/useVoiceChat.d.ts.map +1 -1
  42. package/dist/vanilla/index.d.ts +2 -0
  43. package/dist/vanilla/index.d.ts.map +1 -1
  44. package/dist/vanilla/index.js +1 -0
  45. package/dist/vanilla/index.js.map +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -3,11 +3,35 @@
3
3
  The official TypeScript SDK for the Fluxyte Onboarding AI API: a context-aware,
4
4
  documentation-grounded assistant designed for onboarding and setup flows (not generic chat).
5
5
 
6
- ## Unreleased
6
+ ## Task Assist operations (0.11.0+)
7
7
 
8
- - Commerce cart SDK methods and typed server-authoritative cart contracts are available on this feature branch (not yet published).
8
+ Customers can complete organization-approved tasks (book, reschedule, update…). Nothing executes until the customer confirms the exact details they reviewed; protected tasks also require the organization's own authorization. Show success only when `status === "COMPLETED"`.
9
9
 
10
- ## Commerce cart SDK (unreleased)
10
+ ```tsx
11
+ import { useTaskAssist } from "@fluxyte/sdk/react";
12
+
13
+ function BookAppointment() {
14
+ const { operation, start, submitInputs, confirm, cancel, requestAuthorization, loading, error } = useTaskAssist();
15
+
16
+ if (!operation) return <button onClick={() => start("book-appointment", { date: "2026-12-01" })}>Book</button>;
17
+ if (operation.status === "NEEDS_INPUT") return <MissingFields fields={operation.missing} onSubmit={submitInputs} />;
18
+ if (operation.status === "NEEDS_CONFIRMATION") return <Review operation={operation} onConfirm={confirm} onCancel={cancel} />;
19
+ if (operation.status === "WAITING_AUTHORIZATION") {
20
+ return <button onClick={async () => { const link = await requestAuthorization(window.location.href); if (link) window.open(link.url, "_blank", "noopener"); }}>Continue securely</button>;
21
+ }
22
+ if (operation.status === "COMPLETED") return <p>Done.</p>;
23
+ return <p aria-live="polite">{error?.message ?? "Working on it…"}</p>;
24
+ }
25
+ ```
26
+
27
+ - `confirm()` sends the digest of the review currently displayed; if the details changed, the API returns `OPERATION_CONFLICT` and you show the new review.
28
+ - The hook polls with backoff only while the system is working, and stops at final states or when the customer must act.
29
+ - Errors expose `error.code` (stable, e.g. `CONFIRMATION_EXPIRED`, `EXECUTION_LIMIT_REACHED`) and `error.requestId`.
30
+ - Node/vanilla: `client.createTaskAssistOperation()` returns `{ operation, handle }`; keep `handle.token` server-side or in memory only.
31
+ - File inputs (`type: "file"`): upload with `uploadFile(inputKey, file)` from the hook, or `client.uploadTaskAssistFile(handle, inputKey, file)`. In chat task cards, a file field carries `upload.grant`: call `client.uploadTaskAssistFileWithGrant(grant, file)`, then continue the conversation to review. PDF/JPG/PNG up to 10 MB by default (see each input's `accept` and `maxSizeBytes`); the type is checked by content, and attaching a file re-opens the review.
32
+ - Chat: streaming `done` events now include `presentation` (including `TASK_OPERATION` cards); follow them with `client.getTaskAssistSessionOperation(operationId)`.
33
+
34
+ ## Commerce cart SDK (0.11.0+)
11
35
 
12
36
  The Commerce cart is **server-authoritative** and separate from the ordinary chat session. Use a public `pk_*` API key, and keep the server-minted cart credential private. Do not log, publish, or place it in URLs. The SDK does not automatically persist this bearer credential.
13
37
 
@@ -36,7 +60,22 @@ const preflight = await client.preflightCommerceCheckout({
36
60
 
37
61
  Available helpers: `createCommerceCartSession()`, `renewCommerceCartSession(credential)`, `readCommerceCart(credential)`, `mutateCommerceCart({ credential, expectedRevision, requestKey, mutation })`, and `preflightCommerceCheckout({ credential, expectedRevision })`. Mutations support `ADD`, `SET_QUANTITY`, and `REMOVE`. The backend validates offering availability, prices, currency, revision, and idempotency. On a stale revision, read the latest cart before deciding whether to issue a **new** mutation; do not blindly replay a different action under the same request key. Renewal requires an unexpired credential and does not revoke the prior credential.
38
62
 
39
- These methods require a deployed backend with the Commerce cart routes and configured session signing/rate-limit infrastructure. They do not initiate payment or guarantee checkout success. Existing chat, streaming, voice and legacy Commerce action APIs remain available. No package release has been published for these unreleased changes.
63
+ These methods require a deployed backend with the Commerce cart routes and configured session signing/rate-limit infrastructure. Preflight does not initiate payment or guarantee checkout success. Existing chat, streaming, voice and legacy Commerce action APIs remain available.
64
+
65
+ ### Checkout
66
+
67
+ `startCommerceCheckout({ credential, expectedRevision, requestKey })` checks out the cart as a governed Task Assist operation. Prices come from the server (never from the request); the customer reviews `operation.commerce` (lines and total) and confirms the exact quote:
68
+
69
+ ```ts
70
+ import { generateTaskRequestKey } from "@fluxyte/sdk";
71
+
72
+ const requestKey = generateTaskRequestKey(); // also the operation's access token: keep it private
73
+ const { operation } = await client.startCommerceCheckout({ credential, expectedRevision: cart.revision, requestKey });
74
+ // show operation.commerce, then:
75
+ await client.confirmTaskAssistOperation({ operationId: operation.id, token: requestKey }, operation.confirmation!.digest);
76
+ ```
77
+
78
+ While checkout is in progress the cart is locked (`cart.status === "CHECKOUT_PENDING"`); cancelling releases it. If a price or item changes before the order is sent, the request fails with nothing charged. After completion the cart is `CHECKED_OUT`: start a new cart session for further shopping.
40
79
 
41
80
 
42
81
  - Chat and voice now use top-level `sessionId` or `userId`; their context is optional.
@@ -1,6 +1,7 @@
1
1
  import type { components } from "../generated/openapi";
2
2
  import type { ChatSSEEvent } from "./sse.js";
3
3
  import type { CommerceCartSession, CommerceCartSnapshot, CommerceCartMutation, CommerceCartMutationResult, CommerceCheckoutPreflight } from "./commerce.js";
4
+ import type { TaskAssistAuthorizationLink, TaskAssistOperation, TaskAssistOperationHandle } from "./taskAssist.js";
4
5
  type ChatCompletionRequest = components["schemas"]["ChatCompletionRequest"];
5
6
  type ChatCompletionResponse = components["schemas"]["ChatCompletionResponse"];
6
7
  type VoiceChatRequest = components["schemas"]["VoiceChatRequest"];
@@ -54,6 +55,85 @@ export declare class OnboardingAIClient {
54
55
  credential: string;
55
56
  expectedRevision: number;
56
57
  }): Promise<CommerceCheckoutPreflight>;
58
+ /**
59
+ * Starts checkout of the cart as a governed Task Assist operation. Prices come
60
+ * from the server; the customer then reviews `operation.commerce` and confirms
61
+ * with `confirmTaskAssistOperation({ operationId: operation.id, token: requestKey }, operation.confirmation.digest)`.
62
+ * `requestKey` is the operation's access token: generate it with
63
+ * `generateTaskRequestKey()` and keep it for this checkout. Retrying with the
64
+ * same key returns the same operation.
65
+ */
66
+ startCommerceCheckout(input: {
67
+ credential: string;
68
+ expectedRevision: number;
69
+ requestKey: string;
70
+ }): Promise<{
71
+ operation: TaskAssistOperation;
72
+ replayed: boolean;
73
+ }>;
74
+ private taskRequest;
75
+ /**
76
+ * Starts (or idempotently replays) a task operation. Keep the returned
77
+ * handle's token: it is required for every later call on this operation.
78
+ */
79
+ createTaskAssistOperation(input: {
80
+ capabilityKey: string;
81
+ inputs?: Record<string, string | number | boolean>;
82
+ sessionId?: string;
83
+ /** Reuse to retry safely; defaults to a fresh 32-byte random key. */
84
+ requestKey?: string;
85
+ }): Promise<{
86
+ operation: TaskAssistOperation;
87
+ handle: TaskAssistOperationHandle;
88
+ replayed: boolean;
89
+ }>;
90
+ getTaskAssistOperation(handle: TaskAssistOperationHandle): Promise<TaskAssistOperation>;
91
+ /** Adds or corrects details. Any change invalidates an earlier review. */
92
+ submitTaskAssistInputs(handle: TaskAssistOperationHandle, expectedRevision: number, inputs: Record<string, string | number | boolean>): Promise<TaskAssistOperation>;
93
+ /**
94
+ * Confirms the exact details the customer reviewed. Pass `operation.confirmation.digest`
95
+ * from the review you displayed; a stale digest fails with OPERATION_CONFLICT.
96
+ */
97
+ confirmTaskAssistOperation(handle: TaskAssistOperationHandle, confirmationDigest: string): Promise<TaskAssistOperation>;
98
+ cancelTaskAssistOperation(handle: TaskAssistOperationHandle): Promise<TaskAssistOperation>;
99
+ /**
100
+ * Creates a fresh organization-hosted authorization link. Open it in the same
101
+ * or a new tab (never an iframe). Returning from it proves nothing: re-read
102
+ * the operation status afterwards.
103
+ */
104
+ requestTaskAssistAuthorization(handle: TaskAssistOperationHandle, returnUrl?: string): Promise<TaskAssistAuthorizationLink>;
105
+ /**
106
+ * Read-only status of an operation started from chat in this session (no token
107
+ * needed). Used to update task cards without sending chat messages.
108
+ */
109
+ /**
110
+ * Uploads a file for a file input (multipart). Attaching a file re-opens the
111
+ * review: confirm again with the new `confirmation.digest`.
112
+ * Allowed types and size come from the input (`accept`, `maxSizeBytes`).
113
+ */
114
+ uploadTaskAssistFile(handle: TaskAssistOperationHandle, inputKey: string, file: Blob, options?: {
115
+ filename?: string;
116
+ expectedRevision?: number;
117
+ }): Promise<TaskAssistOperation>;
118
+ /**
119
+ * Uploads a file using the grant from a chat task card (`field.upload.grant`).
120
+ * The grant only allows uploading to that one field; continue the
121
+ * conversation afterwards to review and confirm.
122
+ */
123
+ uploadTaskAssistFileWithGrant(grant: string, file: Blob, options?: {
124
+ filename?: string;
125
+ }): Promise<{
126
+ id: string;
127
+ status: TaskAssistOperation["status"];
128
+ revision: number;
129
+ missing: string[];
130
+ file: {
131
+ name: string;
132
+ sizeBytes: number;
133
+ mimeType: string;
134
+ } | null;
135
+ }>;
136
+ getTaskAssistSessionOperation(operationId: string, sessionId?: string): Promise<TaskAssistOperation>;
57
137
  voiceChat(payload: VoiceChatRequest): Promise<VoiceChatResponse>;
58
138
  }
59
139
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { handleResponse } from "./utils.js";
2
2
  import { streamSSE } from "./sse.js";
3
+ import { generateTaskRequestKey } from "./taskAssist.js";
3
4
  const DEFAULT_BASE_URL = "https://api.fluxyte.com/v1";
4
5
  const DEFAULT_SESSION_STORAGE_KEY = "fluxyte_onboarding_session_id";
5
6
  export class OnboardingAIClient {
@@ -200,6 +201,127 @@ export class OnboardingAIClient {
200
201
  preflightCommerceCheckout(input) {
201
202
  return this.commercePost("preflight", input);
202
203
  }
204
+ /**
205
+ * Starts checkout of the cart as a governed Task Assist operation. Prices come
206
+ * from the server; the customer then reviews `operation.commerce` and confirms
207
+ * with `confirmTaskAssistOperation({ operationId: operation.id, token: requestKey }, operation.confirmation.digest)`.
208
+ * `requestKey` is the operation's access token: generate it with
209
+ * `generateTaskRequestKey()` and keep it for this checkout. Retrying with the
210
+ * same key returns the same operation.
211
+ */
212
+ startCommerceCheckout(input) {
213
+ return this.commercePost("checkout", input);
214
+ }
215
+ // ---------------------------------------------------------------------------
216
+ // Task Assist: governed task operations. Nothing executes until the customer
217
+ // confirms the exact details (and, for protected tasks, the organization
218
+ // authorizes). Success is reported only from a verified COMPLETED status.
219
+ // ---------------------------------------------------------------------------
220
+ async taskRequest(method, path, options = {}) {
221
+ const headers = { "X-API-Key": this.apiKey };
222
+ if (options.body !== undefined)
223
+ headers["Content-Type"] = "application/json";
224
+ if (options.token)
225
+ headers["X-Task-Operation-Token"] = options.token;
226
+ const res = await fetch(`${this.baseUrl}/task-assist${path}`, {
227
+ method,
228
+ headers,
229
+ ...(options.body !== undefined ? { body: JSON.stringify(options.body) } : {}),
230
+ });
231
+ await handleResponse(res);
232
+ return (await res.json());
233
+ }
234
+ /**
235
+ * Starts (or idempotently replays) a task operation. Keep the returned
236
+ * handle's token: it is required for every later call on this operation.
237
+ */
238
+ async createTaskAssistOperation(input) {
239
+ const requestKey = input.requestKey ?? generateTaskRequestKey();
240
+ const sessionId = input.sessionId ?? this.resolveStableSessionId();
241
+ const result = await this.taskRequest("POST", "/operations", {
242
+ body: { capabilityKey: input.capabilityKey, requestKey, inputs: input.inputs ?? {}, ...(sessionId ? { sessionId } : {}) },
243
+ });
244
+ return { ...result, handle: { operationId: result.operation.id, token: requestKey } };
245
+ }
246
+ async getTaskAssistOperation(handle) {
247
+ return (await this.taskRequest("GET", `/operations/${encodeURIComponent(handle.operationId)}`, { token: handle.token })).operation;
248
+ }
249
+ /** Adds or corrects details. Any change invalidates an earlier review. */
250
+ async submitTaskAssistInputs(handle, expectedRevision, inputs) {
251
+ return (await this.taskRequest("POST", `/operations/${encodeURIComponent(handle.operationId)}/inputs`, {
252
+ token: handle.token,
253
+ body: { expectedRevision, inputs },
254
+ })).operation;
255
+ }
256
+ /**
257
+ * Confirms the exact details the customer reviewed. Pass `operation.confirmation.digest`
258
+ * from the review you displayed; a stale digest fails with OPERATION_CONFLICT.
259
+ */
260
+ async confirmTaskAssistOperation(handle, confirmationDigest) {
261
+ return (await this.taskRequest("POST", `/operations/${encodeURIComponent(handle.operationId)}/confirm`, {
262
+ token: handle.token,
263
+ body: { confirmationDigest },
264
+ })).operation;
265
+ }
266
+ async cancelTaskAssistOperation(handle) {
267
+ return (await this.taskRequest("POST", `/operations/${encodeURIComponent(handle.operationId)}/cancel`, { token: handle.token, body: {} })).operation;
268
+ }
269
+ /**
270
+ * Creates a fresh organization-hosted authorization link. Open it in the same
271
+ * or a new tab (never an iframe). Returning from it proves nothing: re-read
272
+ * the operation status afterwards.
273
+ */
274
+ async requestTaskAssistAuthorization(handle, returnUrl) {
275
+ return (await this.taskRequest("POST", `/operations/${encodeURIComponent(handle.operationId)}/authorization`, {
276
+ token: handle.token,
277
+ body: returnUrl ? { returnUrl } : {},
278
+ })).authorization;
279
+ }
280
+ /**
281
+ * Read-only status of an operation started from chat in this session (no token
282
+ * needed). Used to update task cards without sending chat messages.
283
+ */
284
+ /**
285
+ * Uploads a file for a file input (multipart). Attaching a file re-opens the
286
+ * review: confirm again with the new `confirmation.digest`.
287
+ * Allowed types and size come from the input (`accept`, `maxSizeBytes`).
288
+ */
289
+ async uploadTaskAssistFile(handle, inputKey, file, options = {}) {
290
+ const form = new FormData();
291
+ form.append("inputKey", inputKey);
292
+ if (options.expectedRevision !== undefined)
293
+ form.append("expectedRevision", String(options.expectedRevision));
294
+ form.append("file", file, options.filename ?? file.name ?? "upload");
295
+ const res = await fetch(`${this.baseUrl}/task-assist/operations/${encodeURIComponent(handle.operationId)}/files`, {
296
+ method: "POST",
297
+ headers: { "X-API-Key": this.apiKey, "X-Task-Operation-Token": handle.token },
298
+ body: form,
299
+ });
300
+ await handleResponse(res);
301
+ return (await res.json()).operation;
302
+ }
303
+ /**
304
+ * Uploads a file using the grant from a chat task card (`field.upload.grant`).
305
+ * The grant only allows uploading to that one field; continue the
306
+ * conversation afterwards to review and confirm.
307
+ */
308
+ async uploadTaskAssistFileWithGrant(grant, file, options = {}) {
309
+ const form = new FormData();
310
+ form.append("file", file, options.filename ?? file.name ?? "upload");
311
+ const res = await fetch(`${this.baseUrl}/task-assist/uploads/${encodeURIComponent(grant)}`, {
312
+ method: "POST",
313
+ headers: { "X-API-Key": this.apiKey },
314
+ body: form,
315
+ });
316
+ await handleResponse(res);
317
+ return (await res.json()).operation;
318
+ }
319
+ async getTaskAssistSessionOperation(operationId, sessionId) {
320
+ const session = sessionId ?? this.resolveStableSessionId();
321
+ if (!session)
322
+ throw new Error("A sessionId is required to read a chat task operation.");
323
+ return (await this.taskRequest("GET", `/session-operations/${encodeURIComponent(operationId)}?sessionId=${encodeURIComponent(session)}`)).operation;
324
+ }
203
325
  async voiceChat(payload) {
204
326
  const sessionId = this.resolveStableSessionId(payload.sessionId, payload.userId);
205
327
  this.assertStableIdentity({
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ export interface CommerceCartSnapshot {
13
13
  sessionId: string;
14
14
  revision: number;
15
15
  lines: CommerceCartLine[];
16
+ /** Present only while a delegated checkout holds the cart, or after it completed. */
17
+ status?: "CHECKOUT_PENDING" | "CHECKED_OUT";
18
+ checkoutOperationId?: string;
16
19
  }
17
20
  export interface CommerceCartSession {
18
21
  credential: string;
@@ -1 +1 @@
1
- {"version":3,"file":"commerce.d.ts","sourceRoot":"","sources":["../../src/core/commerce.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AACD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AACD,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3C,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;CACJ;AACD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,qBAAqB,CAAC;CAC9B"}
1
+ {"version":3,"file":"commerce.d.ts","sourceRoot":"","sources":["../../src/core/commerce.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,qFAAqF;IACrF,MAAM,CAAC,EAAE,kBAAkB,GAAG,aAAa,CAAC;IAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AACD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AACD,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3C,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;CACJ;AACD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,qBAAqB,CAAC;CAC9B"}
@@ -1,6 +1,10 @@
1
1
  export declare class APIError extends Error {
2
2
  readonly status: number;
3
3
  readonly payload?: unknown;
4
+ /** Stable machine-readable code when the API provides one (e.g. "CONFIRMATION_EXPIRED"). */
5
+ readonly code?: string;
6
+ /** Correlation id to quote to support. */
7
+ readonly requestId?: string;
4
8
  constructor(message: string, status: number, payload?: unknown);
5
9
  }
6
10
  export declare class UnauthorizedError extends APIError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAO/D;AAED,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,OAAO,SAAiB,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAED,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,OAAO,SAAsB,EAAE,OAAO,CAAC,EAAE,OAAO;CAG7D;AAED,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,SAAoB,EAAE,OAAO,CAAC,EAAE,OAAO;CAG3D;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,GAChB,QAAQ,CAWV"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClC,4FAA4F;IAC5F,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,0CAA0C;IAC1C,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAY/D;AAED,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,OAAO,SAAiB,EAAE,OAAO,CAAC,EAAE,OAAO;CAGxD;AAED,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,OAAO,SAAsB,EAAE,OAAO,CAAC,EAAE,OAAO;CAG7D;AAED,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,SAAoB,EAAE,OAAO,CAAC,EAAE,OAAO;CAG3D;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,GAChB,QAAQ,CAWV"}
@@ -5,6 +5,13 @@ export class APIError extends Error {
5
5
  this.name = new.target.name;
6
6
  this.status = status;
7
7
  this.payload = payload;
8
+ if (payload && typeof payload === "object") {
9
+ const record = payload;
10
+ if (typeof record.code === "string")
11
+ this.code = record.code;
12
+ if (typeof record.requestId === "string")
13
+ this.requestId = record.requestId;
14
+ }
8
15
  }
9
16
  }
10
17
  export class UnauthorizedError extends APIError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAIjC,YAAY,OAAe,EAAE,MAAc,EAAE,OAAiB;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,QAAQ;IAC7C,YAAY,OAAO,GAAG,cAAc,EAAE,OAAiB;QACrD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,OAAO,GAAG,mBAAmB,EAAE,OAAiB;QAC1D,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAO,GAAG,iBAAiB,EAAE,OAAiB;QACxD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,OAAe,EACf,OAAiB;IAEjB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,KAAK,GAAG;YACN,OAAO,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,KAAK,GAAG;YACN,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C;YACE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAQjC,YAAY,OAAe,EAAE,MAAc,EAAE,OAAiB;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,OAAkC,CAAC;YAClD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAC7D,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;gBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9E,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,QAAQ;IAC7C,YAAY,OAAO,GAAG,cAAc,EAAE,OAAiB;QACrD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,OAAO,GAAG,mBAAmB,EAAE,OAAiB;QAC1D,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAO,GAAG,iBAAiB,EAAE,OAAiB;QACxD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,OAAe,EACf,OAAiB;IAEjB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,KAAK,GAAG;YACN,OAAO,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,KAAK,GAAG;YACN,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C;YACE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -3,6 +3,7 @@ type AdminAIIntent = components["schemas"]["AdminAIIntent"];
3
3
  type EvidenceItem = components["schemas"]["EvidenceItem"];
4
4
  type ContentResource = components["schemas"]["ContentResource"];
5
5
  type CommercePresentation = components["schemas"]["CommercePresentation"];
6
+ type PublicStructuredPresentationV1 = components["schemas"]["PublicStructuredPresentationV1"];
6
7
  export type ChatSSEEvent = {
7
8
  type: "meta";
8
9
  answerId: string;
@@ -16,6 +17,8 @@ export type ChatSSEEvent = {
16
17
  sources?: EvidenceItem[];
17
18
  resources?: ContentResource[];
18
19
  commerce?: CommercePresentation;
20
+ /** Versioned structured presentation (commerce collections, cart summaries, task cards). */
21
+ presentation?: PublicStructuredPresentationV1;
19
22
  };
20
23
  export declare function streamSSE(url: string, apiKey: string, body: unknown, onEvent: (event: ChatSSEEvent) => void, onError?: (err: Error) => void): () => void;
21
24
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/core/sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,KAAK,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;AAC5D,KAAK,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AAC1D,KAAK,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAChE,KAAK,oBAAoB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAE1E,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrC;IACE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAEN,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,EACtC,OAAO,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAe,GACvC,MAAM,IAAI,CAuGZ"}
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/core/sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,KAAK,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;AAC5D,KAAK,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AAC1D,KAAK,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAChE,KAAK,oBAAoB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAC1E,KAAK,8BAA8B,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,gCAAgC,CAAC,CAAC;AAE9F,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrC;IACE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,4FAA4F;IAC5F,YAAY,CAAC,EAAE,8BAA8B,CAAC;CAC/C,CAAC;AAEN,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,EACtC,OAAO,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAe,GACvC,MAAM,IAAI,CAuGZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/core/sse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/core/sse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { components } from "../generated/openapi";
2
+ export type TaskAssistOperation = components["schemas"]["TaskAssistOperation"];
3
+ export type TaskAssistOperationStatus = components["schemas"]["TaskAssistOperationStatus"];
4
+ export type TaskAssistInputField = components["schemas"]["TaskAssistInputField"];
5
+ export type TaskAssistAuthorizationLink = components["schemas"]["TaskAssistAuthorizationLink"];
6
+ export type TaskOperationPresentationV1 = components["schemas"]["TaskOperationPresentationV1"];
7
+ export type TaskAssistErrorCode = components["schemas"]["TaskAssistError"]["code"];
8
+ /** A handle to an operation started by this client: the token is the original requestKey. */
9
+ export interface TaskAssistOperationHandle {
10
+ operationId: string;
11
+ token: string;
12
+ }
13
+ export declare function isTerminalTaskStatus(status: TaskAssistOperationStatus): boolean;
14
+ /**
15
+ * Polling policy shared by the React hook and the widget: poll only while the
16
+ * system (not the customer) is working, back off, and stop after a bound.
17
+ * Returns null when polling should stop.
18
+ */
19
+ export declare function nextTaskPollDelay(status: TaskAssistOperationStatus, attempt: number): number | null;
20
+ /** 32 random bytes, base64url: idempotency key AND bearer token for the operation. */
21
+ export declare function generateTaskRequestKey(): string;
22
+ //# sourceMappingURL=taskAssist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskAssist.d.ts","sourceRoot":"","sources":["../../src/core/taskAssist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAC/E,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;AAC3F,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;AACjF,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC;AAC/F,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC;AAC/F,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnF,6FAA6F;AAC7F,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAKD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKnG;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,IAAI,MAAM,CAW/C"}
@@ -0,0 +1,33 @@
1
+ const TERMINAL = new Set(["COMPLETED", "FAILED", "CANCELLED", "ESCALATED"]);
2
+ const AWAITING_CUSTOMER = new Set(["NEEDS_INPUT", "NEEDS_CONFIRMATION"]);
3
+ export function isTerminalTaskStatus(status) {
4
+ return TERMINAL.has(status);
5
+ }
6
+ /**
7
+ * Polling policy shared by the React hook and the widget: poll only while the
8
+ * system (not the customer) is working, back off, and stop after a bound.
9
+ * Returns null when polling should stop.
10
+ */
11
+ export function nextTaskPollDelay(status, attempt) {
12
+ if (TERMINAL.has(status) || AWAITING_CUSTOMER.has(status))
13
+ return null;
14
+ if (attempt >= 40)
15
+ return null; // ~10 minutes with backoff; the customer can refresh manually
16
+ const base = status === "WAITING_AUTHORIZATION" || status === "WAITING_EXTERNAL" ? 5000 : 2000;
17
+ return Math.min(30000, Math.round(base * 1.25 ** Math.floor(attempt / 4)));
18
+ }
19
+ /** 32 random bytes, base64url: idempotency key AND bearer token for the operation. */
20
+ export function generateTaskRequestKey() {
21
+ const bytes = new Uint8Array(32);
22
+ if (typeof crypto === "undefined" || typeof crypto.getRandomValues !== "function") {
23
+ throw new Error("A secure random source is required to start a task operation.");
24
+ }
25
+ crypto.getRandomValues(bytes);
26
+ let binary = "";
27
+ for (const byte of bytes)
28
+ binary += String.fromCharCode(byte);
29
+ // btoa is available in browsers and Node >= 16 (the supported runtimes).
30
+ const b64 = btoa(binary);
31
+ return b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
32
+ }
33
+ //# sourceMappingURL=taskAssist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskAssist.js","sourceRoot":"","sources":["../../src/core/taskAssist.ts"],"names":[],"mappings":"AAeA,MAAM,QAAQ,GAA2C,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AACpH,MAAM,iBAAiB,GAA2C,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAEjH,MAAM,UAAU,oBAAoB,CAAC,MAAiC;IACpE,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiC,EAAE,OAAe;IAClF,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,OAAO,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,CAAC,8DAA8D;IAC9F,MAAM,IAAI,GAAG,MAAM,KAAK,uBAAuB,IAAI,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC,CAAC,IAAK,CAAC;IACjG,OAAO,IAAI,CAAC,GAAG,CAAC,KAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9D,yEAAyE;IACzE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAEA,wBAAsB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBjE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAEA,wBAAsB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBjE"}
@@ -9,9 +9,13 @@ export async function handleResponse(res) {
9
9
  catch {
10
10
  payload = undefined;
11
11
  }
12
- const message = payload && typeof payload === "object" && "error" in payload
13
- ? String(payload.error)
14
- : res.statusText;
12
+ // Coded errors carry a customer-safe `message`; legacy errors put it in `error`.
13
+ const record = payload && typeof payload === "object" ? payload : undefined;
14
+ const message = record && typeof record.code === "string" && typeof record.message === "string"
15
+ ? record.message
16
+ : record && "error" in record
17
+ ? String(record.error)
18
+ : res.statusText;
15
19
  throw apiErrorFromResponse(res.status, message, payload);
16
20
  }
17
21
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAa;IAChD,IAAI,GAAG,CAAC,EAAE;QAAE,OAAO;IAEnB,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,MAAM,OAAO,GACX,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO;QAC1D,CAAC,CAAC,MAAM,CAAE,OAAe,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;IAErB,MAAM,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAa;IAChD,IAAI,GAAG,CAAC,EAAE;QAAE,OAAO;IAEnB,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,iFAAiF;IACjF,MAAM,MAAM,GAAG,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,MAAM,OAAO,GACX,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;QAC7E,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,MAAM;YAC3B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;IAEvB,MAAM,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}