@burdenoff/fe-libs 2026.1007.5 → 2026.1008.1
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.
- package/dist/shared/assistant/api.d.ts +11 -0
- package/dist/shared/assistant/api.d.ts.map +1 -1
- package/dist/shared/assistant/api.js +6 -2
- package/dist/shared/assistant/attachmentCommit.d.ts +175 -0
- package/dist/shared/assistant/attachmentCommit.d.ts.map +1 -0
- package/dist/shared/assistant/attachmentCommit.js +638 -0
- package/dist/shared/assistant/attachments.d.ts +39 -19
- package/dist/shared/assistant/attachments.d.ts.map +1 -1
- package/dist/shared/assistant/conversation.d.ts +14 -0
- package/dist/shared/assistant/conversation.d.ts.map +1 -1
- package/dist/shared/assistant/createSandboxAssistantTransport.d.ts +8 -1
- package/dist/shared/assistant/createSandboxAssistantTransport.d.ts.map +1 -1
- package/dist/shared/assistant/createSandboxAssistantTransport.js +70 -51
- package/dist/shared/assistant/history/historyEngine.js +280 -280
- package/dist/shared/assistant/history/historyMapping.d.ts.map +1 -1
- package/dist/shared/assistant/history/historyMapping.js +19 -12
- package/dist/shared/assistant/i18nManifest.d.ts +23 -2
- package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.js +26 -3
- package/dist/shared/assistant/index.d.ts +9 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/localUiCommandCopy.d.ts +23 -0
- package/dist/shared/assistant/localUiCommandCopy.d.ts.map +1 -1
- package/dist/shared/assistant/localUiCommandCopy.js +60 -23
- package/dist/shared/assistant/localUiCommands.d.ts +29 -0
- package/dist/shared/assistant/localUiCommands.d.ts.map +1 -1
- package/dist/shared/assistant/localUiCommands.js +18 -7
- package/dist/shared/assistant/types.d.ts +19 -8
- package/dist/shared/assistant/types.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +1624 -1266
- package/dist/shared/assistant/ui/AssistantMarkdownRenderer.d.ts +18 -3
- package/dist/shared/assistant/ui/AssistantMarkdownRenderer.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantMarkdownRenderer.js +1 -1
- package/dist/shared/assistant/ui/AssistantMessageItem.d.ts +5 -0
- package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantMessageItem.js +89 -84
- package/dist/shared/assistant/ui/AssistantMessageList.d.ts +5 -0
- package/dist/shared/assistant/ui/AssistantMessageList.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantMessageList.js +26 -25
- package/dist/shared/assistant/ui/AssistantUiOfferLink.d.ts +45 -0
- package/dist/shared/assistant/ui/AssistantUiOfferLink.d.ts.map +1 -0
- package/dist/shared/assistant/ui/AssistantUiOfferLink.js +56 -0
- package/dist/shared/assistant/ui/assistantOverlayState.d.ts +9 -0
- package/dist/shared/assistant/ui/assistantOverlayState.d.ts.map +1 -1
- package/dist/shared/assistant/ui/assistantOverlayState.js +37 -28
- package/dist/shared/assistant/ui/composer/AssistantAttachmentChips.d.ts +8 -5
- package/dist/shared/assistant/ui/composer/AssistantAttachmentChips.d.ts.map +1 -1
- package/dist/shared/assistant/ui/composer/AssistantAttachmentChips.js +26 -9
- package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts +3 -2
- package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts.map +1 -1
- package/dist/shared/assistant/ui/composer/AssistantComposer.js +214 -125
- package/dist/shared/assistant/ui/composer/AssistantConnectSourceItem.d.ts.map +1 -1
- package/dist/shared/assistant/ui/composer/AssistantConnectSourceItem.js +1 -1
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts +15 -0
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +127 -118
- package/dist/shared/assistant/ui/voice/VoiceConversationView.d.ts +6 -1
- package/dist/shared/assistant/ui/voice/VoiceConversationView.d.ts.map +1 -1
- package/dist/shared/assistant/ui/voice/VoiceConversationView.js +7 -7
- package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.d.ts +6 -1
- package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.d.ts.map +1 -1
- package/dist/shared/assistant/ui/voice/VoiceTranscriptDrawer.js +15 -12
- package/dist/shared/assistant/uiActions/actOnResolve.d.ts +108 -0
- package/dist/shared/assistant/uiActions/actOnResolve.d.ts.map +1 -0
- package/dist/shared/assistant/uiActions/actOnResolve.js +51 -0
- package/dist/shared/assistant/uiActions/linkContext.d.ts +29 -0
- package/dist/shared/assistant/uiActions/linkContext.d.ts.map +1 -1
- package/dist/shared/assistant/uiActions/linkContext.js +37 -10
- package/dist/shared/assistant/uiActions/navIntent.d.ts +58 -0
- package/dist/shared/assistant/uiActions/navIntent.d.ts.map +1 -0
- package/dist/shared/assistant/uiActions/navIntent.js +79 -0
- package/dist/shared/assistant/uiActions/navigateAction.d.ts +6 -1
- package/dist/shared/assistant/uiActions/navigateAction.d.ts.map +1 -1
- package/dist/shared/assistant/uiActions/navigateAction.js +18 -14
- package/dist/shared/assistant/uiActions/navigationOutcome.d.ts +16 -2
- package/dist/shared/assistant/uiActions/navigationOutcome.d.ts.map +1 -1
- package/dist/shared/assistant/uiActions/navigationOutcome.js +6 -2
- package/dist/shared/assistant/uiActions/offerYesOnSurface.d.ts +39 -0
- package/dist/shared/assistant/uiActions/offerYesOnSurface.d.ts.map +1 -0
- package/dist/shared/assistant/uiActions/offerYesOnSurface.js +34 -0
- package/dist/shared/assistant/uiActions/uiCatalogue.d.ts +14 -0
- package/dist/shared/assistant/uiActions/uiCatalogue.d.ts.map +1 -1
- package/dist/shared/assistant/uiActions/uiCatalogue.js +23 -3
- package/dist/shared/assistant/uiActions/uiOffers.d.ts +249 -0
- package/dist/shared/assistant/uiActions/uiOffers.d.ts.map +1 -0
- package/dist/shared/assistant/uiActions/uiOffers.js +195 -0
- package/dist/shared/assistant/useAssistantAttachments.d.ts +20 -2
- package/dist/shared/assistant/useAssistantAttachments.d.ts.map +1 -1
- package/dist/shared/assistant/useAssistantAttachments.js +146 -202
- package/dist/shared/assistant/useAttachmentCommitter.d.ts +17 -0
- package/dist/shared/assistant/useAttachmentCommitter.d.ts.map +1 -0
- package/dist/shared/assistant/useAttachmentCommitter.js +41 -0
- package/dist/shared/assistant/voiceCommit.d.ts +36 -0
- package/dist/shared/assistant/voiceCommit.d.ts.map +1 -0
- package/dist/shared/assistant/voiceCommit.js +24 -0
- package/dist/shared/assistant/writeProposals.d.ts +6 -0
- package/dist/shared/assistant/writeProposals.d.ts.map +1 -1
- package/dist/shared/assistant/writeReplyBinder.d.ts +40 -0
- package/dist/shared/assistant/writeReplyBinder.d.ts.map +1 -1
- package/dist/shared/assistant/writeReplyBinder.js +100 -83
- package/dist/shared/assistant/writeReplySend.d.ts +14 -0
- package/dist/shared/assistant/writeReplySend.d.ts.map +1 -1
- package/dist/shared/assistant/writeReplySend.js +32 -29
- package/dist/shared/hooks/index.d.ts +2 -0
- package/dist/shared/hooks/index.d.ts.map +1 -1
- package/dist/shared/navigation/unsavedChanges.d.ts +83 -0
- package/dist/shared/navigation/unsavedChanges.d.ts.map +1 -0
- package/dist/shared/navigation/unsavedChanges.js +46 -0
- package/dist/shared-assistant.js +247 -238
- package/dist/shared-hooks.js +10 -9
- package/dist/shared.js +20 -19
- package/dist/storage/filesPort.d.ts +111 -0
- package/dist/storage/filesPort.d.ts.map +1 -0
- package/dist/storage/filesPort.js +262 -0
- package/dist/storage/index.d.ts +2 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +9 -8
- package/package.json +1 -1
|
@@ -63,7 +63,12 @@ export interface AssistantInlineLimitsConfig {
|
|
|
63
63
|
}
|
|
64
64
|
export type AssistantAttachmentKind = "image" | "text" | "document";
|
|
65
65
|
export type AssistantAttachmentStatus = "pending" | "uploading" | "ready" | "error";
|
|
66
|
-
export type AttachmentRejection = "too-many" | "too-large" | "empty" | "unreadable" | "unsupported-image"
|
|
66
|
+
export type AttachmentRejection = "too-many" | "too-large" | "empty" | "unreadable" | "unsupported-image"
|
|
67
|
+
/**
|
|
68
|
+
* Over the 5 MiB the browser can upload directly, and with no text to send inline instead: it
|
|
69
|
+
* could be neither saved to Files nor read, so it is refused at attach rather than failing at Send.
|
|
70
|
+
*/
|
|
71
|
+
| "too-large-to-save";
|
|
67
72
|
/**
|
|
68
73
|
* Thrown while PREPARING a file (after it passed `validateFile`) to reject it
|
|
69
74
|
* with a specific reason rather than the generic 'unreadable'.
|
|
@@ -93,9 +98,9 @@ export interface AssistantAttachment {
|
|
|
93
98
|
* parts; see `MAX_TURN_BODY_BYTES`. Images only; never persisted.
|
|
94
99
|
*/
|
|
95
100
|
inlineDataUrl?: string;
|
|
96
|
-
/** wspace-files-svc id, once the
|
|
101
|
+
/** wspace-files-svc id, once Send has saved the file (`commitAttachments`). Absent on a draft. */
|
|
97
102
|
fileId?: string;
|
|
98
|
-
/** Short-lived presigned URL,
|
|
103
|
+
/** Short-lived presigned URL, minted when Send saves the file (see `urlResolvedAt`). */
|
|
99
104
|
downloadUrl?: string;
|
|
100
105
|
/**
|
|
101
106
|
* Inlined content for this attachment, already truncated to the per-file
|
|
@@ -124,16 +129,32 @@ export interface AssistantAttachment {
|
|
|
124
129
|
/** Human-readable failure reason when `status === 'error'`. */
|
|
125
130
|
error?: string;
|
|
126
131
|
/**
|
|
127
|
-
*
|
|
128
|
-
* is
|
|
129
|
-
*
|
|
130
|
-
* wspace-files-svc runs at minReplicas 0 and needs >=51s to bind its port against
|
|
131
|
-
* the gateway's 15s budget, so the first attachment after a quiet period
|
|
132
|
-
* legitimately sits for about a minute while fe-libs walks its retry ladder. A
|
|
133
|
-
* spinner alone reads as a hang. Draft-only, and NEVER a failure: `status` is still
|
|
134
|
-
* `uploading` and `error` is still unset.
|
|
132
|
+
* A short note on a save that is taking a while, shown on the chip while `uploading`.
|
|
133
|
+
* Draft-only, and NEVER a failure: `status` is still `uploading` and `error` is still unset.
|
|
134
|
+
* (The Azure-era "file service is starting up" ladder is gone from the Send path.)
|
|
135
135
|
*/
|
|
136
136
|
progressNote?: string;
|
|
137
|
+
/**
|
|
138
|
+
* 0-100 while Send is saving this attachment to Files (`commitAttachments`). Draft-only;
|
|
139
|
+
* cleared again as soon as the save settles either way.
|
|
140
|
+
*/
|
|
141
|
+
progress?: number;
|
|
142
|
+
/**
|
|
143
|
+
* When `downloadUrl` was minted (epoch ms). The URL is minted at Send, seconds before the
|
|
144
|
+
* turn; a Retry that replays the attachment much later refreshes it once it is old.
|
|
145
|
+
*/
|
|
146
|
+
urlResolvedAt?: number;
|
|
147
|
+
/**
|
|
148
|
+
* Why the last Send could not save this attachment to Files. The chip stays `ready` and the
|
|
149
|
+
* person can press Send again (that is the retry) or remove it. Draft-only.
|
|
150
|
+
*/
|
|
151
|
+
saveError?: string;
|
|
152
|
+
/**
|
|
153
|
+
* True for a file that is deliberately NOT saved to Files (a non-image over the 5 MiB direct
|
|
154
|
+
* upload limit whose text is still sent inline). `commitAttachments` passes it through
|
|
155
|
+
* untouched and a missing `fileId` on it is not a failure.
|
|
156
|
+
*/
|
|
157
|
+
inlineOnly?: boolean;
|
|
137
158
|
}
|
|
138
159
|
/**
|
|
139
160
|
* The slice of an attachment that is safe to keep on a sent message.
|
|
@@ -203,14 +224,13 @@ export declare function hasAttachmentWorkInFlight(preparingCount: number, attach
|
|
|
203
224
|
* model receives cannot drift apart by one of them being updated and the others
|
|
204
225
|
* not.
|
|
205
226
|
*
|
|
206
|
-
* `status` is the whole test, and that is deliberate rather than lazy
|
|
207
|
-
* attachment
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
211
|
-
* the
|
|
212
|
-
*
|
|
213
|
-
* and those are exactly the ones worth stopping a turn for.
|
|
227
|
+
* `status` is the whole test, and that is deliberate rather than lazy. A draft
|
|
228
|
+
* attachment is `ready` as soon as it is prepared (read, downscaled, extracted)
|
|
229
|
+
* and stays `ready` through a failed Send (the chip then carries `saveError`):
|
|
230
|
+
* what blocks a Send is the Send itself failing to save the file, not this
|
|
231
|
+
* filter. It exists so the set the person sees, the set the prompt describes
|
|
232
|
+
* and the set a spoken turn carries cannot drift apart. `error` is no longer
|
|
233
|
+
* produced for a draft (a file that cannot be read is refused at attach).
|
|
214
234
|
*/
|
|
215
235
|
export declare function getSendableAttachments(attachments: AssistantAttachment[]): AssistantAttachment[];
|
|
216
236
|
/** Why a draft cannot be sent yet, as far as its attachments are concerned. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/attachments.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/attachments.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,8 +42,22 @@ export interface AssistantNavigateAction {
|
|
|
42
42
|
via?: AssistantNavigateVia;
|
|
43
43
|
outcome?: AssistantNavigateOutcome;
|
|
44
44
|
landedPath?: string;
|
|
45
|
+
/**
|
|
46
|
+
* ★ BOFF-8060 (N3): how an OFFERED page was accepted — only with
|
|
47
|
+
* `via: "offer"`. An older reader ignores both fields and reads a plain
|
|
48
|
+
* navigate (the 1005.2 reader already accepts `via: "offer"`).
|
|
49
|
+
*/
|
|
50
|
+
trigger?: AssistantNavigateOfferTrigger;
|
|
51
|
+
/** ★ N3: the sandbox's offer id (`uo_` + 32 hex) — only with `via: "offer"`. */
|
|
52
|
+
offerId?: string;
|
|
45
53
|
}
|
|
46
54
|
export type AssistantNavigateVia = "named" | "link" | "choice" | "back" | "offer";
|
|
55
|
+
/**
|
|
56
|
+
* ★ BOFF-8060 (N3): `tap` — the "Open {page}" link; `deixis` — "take me there";
|
|
57
|
+
* `yes` — a bare "yes" the binder accepted (§6); `resolve` — act-on-resolve
|
|
58
|
+
* (§8), the person's own explicit request answered by exactly one offer.
|
|
59
|
+
*/
|
|
60
|
+
export type AssistantNavigateOfferTrigger = "tap" | "deixis" | "yes" | "resolve";
|
|
47
61
|
export type AssistantNavigateOutcome = "arrived" | "redirected" | "new-tab" | "refused" | "unconfirmed";
|
|
48
62
|
/**
|
|
49
63
|
* ★ BOFF-8060: an app control the panel operated (header, sidebar, language,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/conversation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAIhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,sBAAsB,GAC9B,MAAM,GACN,cAAc,GACd,SAAS,GACT,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,MAAM,2BAA2B,GACnC,MAAM,GACN,cAAc,GACd,YAAY,GACZ,WAAW,GACX,UAAU,GACV,OAAO,CAAC;AAEZ;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,oBAAoB,CAAC;IAC3B,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UiOfferView } from './uiActions/uiOffers';
|
|
2
|
+
import { AssistantRawMessage, AssistantSandboxAuthContext, SandboxAssistantConfig, SandboxAssistantTransport } from './types';
|
|
2
3
|
export interface TransportDeps {
|
|
3
4
|
getAuthContext: () => AssistantSandboxAuthContext;
|
|
4
5
|
getWorkspaceId: () => string;
|
|
5
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* ★ BOFF-8060 (N3): the offers bound to this turn — a user message the turn's
|
|
9
|
+
* own reads returned, and the assistant message that answers it. An offer for
|
|
10
|
+
* any other turn of the session is not passed on.
|
|
11
|
+
*/
|
|
12
|
+
export declare function offersOfThisTurn(offers: readonly UiOfferView[], turnMessages: readonly AssistantRawMessage[]): UiOfferView[];
|
|
6
13
|
export declare function createSandboxAssistantTransport(config: SandboxAssistantConfig, deps: TransportDeps): SandboxAssistantTransport;
|
|
7
14
|
//# sourceMappingURL=createSandboxAssistantTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AASvE,OAAO,KAAK,EAEV,mBAAmB,EACnB,2BAA2B,EAE3B,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAOjB,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,2BAA2B,CAAC;IAClD,cAAc,EAAE,MAAM,MAAM,CAAC;CAC9B;AAYD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,YAAY,EAAE,SAAS,mBAAmB,EAAE,GAC3C,WAAW,EAAE,CAef;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,sBAAsB,EAC9B,IAAI,EAAE,aAAa,GAClB,yBAAyB,CA8Q3B"}
|
|
@@ -4,36 +4,47 @@ import "./gatewayClient.js";
|
|
|
4
4
|
import { checkAssistantAiCredits as n, getAssistantMessages as r, getAssistantStreamAccess as i, reportAssistantAiTokenUsage as a, sendAssistantPromptAsync as o, stopReapedAssistantSandbox as s } from "./api.js";
|
|
5
5
|
import { AssistantRuntimeManager as c } from "./runtime.js";
|
|
6
6
|
import { buildProgress as l, isReapedSandboxConnectionError as u, isRecoverable as d, mergeMessagesById as f, sanitize as p } from "./progress.js";
|
|
7
|
-
import {
|
|
7
|
+
import { parseUiOffers as m } from "./uiActions/uiOffers.js";
|
|
8
|
+
import { assistantUsageLedger as h, hasPendingUsageReports as g, reportUsageWithRetry as _, retryPendingUsageReports as v, usageSendRefusal as y } from "./usageReporting.js";
|
|
8
9
|
//#region src/shared/assistant/createSandboxAssistantTransport.ts
|
|
9
|
-
var
|
|
10
|
-
function
|
|
10
|
+
var b = 42e4, x = 400, S = 2e3, C = 5e3;
|
|
11
|
+
function w() {
|
|
11
12
|
return typeof window > "u" ? {} : {
|
|
12
13
|
currentUrl: window.location.href,
|
|
13
14
|
currentPage: window.location.pathname.split("/").filter(Boolean).slice(0, 3).join("/") || "home",
|
|
14
15
|
viewportSize: `${window.innerWidth}x${window.innerHeight}`
|
|
15
16
|
};
|
|
16
17
|
}
|
|
17
|
-
function
|
|
18
|
-
let
|
|
18
|
+
function T(e, t) {
|
|
19
|
+
let n = /* @__PURE__ */ new Set();
|
|
20
|
+
for (let e of t) e.info?.role === "user" && typeof e.info.id == "string" && n.add(e.info.id);
|
|
21
|
+
let r = /* @__PURE__ */ new Set();
|
|
22
|
+
for (let e of t) {
|
|
23
|
+
let { id: t, parentID: i, role: a } = e.info ?? {};
|
|
24
|
+
a === "assistant" && typeof t == "string" && typeof i == "string" && n.has(i) && r.add(`${i} ${t}`);
|
|
25
|
+
}
|
|
26
|
+
return e.filter((e) => r.has(`${e.turnId} ${e.assistantMessageId}`));
|
|
27
|
+
}
|
|
28
|
+
function E(E, D) {
|
|
29
|
+
let O = E.mode ?? "assistant", k = E.streamBudgetMs ?? b, A = { accumulateNarration: E.accumulateNarration === !0 }, j = E.ttlSeconds ?? 3600, M = E.isProdRuntime ?? (() => !1), N = E.enableCredits ?? !1, P = h("transport", E.product), F = (e) => async (t) => {
|
|
19
30
|
t.messageId && await a(t.workspaceId, t.sessionId, t.messageId, t.model, t.tokens, e);
|
|
20
|
-
},
|
|
21
|
-
product:
|
|
22
|
-
mode:
|
|
23
|
-
ttlSeconds:
|
|
24
|
-
isProd:
|
|
25
|
-
getWorkspaceId:
|
|
26
|
-
getAuthContext:
|
|
27
|
-
}),
|
|
28
|
-
async function
|
|
31
|
+
}, I = new c({
|
|
32
|
+
product: E.product,
|
|
33
|
+
mode: O,
|
|
34
|
+
ttlSeconds: j,
|
|
35
|
+
isProd: M,
|
|
36
|
+
getWorkspaceId: D.getWorkspaceId,
|
|
37
|
+
getAuthContext: D.getAuthContext
|
|
38
|
+
}), L = () => E.gatherPageContext ? { ...E.gatherPageContext() } : w();
|
|
39
|
+
async function R(t, n, a, c) {
|
|
29
40
|
try {
|
|
30
|
-
let { sandboxId: e, sessionId: s } = await
|
|
31
|
-
|
|
41
|
+
let { sandboxId: e, sessionId: s } = await I.ensureRuntime();
|
|
42
|
+
I.startKeepWarm();
|
|
32
43
|
let c = Date.now();
|
|
33
|
-
await o(e, n, s, t.prompt,
|
|
34
|
-
let u = null, d = null,
|
|
35
|
-
if (
|
|
36
|
-
d = new EventSource(
|
|
44
|
+
await o(e, n, s, t.prompt, O, L(), a, t.parts?.length ? { parts: t.parts } : void 0);
|
|
45
|
+
let u = null, d = null, h = await i(e, n, s, O, a).catch(() => null);
|
|
46
|
+
if (h && typeof EventSource < "u") try {
|
|
47
|
+
d = new EventSource(h.url);
|
|
37
48
|
let e = () => {
|
|
38
49
|
if (u) {
|
|
39
50
|
let e = u;
|
|
@@ -46,7 +57,7 @@ function w(w, T) {
|
|
|
46
57
|
} catch {
|
|
47
58
|
d?.close(), d = null;
|
|
48
59
|
}
|
|
49
|
-
let
|
|
60
|
+
let g = (e) => new Promise((n) => {
|
|
50
61
|
if (t.signal.aborted) return n();
|
|
51
62
|
let r = setTimeout(() => {
|
|
52
63
|
u = null, n();
|
|
@@ -54,67 +65,75 @@ function w(w, T) {
|
|
|
54
65
|
u = () => {
|
|
55
66
|
clearTimeout(r), n();
|
|
56
67
|
};
|
|
57
|
-
}),
|
|
68
|
+
}), v = E.onUiOffers, y = null, b = v ? (e, t) => {
|
|
69
|
+
y = m(e, t);
|
|
70
|
+
} : void 0, w = () => {
|
|
71
|
+
let e = y;
|
|
72
|
+
return y = null, e;
|
|
73
|
+
}, D = c + k, j = [], M = l([], c, A), R = c;
|
|
58
74
|
try {
|
|
59
|
-
for (; Date.now() <
|
|
75
|
+
for (; Date.now() < D;) {
|
|
60
76
|
if (t.signal.aborted) throw Error("Cancelled");
|
|
61
|
-
let i = await r(e, n, s,
|
|
62
|
-
sinceMs:
|
|
63
|
-
surfaceTurnTerminal: !0
|
|
77
|
+
let i = await r(e, n, s, O, a, {
|
|
78
|
+
sinceMs: R,
|
|
79
|
+
surfaceTurnTerminal: !0,
|
|
80
|
+
surfaceUiOffers: b
|
|
64
81
|
});
|
|
65
|
-
|
|
82
|
+
j = f(j, i);
|
|
83
|
+
let o = w();
|
|
84
|
+
v && o && v(T(o.offers, j), o.serverNow);
|
|
66
85
|
for (let e of i) {
|
|
67
86
|
let t = e.info?.time?.created;
|
|
68
|
-
typeof t == "number" && t >
|
|
87
|
+
typeof t == "number" && t > R && (R = t);
|
|
69
88
|
}
|
|
70
|
-
if (
|
|
71
|
-
let
|
|
72
|
-
await (d ?
|
|
89
|
+
if (M = l(j, c, A), t.onProgress(p(M.content)), M.done) break;
|
|
90
|
+
let u = Date.now() - c < C ? x : S;
|
|
91
|
+
await (d ? g(u) : new Promise((e) => setTimeout(e, u)));
|
|
73
92
|
}
|
|
74
93
|
} finally {
|
|
75
94
|
d?.close();
|
|
76
95
|
}
|
|
77
|
-
if (!
|
|
78
|
-
let
|
|
79
|
-
if (
|
|
80
|
-
let e =
|
|
81
|
-
e?.info?.id && t && (await
|
|
96
|
+
if (!M.done) throw Error("The assistant timed out while responding. Please try again.");
|
|
97
|
+
let z = await r(e, n, s, O, a, { limit: 50 }).catch(() => j), B = l(f(j, z), c, A);
|
|
98
|
+
if (N) {
|
|
99
|
+
let e = z.filter((e) => e.info?.role === "assistant").sort((e, t) => (t.info?.time?.created ?? 0) - (e.info?.time?.created ?? 0))[0], t = e?.info?.tokens, r = e?.info?.providerID && e?.info?.modelID ? `${e.info.providerID}/${e.info.modelID}` : void 0;
|
|
100
|
+
e?.info?.id && t && (await _({
|
|
82
101
|
workspaceId: n,
|
|
83
102
|
sessionId: s,
|
|
84
103
|
messageId: e.info.id,
|
|
85
104
|
model: r,
|
|
86
105
|
tokens: t
|
|
87
|
-
},
|
|
106
|
+
}, F(a), { ledger: P })).ok && E.onCreditsUpdated?.();
|
|
88
107
|
}
|
|
89
|
-
return { text: p(
|
|
108
|
+
return { text: p(B.content) };
|
|
90
109
|
} catch (r) {
|
|
91
110
|
if (c === 1 && d(r)) {
|
|
92
111
|
let i = u(r), o = e(r) === "ASSISTANT_SESSION_REVOKED", c = i || o;
|
|
93
112
|
if (c) {
|
|
94
|
-
let e =
|
|
113
|
+
let e = I.getSandboxId();
|
|
95
114
|
e && await s(e, n, a, { ownerScoped: o }).catch(() => void 0);
|
|
96
115
|
}
|
|
97
|
-
return
|
|
116
|
+
return I.reset({ quarantineCurrentSandbox: c }), R(t, n, a, 2);
|
|
98
117
|
}
|
|
99
118
|
throw r;
|
|
100
119
|
}
|
|
101
120
|
}
|
|
102
121
|
return {
|
|
103
122
|
sendPrompt: async (e) => {
|
|
104
|
-
let r =
|
|
123
|
+
let r = D.getWorkspaceId();
|
|
105
124
|
if (!r) throw Error("The assistant needs an active workspace. Open a workspace and try again.");
|
|
106
|
-
let i =
|
|
107
|
-
if (
|
|
108
|
-
let e = await
|
|
109
|
-
if (!e.ok) throw
|
|
125
|
+
let i = D.getAuthContext();
|
|
126
|
+
if (N && g(P, r)) {
|
|
127
|
+
let e = await v(P, r, F(i));
|
|
128
|
+
if (!e.ok) throw y(e.kind);
|
|
110
129
|
}
|
|
111
|
-
return
|
|
112
|
-
t(e) &&
|
|
113
|
-
}),
|
|
130
|
+
return N && n(r, i).catch((e) => {
|
|
131
|
+
t(e) && E.onQuotaExhausted?.(e);
|
|
132
|
+
}), R(e, r, i, 1);
|
|
114
133
|
},
|
|
115
|
-
prewarm: (e) =>
|
|
116
|
-
suspend: () =>
|
|
134
|
+
prewarm: (e) => I.prewarm(e),
|
|
135
|
+
suspend: () => I.stopKeepWarm()
|
|
117
136
|
};
|
|
118
137
|
}
|
|
119
138
|
//#endregion
|
|
120
|
-
export {
|
|
139
|
+
export { E as createSandboxAssistantTransport, T as offersOfThisTurn };
|