@burdenoff/fe-libs 2026.919.1 → 2026.920.2

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 (47) hide show
  1. package/dist/shared/assistant/adminModeSendGate.d.ts +43 -0
  2. package/dist/shared/assistant/adminModeSendGate.d.ts.map +1 -1
  3. package/dist/shared/assistant/adminModeSendGate.js +33 -18
  4. package/dist/shared/assistant/api.d.ts +17 -0
  5. package/dist/shared/assistant/api.d.ts.map +1 -1
  6. package/dist/shared/assistant/api.js +88 -66
  7. package/dist/shared/assistant/attachmentTurn.d.ts +21 -0
  8. package/dist/shared/assistant/attachmentTurn.d.ts.map +1 -0
  9. package/dist/shared/assistant/attachmentTurn.js +48 -0
  10. package/dist/shared/assistant/attachments.d.ts +85 -6
  11. package/dist/shared/assistant/attachments.d.ts.map +1 -1
  12. package/dist/shared/assistant/attachments.js +165 -112
  13. package/dist/shared/assistant/conversation.d.ts +21 -0
  14. package/dist/shared/assistant/conversation.d.ts.map +1 -1
  15. package/dist/shared/assistant/documentExtract.d.ts +11 -2
  16. package/dist/shared/assistant/documentExtract.d.ts.map +1 -1
  17. package/dist/shared/assistant/documentExtract.js +39 -37
  18. package/dist/shared/assistant/gatewayLimits.d.ts +10 -0
  19. package/dist/shared/assistant/gatewayLimits.d.ts.map +1 -1
  20. package/dist/shared/assistant/gatewayLimits.js +2 -2
  21. package/dist/shared/assistant/i18nManifest.d.ts +5 -0
  22. package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
  23. package/dist/shared/assistant/i18nManifest.js +6 -1
  24. package/dist/shared/assistant/index.d.ts +2 -0
  25. package/dist/shared/assistant/index.d.ts.map +1 -1
  26. package/dist/shared/assistant/modeCapabilities.d.ts +25 -0
  27. package/dist/shared/assistant/modeCapabilities.d.ts.map +1 -1
  28. package/dist/shared/assistant/modeCapabilities.js +6 -2
  29. package/dist/shared/assistant/store.d.ts +26 -5
  30. package/dist/shared/assistant/store.d.ts.map +1 -1
  31. package/dist/shared/assistant/store.js +28 -18
  32. package/dist/shared/assistant/ui/AssistantApiCallsConsentDialog.d.ts +27 -10
  33. package/dist/shared/assistant/ui/AssistantApiCallsConsentDialog.d.ts.map +1 -1
  34. package/dist/shared/assistant/ui/AssistantApiCallsConsentDialog.js +22 -16
  35. package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
  36. package/dist/shared/assistant/ui/AssistantChatArea.js +305 -272
  37. package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts +12 -0
  38. package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts.map +1 -1
  39. package/dist/shared/assistant/ui/composer/AssistantComposer.js +57 -57
  40. package/dist/shared/assistant/useAssistantAttachments.d.ts +12 -1
  41. package/dist/shared/assistant/useAssistantAttachments.d.ts.map +1 -1
  42. package/dist/shared/assistant/useAssistantAttachments.js +98 -98
  43. package/dist/shared/assistant/writeModeConsent.d.ts +99 -0
  44. package/dist/shared/assistant/writeModeConsent.d.ts.map +1 -0
  45. package/dist/shared/assistant/writeModeConsent.js +48 -0
  46. package/dist/shared-assistant.js +116 -114
  47. package/package.json +1 -1
@@ -0,0 +1,99 @@
1
+ import { AssistantModeConfig } from './conversation';
2
+ import { AssistantTr } from './i18n';
3
+ import { AssistantMode } from './types';
4
+ /**
5
+ * The single flag this module replaces, as it sits in storage written by
6
+ * fe-libs 2026.919.1 and earlier.
7
+ */
8
+ export declare const LEGACY_WRITE_CONSENT_KEY = "apiCallsAcknowledged";
9
+ /**
10
+ * The write-capable modes this profile has accepted, read back from storage.
11
+ *
12
+ * - A stored list is kept, minus anything that is not a mode id and any repeat.
13
+ * Storage is data from another build, so it is checked, not trusted.
14
+ * - Otherwise a stored legacy flag of exactly `true` becomes `["api-calls"]`.
15
+ * - Otherwise nothing is acknowledged.
16
+ *
17
+ * ★ A stored list WINS over the legacy flag, and is never merged with it. This
18
+ * build never writes the flag, and an older build drops the list the next time
19
+ * it persists (its `partialize` does not know the key), so the two are not
20
+ * stored side by side by either. Should they ever be, the list is the newer
21
+ * decision. After a rollback and a roll-forward, the flag the older build wrote
22
+ * is migrated again, exactly as on first upgrade.
23
+ */
24
+ export declare function restoreAcknowledgedWriteModes(persisted: unknown): AssistantMode[];
25
+ /** Has this profile accepted the write consent for `mode`? */
26
+ export declare function isWriteModeAcknowledged(acknowledged: readonly AssistantMode[], mode: AssistantMode): boolean;
27
+ /** Send-time consent and voice checks against the validated post-wait mode. */
28
+ export declare function writeModeSendRefusal(mode: AssistantMode, config: Pick<AssistantModeConfig, "writeCapable"> | undefined, acknowledged: readonly AssistantMode[], { dictated, confirmsWrites }: {
29
+ dictated: boolean;
30
+ confirmsWrites: boolean;
31
+ }): string | null;
32
+ /** `acknowledged` plus `mode`, unchanged (same array) if it is already there. */
33
+ export declare function withWriteModeAcknowledged(acknowledged: readonly AssistantMode[], mode: AssistantMode): readonly AssistantMode[];
34
+ /** A mode as the dialog needs it: the product's config, or just an id. */
35
+ export type WriteConsentMode = Pick<AssistantModeConfig, "id"> & Partial<Pick<AssistantModeConfig, "label" | "producesArtifacts">>;
36
+ /** Every line of the dialog, already translated. */
37
+ export interface WriteModeConsentCopy {
38
+ title: string;
39
+ body: string;
40
+ /** Whether the assistant stops for approval before a change — true or false, said plainly. */
41
+ safeguard: string;
42
+ confirm: string;
43
+ cancel: string;
44
+ }
45
+ /**
46
+ * fe-libs' own English for the `apiCalls.consent*` keys — the exact strings the
47
+ * `tr()` calls in `writeModeConsentCopy` pass as their fallbacks.
48
+ *
49
+ * ★ Written out twice ON PURPOSE. `i18nManifest.test.ts` reads the fallback
50
+ * ARGUMENT of every `tr()` call with the TypeScript parser, so a call site that
51
+ * passed this table's value instead of a literal would drop out of the manifest
52
+ * — and a key missing from the manifest is a key no product seeds, which is how
53
+ * a string silently goes English in every locale. That test pins each call site
54
+ * to the manifest, and `writeModeConsent.test.ts` pins this table to the
55
+ * manifest too, so the three cannot drift apart without CI failing.
56
+ */
57
+ export declare const TAKE_ACTION_ENGLISH: {
58
+ readonly "apiCalls.consentTitle": "Switch to Take action mode?";
59
+ readonly "apiCalls.consentBody": "In Take action mode the assistant can read AND change your data — creating records, logging activity, updating details, and more, on your behalf.";
60
+ readonly "apiCalls.consentConfirm": "Enable Take action";
61
+ readonly "apiCalls.consentCancel": "Stay in Ask";
62
+ };
63
+ /** A consent key whose English fe-libs writes itself. */
64
+ export type TakeActionConsentKey = keyof typeof TAKE_ACTION_ENGLISH;
65
+ /**
66
+ * What the consent dialog says when switching from `current` into `target`.
67
+ *
68
+ * ★★ A PRODUCT'S OWN WORDS ALWAYS WIN. `apiCalls.consent*` predate per-mode
69
+ * wording, and products have seeded them: FluidGrids authored all five in six
70
+ * languages FOR ITS OWN NAME for `api-calls` ("In Workflow mode … your
71
+ * FluidGrids data"), HealthyBowl's body names "your HealthyBowl data". So for
72
+ * `api-calls` those keys are asked FIRST, and whatever comes back that is not
73
+ * fe-libs' own English is what renders — in the reader's language, byte for
74
+ * byte as before this change.
75
+ *
76
+ * ★★ `writeConsent.*` renders only where there is no product copy to lose: a
77
+ * mode that is not `api-calls` (a build mode has no seeded consent copy at all),
78
+ * or an `api-calls` whose dictionary gave our own sentence back. It says the
79
+ * same thing through `{{mode}}`, which names the mode as its pill does — so a
80
+ * product that calls `api-calls` "Build" stops being told "Take action" without
81
+ * any product's translation turning English.
82
+ *
83
+ * ★ The cancel button keeps `apiCalls.consentCancel` ("Stay in Ask") only when
84
+ * the mode being LEFT is the one called Ask — that sentence is about `current`,
85
+ * not `target`. Leaving Build names Build.
86
+ *
87
+ * ★★ `confirmsWrites` decides the safeguard line, and the caller must derive it
88
+ * from what the SANDBOX does (`modeRequiresConfirmWrites`), never from a product
89
+ * flag. The old dialog promised a confirmation step for every write-capable
90
+ * mode; only `api-calls` boots with AI_ASSISTANT_CONFIRM_WRITES, so for any
91
+ * other mode that promise was false. It now says the opposite, plainly.
92
+ */
93
+ export declare function writeModeConsentCopy(tr: AssistantTr, { target, current, confirmsWrites, }: {
94
+ target: WriteConsentMode;
95
+ /** The mode being left; absent is read as Ask, the mode everyone starts in. */
96
+ current?: WriteConsentMode | null;
97
+ confirmsWrites: boolean;
98
+ }): WriteModeConsentCopy;
99
+ //# sourceMappingURL=writeModeConsent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeModeConsent.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/writeModeConsent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAM1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAc/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,OAAO,GAAG,aAAa,EAAE,CAiBjF;AAED,8DAA8D;AAC9D,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,IAAI,EAAE,aAAa,GAClB,OAAO,CAET;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAAG,SAAS,EAC7D,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,GAC3E,MAAM,GAAG,IAAI,CAQf;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,IAAI,EAAE,aAAa,GAClB,SAAS,aAAa,EAAE,CAE1B;AAED,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAEpE,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAmBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB;;;;;CAMtB,CAAC;AAEX,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAuBpE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,WAAW,EACf,EACE,MAAM,EACN,OAAO,EACP,cAAc,GACf,EAAE;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,OAAO,CAAC;CACzB,GACA,oBAAoB,CA+DtB"}
@@ -0,0 +1,48 @@
1
+ import { ASSISTANT_MODE_FALLBACK_LABELS as e, assistantModeFallbackLabel as t } from "./modeCopy.js";
2
+ import { isAssistantModeId as n } from "./modeIds.js";
3
+ //#region src/shared/assistant/writeModeConsent.ts
4
+ var r = "apiCallsAcknowledged", i = "api-calls";
5
+ function a(e) {
6
+ if (typeof e != "object" || !e) return [];
7
+ let t = Object.fromEntries(Object.entries(e)), r = t.acknowledgedWriteModes;
8
+ if (Array.isArray(r)) {
9
+ let e = /* @__PURE__ */ new Set();
10
+ for (let t of r) n(t) && e.add(t);
11
+ return [...e];
12
+ }
13
+ return t.apiCallsAcknowledged === !0 ? [i] : [];
14
+ }
15
+ function o(e, t) {
16
+ return e.includes(t);
17
+ }
18
+ function s(e, t, n, { dictated: r, confirmsWrites: i }) {
19
+ return t?.writeCapable && !o(n, e) ? "Confirm this assistant mode before sending: choose it again in the mode selector." : r && (t?.writeCapable || i) ? "Voice can't be used in a mode that can change your data. Type your request instead." : null;
20
+ }
21
+ function c(e, t) {
22
+ return e.includes(t) ? e : [...e, t];
23
+ }
24
+ function l(e, n) {
25
+ return e(`mode.${n.id}`, n.label || t(n));
26
+ }
27
+ var u = (e, n) => (e.label || t(e)) === n, d = {
28
+ "apiCalls.consentTitle": "Switch to Take action mode?",
29
+ "apiCalls.consentBody": "In Take action mode the assistant can read AND change your data — creating records, logging activity, updating details, and more, on your behalf.",
30
+ "apiCalls.consentConfirm": "Enable Take action",
31
+ "apiCalls.consentCancel": "Stay in Ask"
32
+ };
33
+ function f(e, t) {
34
+ return t === d[e] ? null : t;
35
+ }
36
+ var p = { id: "assistant" };
37
+ function m(t, { target: n, current: r, confirmsWrites: i }) {
38
+ let a = l(t, n), o = n.id === "api-calls", s = !r || u(r, e.assistant);
39
+ return {
40
+ title: (o ? f("apiCalls.consentTitle", t("apiCalls.consentTitle", "Switch to Take action mode?")) : null) ?? t("writeConsent.title", "Switch to {{mode}} mode?", { mode: a }),
41
+ body: (o ? f("apiCalls.consentBody", t("apiCalls.consentBody", "In Take action mode the assistant can read AND change your data — creating records, logging activity, updating details, and more, on your behalf.")) : null) ?? t("writeConsent.body", "In {{mode}} mode the assistant can read AND change your data — creating records, logging activity, updating details, and more, on your behalf.", { mode: a }),
42
+ safeguard: i ? t("apiCalls.consentBody2", "It will describe what it is about to do and ask you to confirm before making a change. Only continue if you want the assistant to take actions for you.") : t("writeConsent.unconfirmed", "It does not stop to ask before each change — it makes changes as soon as it decides to. Only continue if you want the assistant to change your data without asking first."),
43
+ confirm: (o ? f("apiCalls.consentConfirm", t("apiCalls.consentConfirm", "Enable Take action")) : null) ?? t("writeConsent.confirm", "Enable {{mode}}", { mode: a }),
44
+ cancel: (s ? f("apiCalls.consentCancel", t("apiCalls.consentCancel", "Stay in Ask")) : null) ?? t("writeConsent.cancel", "Stay in {{mode}}", { mode: l(t, r ?? p) })
45
+ };
46
+ }
47
+ //#endregion
48
+ export { r as LEGACY_WRITE_CONSENT_KEY, d as TAKE_ACTION_ENGLISH, o as isWriteModeAcknowledged, a as restoreAcknowledgedWriteModes, c as withWriteModeAcknowledged, m as writeModeConsentCopy, s as writeModeSendRefusal };
@@ -11,117 +11,119 @@ import { ASSISTANT_MODE_FALLBACK_LABELS as L, ASSISTANT_MODE_IDS as R, assistant
11
11
  import { PRODUCT_ASSISTANT_MODE_ID_MAX_LENGTH as V, PRODUCT_ASSISTANT_MODE_ID_PATTERN as H, builtInModeExtendedBy as U, declareAssistantMode as W, isAssistantModeId as G, isProductAssistantModeId as K } from "./shared/assistant/modeIds.js";
12
12
  import { ASSISTANT_API_AUTH_STRATEGY as q, getImageForMode as J, getImageTagForMode as Y, getResourcesForMode as X, getSandboxImageRegistry as Z, resolveSandboxAssistantMode as Q, sandboxBaseModeFor as $ } from "./shared/assistant/images.js";
13
13
  import { getCapability as ee, isUnknownFieldError as te, markSupported as ne, markUnsupported as re } from "./shared/assistant/capabilities.js";
14
- import { abortAssistantTurn as ie, approvePendingWrite as ae, buildAssistantSandboxEnv as oe, buildPromptRequestBody as se, checkAssistantAiCredits as ce, createAssistantSandbox as le, createAssistantSession as ue, downloadAssistantArtifact as de, extendAssistantSandboxTTL as fe, findExistingSandbox as pe, forwardsUserTokensToSandbox as me, getAssistantArtifacts as he, getAssistantMessages as ge, getAssistantSession as _e, getAssistantStreamAccess as ve, modeRequiresConfirmWrites as ye, releaseSupersededAssistantSandboxes as be, reportAssistantAiTokenUsage as xe, selectExistingAssistantSandbox as Se, selectSupersededAssistantSandboxes as Ce, sendAssistantPromptAsync as we, sendHeartbeat as Te, stopReapedAssistantSandbox as Ee, waitForAssistantServiceReady as De, waitForSandboxRunning as Oe } from "./shared/assistant/api.js";
15
- import { AssistantRuntimeManager as ke } from "./shared/assistant/runtime.js";
16
- import { buildProgress as Ae, getAssistantMedia as je, getAssistantText as Me, getRawMessageCreatedAt as Ne, getToolProgress as Pe, isReapedSandboxConnectionError as Fe, isRecoverable as Ie, mapSessionToHistory as Le, mergeMessagesById as Re, sanitize as ze } from "./shared/assistant/progress.js";
17
- import { createSandboxAssistantTransport as Be } from "./shared/assistant/createSandboxAssistantTransport.js";
18
- import { useSandboxAssistantTransport as Ve } from "./shared/assistant/useSandboxAssistantTransport.js";
19
- import { BUILT_IN_MODE_CAPABILITIES as He, MAX_ASSISTANT_STREAM_BUDGET_MS as Ue, UNDECLARED_MODE_CAPABILITIES as We, adminOnlyModeSendRefusal as Ge, findAssistantModeConfig as Ke, resolveAssistantModeCapabilities as qe } from "./shared/assistant/modeCapabilities.js";
20
- import { DEFAULT_STREAM_BUDGET_MS as Je, INCOMPLETE_TURN_NOTICES as Ye, STREAM_BUDGET_MS as Xe, incompleteTurnNotice as Ze, streamBudgetMs as Qe, withIncompleteTurnNotice as $e } from "./shared/assistant/streamBudget.js";
21
- import { chatTurns as et, groupBySession as tt, groupConsecutiveBySession as nt, isVoiceTurn as rt, voiceMarker as it, voiceSessionIdOf as at, voiceTurnsOnly as ot } from "./shared/assistant/voice/turnVisibility.js";
22
- import { browserSpeechEngine as st } from "./shared/assistant/speech/browserSpeechEngine.js";
23
- import { HOSTED_TTS_TIER as ct, HOSTED_VOICES as lt, hostedLocaleFor as ut, hostedSupportsLanguage as dt } from "./shared/assistant/speech/hostedVoiceCatalogue.js";
24
- import { HOSTED_DISABLE_MS as ft, HOSTED_TTS_MAX_CHARS as pt, SPEAKING_RATE_MAX as mt, SPEAKING_RATE_MAX_STREAMING as ht, SPEAKING_RATE_MAX_SYNC as gt, SPEAKING_RATE_MIN as _t, base64ToBytes as vt, buildRequest as yt, classifyHttpFailure as bt, decodeAudioResponse as xt, disableDurationMs as St, shouldDisableEngine as Ct, splitForVendor as wt } from "./shared/assistant/speech/hostedTtsProtocol.js";
25
- import { createHostedTtsEngine as Tt } from "./shared/assistant/speech/hostedTtsSpeechEngine.js";
26
- import { HOSTED_VOICE_RANK as Et, SPEECH_LANG as Dt, VOICE_LIST_TIMEOUT_MS as Ot, isHostedVoice as kt, isSpeechBlocked as At, languageDisplayName as jt, normalizeLangTag as Mt, primaryLanguageSubtag as Nt, selectVoiceForLocale as Pt, speechGate as Ft, speechLangForLocale as It, voiceAvailability as Lt, voiceQualityRank as Rt, voicesForLocale as zt } from "./shared/assistant/voice/speechVoices.js";
27
- import { createRoutingSpeechEngine as Bt } from "./shared/assistant/speech/routingSpeechEngine.js";
28
- import { configureSpeechEngine as Vt, createSpeechEngines as Ht, getSpeechEngine as Ut, readSpeechEngineConfig as Wt, resetSpeechEngine as Gt, subscribeSpeechEngine as Kt } from "./shared/assistant/speech/createSpeechEngine.js";
29
- import { micIsInterrupt as qt, showsAssistantCaption as Jt, showsUserCaption as Yt, voiceStageState as Xt, waveformIsActive as Zt, waveformIsSettled as Qt } from "./shared/assistant/voice/voiceStageState.js";
30
- import { PHRASE_ROTATE_MS as $t, STAGE_COPY as en, THINKING_PHRASES as tn, stageText as nn, statusStageCopy as rn, thinkingPhrase as an, thinkingPhraseEntry as on } from "./shared/assistant/stageCopy.js";
31
- import { VOICE_MUTED_LABEL as sn, VOICE_THINKING_LABEL as cn, composeVoiceStatus as ln, voiceStatusParts as un, voiceStatusSuffix as dn } from "./shared/assistant/voice/voiceStatus.js";
32
- import { IDLE_ROTATION_CLOCK as fn, advanceRotationClock as pn, rotationElapsedMs as mn, startRotationTicker as hn, syncRotationClock as gn } from "./shared/assistant/voice/rotationClock.js";
33
- import { ENDPOINT_GRACE_MS as _n, INITIAL_SESSION as vn, INTERRUPT_MAX_MS as yn, INTERRUPT_MIN_MS as bn, SILENCE_SUBMIT_MS as xn, isCapturing as Sn, isEcho as Cn, isSubmittable as wn, orbMode as Tn, planReplyConsumption as En, spokenSoFar as Dn, voiceSessionReducer as On } from "./shared/assistant/voice/voiceSession.js";
34
- import { buildContinuedFromVoiceNote as kn, buildVoiceTranscriptMarkdown as An, voiceTranscriptFilename as jn } from "./shared/assistant/voice/voiceTranscript.js";
35
- import { DEFAULT_SPEAKABLE_LABELS as Mn, MAX_SPEAKABLE_CHARS as Nn, MAX_SPOKEN_TABLE_ROWS as Pn, SPEECH_CHUNK_CHARS as Fn, SPEECH_CHUNK_CJK_CHARS as In, chunkForSpeech as Ln, containsCjk as Rn, speakableEmail as zn, splitTableRow as Bn, toSpeakableText as Vn } from "./shared/assistant/voice/speakableText.js";
36
- import { PREVIEW_LANGUAGES as Hn, voicePreviewText as Un } from "./shared/assistant/voice/voicePreview.js";
37
- import { MINI_CAPTION_BUDGET as Wn, showPreviousChunk as Gn } from "./shared/assistant/voice/miniCaptionBudget.js";
38
- import { POLL_FAST_MS as Kn, POLL_FAST_UNTIL_MS as qn, POLL_SLOW_MS as Jn, POLL_STEADY_MS as Yn, POLL_STEADY_UNTIL_MS as Xn, pollDelayMs as Zn } from "./shared/assistant/voice/assistantPollSchedule.js";
39
- import { toCaptionText as Qn } from "./shared/assistant/voice/captionText.js";
40
- import { ASSISTANT_LANGUAGES as $n, DEFAULT_SPEECH_RATE as er, findAssistantLanguage as tr, resolveAssistantLanguage as nr } from "./shared/assistant/voice/languages.js";
41
- import { replyFollowsInput as rr, resolveLanguagePair as ir } from "./shared/assistant/voice/languagePair.js";
42
- import { findPendingWrite as ar, parseConfirmationRefusal as or } from "./shared/assistant/pendingWrite.js";
43
- import { MAX_INLINE_IMAGE_BASE64_BYTES as sr, MAX_REQUEST_BODY_BYTES as cr } from "./shared/assistant/gatewayLimits.js";
44
- import { BOILERPLATE_PAGE_SHARE as lr, MAX_BOILERPLATE_LINE_CHARS as ur, MAX_EXTRACTED_CHARS as dr, MAX_PDF_PAGES_SCANNED as fr, MIN_PAGE_TEXT_CHARS as pr, MIN_TEXT_PAGE_SHARE as mr, columnLetterToIndex as hr, decodeXmlEntities as gr, docxXmlToText as _r, fitPdfPages as vr, formatPageRanges as yr, isMostlyImagePages as br, joinSheets as xr, pageMarker as Sr, parseSharedStrings as Cr, parseWorkbookSheets as wr, pdfTextItemsToPage as Tr, sheetXmlToRows as Er, summarisePageText as Dr, truncatePagesForInline as Or } from "./shared/assistant/documentText.js";
45
- import { ATTACHMENT_ACCEPT as kr, AttachmentRejectedError as Ar, INLINE_IMAGE_MAX_DIM as jr, INLINE_IMAGE_QUALITY as Mr, MAX_ATTACHMENTS as Nr, MAX_FILE_BYTES as Pr, MAX_INLINE_CHARS_PER_FILE as Fr, MAX_INLINE_CHARS_TOTAL as Ir, MAX_INLINE_IMAGE_BASE64_CHARS as Lr, MAX_INLINE_IMAGE_PARTS as Rr, MAX_INLINE_TURN_BODY_BYTES as zr, MAX_TURN_BODY_BYTES as Br, PROMPT_ENVELOPE_RESERVE_BYTES as Vr, PROVIDER_READABLE_FILE_MEDIA_TYPES as Hr, TURN_BODY_HEADROOM_BYTES as Ur, buildAttachmentPromptBlock as Wr, buildPromptParts as Gr, buildPromptWithAttachments as Kr, classifyAttachment as qr, countInlineImageCandidates as Jr, countInlinedImageParts as Yr, detectDocumentFormat as Xr, estimateTurnBodyBytes as Zr, formatBytes as Qr, getAttachmentSendBlocker as $r, getExtension as ei, getSendableAttachments as ti, hasAttachmentWorkInFlight as ni, isProviderReadableFilePart as ri, parseDataUrl as ii, toMessageAttachment as ai, truncateForInline as oi, validateFile as si } from "./shared/assistant/attachments.js";
46
- import { ATTACHMENT_SOURCES as ci, availableAttachmentSources as li, deviceHasCamera as ui } from "./shared/assistant/attachmentSources.js";
47
- import { ASSISTANT_I18N_COMPUTED_COPY as di, ASSISTANT_I18N_LITERAL_COPY as fi, ASSISTANT_I18N_MANIFEST as pi, assistantI18nSeedCopy as mi, assistantModeI18nCopy as hi } from "./shared/assistant/i18nManifest.js";
48
- import { ADMIN_MODE_ACCESS_WAIT_MS as gi, adminOnlyModeSendRefusalAfterAccess as _i, createAdminModeAccessGate as vi } from "./shared/assistant/adminModeSendGate.js";
49
- import { SPOKEN_LABEL_LANGUAGES as yi, speechLabelsFor as bi } from "./shared/assistant/voice/speechLabels.js";
50
- import { detectScriptLocale as xi, resolveSpeechLocale as Si } from "./shared/assistant/voice/replyLanguage.js";
51
- import { IDLE_PLAYBACK as Ci, isSpeakingMessage as wi, publishedChunks as Ti, requiresCancel as Ei, speechPlaybackReducer as Di } from "./shared/assistant/voice/speechPlayback.js";
52
- import { resolveActiveModeSandbox as Oi, useAssistantStore as ki } from "./shared/assistant/store.js";
53
- import { isTurnInFlight as Ai, planAbandonedTurn as ji, planTurnAbort as Mi } from "./shared/assistant/turnState.js";
54
- import { isLegacyFiller as Ni, isLegacyStopped as Pi, isStageCopy as Fi, stripLegacyFillerPrefix as Ii } from "./shared/assistant/legacyFiller.js";
55
- import { getAssistantDisplayContent as Li } from "./shared/assistant/displayContent.js";
56
- import { elapsedSince as Ri, msUntilNextPhrase as zi, startPhraseTicker as Bi, turnActivityCopy as Vi, turnActivityStage as Hi } from "./shared/assistant/turnActivity.js";
57
- import { buildAssistantProgress as Ui } from "./shared/assistant/turnProgress.js";
58
- import { AssistantToolActivity as Wi, parseToolActivity as Gi } from "./shared/assistant/ui/AssistantToolActivity.js";
59
- import { countSpokenTurns as Ki, spokenTurnText as qi } from "./shared/assistant/spokenTurns.js";
60
- import { AssistantAvatar as Ji } from "./shared/assistant/ui/AssistantAvatar.js";
61
- import { AssistantSpeechProvider as Yi, useAssistantSpeech as Xi } from "./shared/assistant/ui/AssistantSpeechProvider.js";
62
- import { useVoiceSession as Zi } from "./shared/assistant/ui/useVoiceSession.js";
63
- import { getActorId as Qi, getOrganizationId as $i, getWorkspaceId as ea } from "./shared/assistant/context.js";
64
- import { SANDBOX_READY_TTL_MS as ta, createReadinessTracker as na, isRecentlyVerified as ra } from "./shared/assistant/sandboxReadiness.js";
65
- import { AssistantAutoSpeakToggle as ia } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
66
- import { AssistantMessageAttachments as aa } from "./shared/assistant/ui/AssistantMessageAttachments.js";
67
- import { AssistantPendingWriteCard as oa } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
68
- import { AssistantLanguageMenu as sa } from "./shared/assistant/ui/AssistantLanguageMenu.js";
69
- import { AssistantReplyLanguageSelector as ca } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
70
- import { AssistantSpeakButton as la } from "./shared/assistant/ui/AssistantSpeakButton.js";
71
- import { AssistantSpokenTurnsNotice as ua } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
72
- import { AssistantConnectSourceProvider as da, useAssistantConnectSource as fa } from "./shared/assistant/ui/composer/connectSource.js";
73
- import { AssistantConnectSourceItem as pa } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
74
- import { ASSISTANT_OVERLAY_ATTR as ma, ASSISTANT_PANEL_ATTR as ha, NO_PANEL_OVERLAY as ga, activePanelOverlay as _a, assistantPanelOwnsEscape as va, escapeDismisses as ya, focusIsInsidePanel as ba, nextPanelOverlays as xa, panelOwnsEscape as Sa } from "./shared/assistant/ui/panelOverlays.js";
75
- import { useDropdownEscape as Ca } from "./shared/assistant/ui/useDropdownEscape.js";
76
- import { AssistantAttachmentButton as wa } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
77
- import { AssistantAttachmentChips as Ta } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
78
- import { AssistantPreviewProvider as Ea, useAssistantPreview as Da } from "./shared/assistant/preview/context.js";
79
- import { IDLE_PREVIEW_STATE as Oa, isBlankProse as ka, isRunningStatus as Aa, nextPreviewEvents as ja } from "./shared/assistant/preview/previewTransitions.js";
80
- import { IDLE_PREVIEW as Ma, NO_OWNER as Na, applyPreviewEvent as Pa, createAssistantPreviewSurface as Fa, currentPreviewOwner as Ia, runBelongsTo as La, sameOwner as Ra } from "./shared/assistant/preview/surfaceState.js";
81
- import { createRunIdentityCache as za, runIdentities as Ba } from "./shared/assistant/preview/runIdentity.js";
82
- import { IDLE_ACTIVE_TAB as Va, nextActiveTab as Ha, pinActiveTab as Ua, shouldPinOnMove as Wa, shouldPinOnSelect as Ga, stepsFromToolActivity as Ka, tabForArrowKey as qa } from "./shared/assistant/preview/entity/entityPreviewState.js";
83
- import { AssistantStepRail as Ja } from "./shared/assistant/preview/entity/AssistantStepRail.js";
84
- import { AssistantEntityPreview as Ya } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
85
- import { useOverlayFocus as Xa } from "./shared/assistant/ui/useOverlayFocus.js";
86
- import { REDUCED_MOTION_ATTRIBUTE as Za, REDUCED_MOTION_QUERY as Qa, readReducedMotion as $a, subscribeReducedMotion as eo, usePrefersReducedMotion as to } from "./shared/assistant/ui/usePrefersReducedMotion.js";
87
- import { useAssistantPreviewBridge as no } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
88
- import { AssistantPreviewOverlay as ro } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
89
- import { AssistantLanguageSelector as io, FOLLOW_APP_LOCALE as ao } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
90
- import { ASSISTANT_MODE_META as oo, AssistantModeSelector as so, assistantModeMeta as co, nextModeIndex as lo } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
91
- import { AssistantVoiceButton as uo } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
92
- import { AUTO_VOICE as fo, AssistantVoiceSelector as po } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
93
- import { AssistantVoiceOrb as mo } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
94
- import { AssistantVoiceSessionButton as ho } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
95
- import { CAPTION_SCROLL_ATTR as go, VoiceCaption as _o } from "./shared/assistant/ui/voice/VoiceCaption.js";
96
- import { VoiceConversationView as vo } from "./shared/assistant/ui/voice/VoiceConversationView.js";
97
- import { VoiceWaveform as yo } from "./shared/assistant/ui/voice/VoiceWaveform.js";
98
- import { VoiceStatusLine as bo, VoiceStatusText as xo } from "./shared/assistant/ui/voice/VoiceStatusText.js";
99
- import { VoiceMiniController as So } from "./shared/assistant/ui/voice/VoiceMiniController.js";
100
- import { VoiceStage as Co } from "./shared/assistant/ui/voice/VoiceStage.js";
101
- import { VoiceTranscriptDrawer as wo } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
102
- import { downloadFile as To, exportConversation as Eo } from "./shared/assistant/exportConversation.js";
103
- import { AssistantMoreMenu as Do } from "./shared/assistant/ui/AssistantMoreMenu.js";
104
- import { AssistantHeader as Oo } from "./shared/assistant/ui/AssistantHeader.js";
105
- import { AssistantConversationList as ko } from "./shared/assistant/ui/AssistantConversationList.js";
106
- import { AssistantEmptyState as Ao } from "./shared/assistant/ui/AssistantEmptyState.js";
107
- import { AssistantTurnActivity as jo, TurnActivityLine as Mo } from "./shared/assistant/ui/AssistantTurnActivity.js";
108
- import { AssistantMessageItem as No } from "./shared/assistant/ui/AssistantMessageItem.js";
109
- import { AssistantMessageList as Po } from "./shared/assistant/ui/AssistantMessageList.js";
110
- import { AssistantVoiceSession as Fo } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
111
- import { useAssistantApiAccess as Io } from "./shared/assistant/useAssistantApiAccess.js";
112
- import { useConversationTurns as Lo } from "./shared/assistant/useConversationTurns.js";
113
- import { isMultimodalBodyRejection as Ro, isRecoverableAssistantError as zo } from "./shared/assistant/transportErrors.js";
114
- import { aiCreditsUpdatedEventName as Bo, dispatchAssistantQuotaExhausted as Vo, notifyAiCreditsUpdated as Ho } from "./shared/assistant/aiCredits.js";
115
- import { useWorkspaceWriteAccess as Uo } from "./shared/assistant/useWorkspaceWriteAccess.js";
116
- import { extractDocumentText as Wo } from "./shared/assistant/documentExtract.js";
117
- import { useAssistantAttachments as Go } from "./shared/assistant/useAssistantAttachments.js";
118
- import { AssistantComposer as Ko } from "./shared/assistant/ui/composer/AssistantComposer.js";
119
- import { isProdRuntime as qo } from "./shared/assistant/env.js";
120
- import { useAssistantHeartbeat as Jo } from "./shared/assistant/useAssistantHeartbeat.js";
121
- import { useAssistantKeyboardShortcuts as Yo } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
122
- import { AssistantApiCallsConsentDialog as Xo } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
123
- import { AssistantChatArea as Zo } from "./shared/assistant/ui/AssistantChatArea.js";
124
- import { AIAssistantPanel as Qo } from "./shared/assistant/ui/AIAssistantPanel.js";
125
- import { ASSISTANT_BOTTOM_CHROME_CLEARANCE as $o, ASSISTANT_DIALOG_SELECTOR as es, ASSISTANT_DOCKED_DESKTOP_CLASS as ts, ASSISTANT_DOCK_WIDTH_PX as ns, ASSISTANT_DOCK_WIDTH_VAR as rs, ASSISTANT_FLOATING_DESKTOP_CLASS as is, ASSISTANT_OVERLAY_DEFAULT_TOP_PX as as, ASSISTANT_OVERLAY_DESKTOP_QUERY as os, ASSISTANT_OVERLAY_TOP_VAR as ss, ASSISTANT_SHEET_BASE_CLASS as cs, ASSISTANT_SHEET_COMPACT_CLASS as ls, ASSISTANT_SHEET_EXPANDED_CLASS as us, ASSISTANT_TOGGLE_SHORTCUT_LABEL as ds, aboveAssistantBottomChrome as fs, assistantOverlayClassName as ps, assistantOverlayEscapeAction as ms, assistantOverlayKeys as hs, assistantQuotaKindOf as gs, createAssistantNavigate as _s, isAssistantToggleShortcut as vs, nextAssistantOpenState as ys, publishedAssistantDockWidth as bs, readAssistantOverlayFlag as xs, requestedAssistantOpenState as Ss, writeAssistantOverlayFlag as Cs } from "./shared/assistant/ui/assistantOverlayState.js";
126
- import { AssistantOverlay as ws, AssistantOverlayProvider as Ts, useAssistantDockWidth as Es, useAssistantOverlayOrNull as Ds, useAssistantQuotaExhausted as Os } from "./shared/assistant/ui/AssistantOverlay.js";
127
- export { gi as ADMIN_MODE_ACCESS_WAIT_MS, Qo as AIAssistantPanel, q as ASSISTANT_API_AUTH_STRATEGY, $o as ASSISTANT_BOTTOM_CHROME_CLEARANCE, es as ASSISTANT_DIALOG_SELECTOR, ts as ASSISTANT_DOCKED_DESKTOP_CLASS, ns as ASSISTANT_DOCK_WIDTH_PX, rs as ASSISTANT_DOCK_WIDTH_VAR, is as ASSISTANT_FLOATING_DESKTOP_CLASS, di as ASSISTANT_I18N_COMPUTED_COPY, fi as ASSISTANT_I18N_LITERAL_COPY, pi as ASSISTANT_I18N_MANIFEST, $n as ASSISTANT_LANGUAGES, L as ASSISTANT_MODE_FALLBACK_LABELS, R as ASSISTANT_MODE_IDS, oo as ASSISTANT_MODE_META, ma as ASSISTANT_OVERLAY_ATTR, as as ASSISTANT_OVERLAY_DEFAULT_TOP_PX, os as ASSISTANT_OVERLAY_DESKTOP_QUERY, ss as ASSISTANT_OVERLAY_TOP_VAR, ha as ASSISTANT_PANEL_ATTR, cs as ASSISTANT_SHEET_BASE_CLASS, ls as ASSISTANT_SHEET_COMPACT_CLASS, us as ASSISTANT_SHEET_EXPANDED_CLASS, ds as ASSISTANT_TOGGLE_SHORTCUT_LABEL, kr as ATTACHMENT_ACCEPT, ci as ATTACHMENT_SOURCES, fo as AUTO_VOICE, Xo as AssistantApiCallsConsentDialog, wa as AssistantAttachmentButton, Ta as AssistantAttachmentChips, ia as AssistantAutoSpeakToggle, Ji as AssistantAvatar, Zo as AssistantChatArea, Ko as AssistantComposer, pa as AssistantConnectSourceItem, da as AssistantConnectSourceProvider, ko as AssistantConversationList, Ao as AssistantEmptyState, Ya as AssistantEntityPreview, Oo as AssistantHeader, s as AssistantI18nProvider, sa as AssistantLanguageMenu, io as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, aa as AssistantMessageAttachments, No as AssistantMessageItem, Po as AssistantMessageList, so as AssistantModeSelector, Do as AssistantMoreMenu, g as AssistantNavigateProvider, ws as AssistantOverlay, Ts as AssistantOverlayProvider, oa as AssistantPendingWriteCard, ro as AssistantPreviewOverlay, Ea as AssistantPreviewProvider, t as AssistantProductProvider, ca as AssistantReplyLanguageSelector, ke as AssistantRuntimeManager, la as AssistantSpeakButton, Yi as AssistantSpeechProvider, ua as AssistantSpokenTurnsNotice, Ja as AssistantStepRail, Wi as AssistantToolActivity, jo as AssistantTurnActivity, uo as AssistantVoiceButton, mo as AssistantVoiceOrb, po as AssistantVoiceSelector, Fo as AssistantVoiceSession, ho as AssistantVoiceSessionButton, Ar as AttachmentRejectedError, lr as BOILERPLATE_PAGE_SHARE, He as BUILT_IN_MODE_CAPABILITIES, go as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, Mn as DEFAULT_SPEAKABLE_LABELS, er as DEFAULT_SPEECH_RATE, Je as DEFAULT_STREAM_BUDGET_MS, _n as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, ao as FOLLOW_APP_LOCALE, j as GET_ACTIVE_SANDBOXES, M as GET_SANDBOX, ft as HOSTED_DISABLE_MS, pt as HOSTED_TTS_MAX_CHARS, ct as HOSTED_TTS_TIER, lt as HOSTED_VOICES, Et as HOSTED_VOICE_RANK, Va as IDLE_ACTIVE_TAB, Ci as IDLE_PLAYBACK, Ma as IDLE_PREVIEW, Oa as IDLE_PREVIEW_STATE, fn as IDLE_ROTATION_CLOCK, Ye as INCOMPLETE_TURN_NOTICES, vn as INITIAL_SESSION, jr as INLINE_IMAGE_MAX_DIM, Mr as INLINE_IMAGE_QUALITY, yn as INTERRUPT_MAX_MS, bn as INTERRUPT_MIN_MS, Ue as MAX_ASSISTANT_STREAM_BUDGET_MS, Nr as MAX_ATTACHMENTS, ur as MAX_BOILERPLATE_LINE_CHARS, dr as MAX_EXTRACTED_CHARS, Pr as MAX_FILE_BYTES, Fr as MAX_INLINE_CHARS_PER_FILE, Ir as MAX_INLINE_CHARS_TOTAL, sr as MAX_INLINE_IMAGE_BASE64_BYTES, Lr as MAX_INLINE_IMAGE_BASE64_CHARS, Rr as MAX_INLINE_IMAGE_PARTS, zr as MAX_INLINE_TURN_BODY_BYTES, fr as MAX_PDF_PAGES_SCANNED, cr as MAX_REQUEST_BODY_BYTES, Nn as MAX_SPEAKABLE_CHARS, Pn as MAX_SPOKEN_TABLE_ROWS, Br as MAX_TURN_BODY_BYTES, Wn as MINI_CAPTION_BUDGET, pr as MIN_PAGE_TEXT_CHARS, mr as MIN_TEXT_PAGE_SHARE, Na as NO_OWNER, ga as NO_PANEL_OVERLAY, $t as PHRASE_ROTATE_MS, Kn as POLL_FAST_MS, qn as POLL_FAST_UNTIL_MS, Jn as POLL_SLOW_MS, Yn as POLL_STEADY_MS, Xn as POLL_STEADY_UNTIL_MS, Hn as PREVIEW_LANGUAGES, V as PRODUCT_ASSISTANT_MODE_ID_MAX_LENGTH, H as PRODUCT_ASSISTANT_MODE_ID_PATTERN, Vr as PROMPT_ENVELOPE_RESERVE_BYTES, Hr as PROVIDER_READABLE_FILE_MEDIA_TYPES, N as PROXY_SANDBOX_REQUEST, Za as REDUCED_MOTION_ATTRIBUTE, Qa as REDUCED_MOTION_QUERY, P as REPORT_AI_TOKEN_USAGE, ta as SANDBOX_READY_TTL_MS, xn as SILENCE_SUBMIT_MS, mt as SPEAKING_RATE_MAX, ht as SPEAKING_RATE_MAX_STREAMING, gt as SPEAKING_RATE_MAX_SYNC, _t as SPEAKING_RATE_MIN, Fn as SPEECH_CHUNK_CHARS, In as SPEECH_CHUNK_CJK_CHARS, Dt as SPEECH_LANG, yi as SPOKEN_LABEL_LANGUAGES, en as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, Xe as STREAM_BUDGET_MS, tn as THINKING_PHRASES, Ur as TURN_BODY_HEADROOM_BYTES, Mo as TurnActivityLine, We as UNDECLARED_MODE_CAPABILITIES, Ot as VOICE_LIST_TIMEOUT_MS, sn as VOICE_MUTED_LABEL, cn as VOICE_THINKING_LABEL, _o as VoiceCaption, vo as VoiceConversationView, So as VoiceMiniController, Co as VoiceStage, bo as VoiceStatusLine, xo as VoiceStatusText, wo as VoiceTranscriptDrawer, yo as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, ie as abortAssistantTurn, fs as aboveAssistantBottomChrome, _a as activePanelOverlay, Ge as adminOnlyModeSendRefusal, _i as adminOnlyModeSendRefusalAfterAccess, pn as advanceRotationClock, Bo as aiCreditsUpdatedEventName, Pa as applyPreviewEvent, ae as approvePendingWrite, mi as assistantI18nSeedCopy, z as assistantModeFallbackLabel, hi as assistantModeI18nCopy, co as assistantModeMeta, ps as assistantOverlayClassName, ms as assistantOverlayEscapeAction, hs as assistantOverlayKeys, va as assistantPanelOwnsEscape, gs as assistantQuotaKindOf, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, li as availableAttachmentSources, vt as base64ToBytes, y as browserShouldHandle, st as browserSpeechEngine, Ui as buildAssistantProgress, oe as buildAssistantSandboxEnv, Wr as buildAttachmentPromptBlock, kn as buildContinuedFromVoiceNote, Ae as buildProgress, Gr as buildPromptParts, se as buildPromptRequestBody, Kr as buildPromptWithAttachments, yt as buildRequest, E as buildSandboxContextInput, An as buildVoiceTranscriptMarkdown, U as builtInModeExtendedBy, et as chatTurns, ce as checkAssistantAiCredits, Ln as chunkForSpeech, b as classifyAssistantHref, qr as classifyAttachment, bt as classifyHttpFailure, S as classifyQuotaError, hr as columnLetterToIndex, ln as composeVoiceStatus, Vt as configureSpeechEngine, Rn as containsCjk, d as copyToClipboard, Jr as countInlineImageCandidates, Yr as countInlinedImageParts, Ki as countSpokenTurns, vi as createAdminModeAccessGate, _s as createAssistantNavigate, Fa as createAssistantPreviewSurface, le as createAssistantSandbox, ue as createAssistantSession, Tt as createHostedTtsEngine, na as createReadinessTracker, Bt as createRoutingSpeechEngine, za as createRunIdentityCache, Be as createSandboxAssistantTransport, Ht as createSpeechEngines, Ia as currentPreviewOwner, W as declareAssistantMode, xt as decodeAudioResponse, gr as decodeXmlEntities, C as describeQuotaError, Xr as detectDocumentFormat, xi as detectScriptLocale, ui as deviceHasCamera, St as disableDurationMs, Vo as dispatchAssistantQuotaExhausted, _r as docxXmlToText, de as downloadAssistantArtifact, To as downloadFile, Ri as elapsedSince, ya as escapeDismisses, Zr as estimateTurnBodyBytes, D as executeSandboxGraphQL, Eo as exportConversation, fe as extendAssistantSandboxTTL, Wo as extractDocumentText, tr as findAssistantLanguage, Ke as findAssistantModeConfig, pe as findExistingSandbox, ar as findPendingWrite, vr as fitPdfPages, ba as focusIsInsidePanel, Qr as formatBytes, yr as formatPageRanges, me as forwardsUserTokensToSandbox, Qi as getActorId, he as getAssistantArtifacts, Li as getAssistantDisplayContent, je as getAssistantMedia, ge as getAssistantMessages, _e as getAssistantSession, ve as getAssistantStreamAccess, Me as getAssistantText, $r as getAttachmentSendBlocker, ee as getCapability, ei as getExtension, J as getImageForMode, Y as getImageTagForMode, $i as getOrganizationId, Ne as getRawMessageCreatedAt, X as getResourcesForMode, Z as getSandboxImageRegistry, ti as getSendableAttachments, Ut as getSpeechEngine, Pe as getToolProgress, ea as getWorkspaceId, tt as groupBySession, nt as groupConsecutiveBySession, ni as hasAttachmentWorkInFlight, ut as hostedLocaleFor, dt as hostedSupportsLanguage, p as imageHostLabel, Ze as incompleteTurnNotice, G as isAssistantModeId, vs as isAssistantToggleShortcut, ka as isBlankProse, B as isBuiltInAssistantMode, Sn as isCapturing, Cn as isEcho, kt as isHostedVoice, Ni as isLegacyFiller, Pi as isLegacyStopped, br as isMostlyImagePages, Ro as isMultimodalBodyRejection, qo as isProdRuntime, K as isProductAssistantModeId, ri as isProviderReadableFilePart, w as isQuotaExhaustedError, Fe as isReapedSandboxConnectionError, ra as isRecentlyVerified, Ie as isRecoverable, zo as isRecoverableAssistantError, m as isRemoteImageSrc, Aa as isRunningStatus, wi as isSpeakingMessage, At as isSpeechBlocked, Fi as isStageCopy, wn as isSubmittable, Ai as isTurnInFlight, te as isUnknownFieldError, rt as isVoiceTurn, xr as joinSheets, jt as languageDisplayName, Le as mapSessionToHistory, ne as markSupported, re as markUnsupported, Re as mergeMessagesById, qt as micIsInterrupt, ye as modeRequiresConfirmWrites, zi as msUntilNextPhrase, Ha as nextActiveTab, ys as nextAssistantOpenState, lo as nextModeIndex, xa as nextPanelOverlays, ja as nextPreviewEvents, Mt as normalizeLangTag, Ho as notifyAiCreditsUpdated, Tn as orbMode, Sr as pageMarker, Sa as panelOwnsEscape, or as parseConfirmationRefusal, ii as parseDataUrl, Cr as parseSharedStrings, Gi as parseToolActivity, wr as parseWorkbookSheets, Tr as pdfTextItemsToPage, Ua as pinActiveTab, ji as planAbandonedTurn, En as planReplyConsumption, Mi as planTurnAbort, Zn as pollDelayMs, Nt as primaryLanguageSubtag, bs as publishedAssistantDockWidth, Ti as publishedChunks, T as quotaExhaustedEventName, xs as readAssistantOverlayFlag, $a as readReducedMotion, Wt as readSpeechEngineConfig, be as releaseSupersededAssistantSandboxes, rr as replyFollowsInput, xe as reportAssistantAiTokenUsage, Ss as requestedAssistantOpenState, Ei as requiresCancel, Gt as resetSpeechEngine, Oi as resolveActiveModeSandbox, nr as resolveAssistantLanguage, qe as resolveAssistantModeCapabilities, ir as resolveLanguagePair, n as resolveModeConfig, Q as resolveSandboxAssistantMode, Si as resolveSpeechLocale, mn as rotationElapsedMs, La as runBelongsTo, Ba as runIdentities, Ra as sameOwner, $ as sandboxBaseModeFor, ze as sanitize, Se as selectExistingAssistantSandbox, Ce as selectSupersededAssistantSandboxes, Pt as selectVoiceForLocale, we as sendAssistantPromptAsync, Te as sendHeartbeat, Er as sheetXmlToRows, Ct as shouldDisableEngine, Wa as shouldPinOnMove, Ga as shouldPinOnSelect, Gn as showPreviousChunk, Jt as showsAssistantCaption, Yt as showsUserCaption, zn as speakableEmail, Ft as speechGate, bi as speechLabelsFor, It as speechLangForLocale, Di as speechPlaybackReducer, wt as splitForVendor, Bn as splitTableRow, Dn as spokenSoFar, qi as spokenTurnText, nn as stageText, Bi as startPhraseTicker, hn as startRotationTicker, rn as statusStageCopy, Ka as stepsFromToolActivity, Ee as stopReapedAssistantSandbox, Qe as streamBudgetMs, Ii as stripLegacyFillerPrefix, eo as subscribeReducedMotion, Kt as subscribeSpeechEngine, Dr as summarisePageText, gn as syncRotationClock, qa as tabForArrowKey, an as thinkingPhrase, on as thinkingPhraseEntry, Qn as toCaptionText, ai as toMessageAttachment, Vn as toSpeakableText, oi as truncateForInline, Or as truncatePagesForInline, Vi as turnActivityCopy, Hi as turnActivityStage, Io as useAssistantApiAccess, Go as useAssistantAttachments, fa as useAssistantConnectSource, Es as useAssistantDockWidth, Jo as useAssistantHeartbeat, l as useAssistantI18nNamespace, Yo as useAssistantKeyboardShortcuts, x as useAssistantNavigate, Ds as useAssistantOverlayOrNull, r as useAssistantPageLabel, Da as useAssistantPreview, no as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, Os as useAssistantQuotaExhausted, Xi as useAssistantSpeech, o as useAssistantStorageFolders, ki as useAssistantStore, u as useAssistantTr, Lo as useConversationTurns, Ca as useDropdownEscape, Xa as useOverlayFocus, to as usePrefersReducedMotion, Ve as useSandboxAssistantTransport, e as useVoiceInput, Zi as useVoiceSession, Uo as useWorkspaceWriteAccess, si as validateFile, Lt as voiceAvailability, it as voiceMarker, Un as voicePreviewText, Rt as voiceQualityRank, at as voiceSessionIdOf, On as voiceSessionReducer, Xt as voiceStageState, un as voiceStatusParts, dn as voiceStatusSuffix, jn as voiceTranscriptFilename, ot as voiceTurnsOnly, zt as voicesForLocale, De as waitForAssistantServiceReady, Oe as waitForSandboxRunning, Zt as waveformIsActive, Qt as waveformIsSettled, $e as withIncompleteTurnNotice, Cs as writeAssistantOverlayFlag };
14
+ import { MAX_INLINE_IMAGE_BASE64_BYTES as ie, MAX_REQUEST_BODY_BYTES as ae, REQUEST_TOO_LARGE_REFUSAL as oe } from "./shared/assistant/gatewayLimits.js";
15
+ import { abortAssistantTurn as se, approvePendingWrite as ce, buildAssistantSandboxEnv as le, buildPromptGatewayRequest as ue, buildPromptRequestBody as de, checkAssistantAiCredits as fe, createAssistantSandbox as pe, createAssistantSession as me, downloadAssistantArtifact as he, extendAssistantSandboxTTL as ge, findExistingSandbox as _e, forwardsUserTokensToSandbox as ve, getAssistantArtifacts as ye, getAssistantMessages as be, getAssistantSession as xe, getAssistantStreamAccess as Se, modeRequiresConfirmWrites as Ce, promptGatewayRequestBytes as we, releaseSupersededAssistantSandboxes as Te, reportAssistantAiTokenUsage as Ee, selectExistingAssistantSandbox as De, selectSupersededAssistantSandboxes as Oe, sendAssistantPromptAsync as ke, sendHeartbeat as Ae, stopReapedAssistantSandbox as je, waitForAssistantServiceReady as Me, waitForSandboxRunning as Ne } from "./shared/assistant/api.js";
16
+ import { AssistantRuntimeManager as Pe } from "./shared/assistant/runtime.js";
17
+ import { buildProgress as Fe, getAssistantMedia as Ie, getAssistantText as Le, getRawMessageCreatedAt as Re, getToolProgress as ze, isReapedSandboxConnectionError as Be, isRecoverable as Ve, mapSessionToHistory as He, mergeMessagesById as Ue, sanitize as We } from "./shared/assistant/progress.js";
18
+ import { createSandboxAssistantTransport as Ge } from "./shared/assistant/createSandboxAssistantTransport.js";
19
+ import { useSandboxAssistantTransport as Ke } from "./shared/assistant/useSandboxAssistantTransport.js";
20
+ import { BUILT_IN_MODE_CAPABILITIES as qe, MAX_ASSISTANT_STREAM_BUDGET_MS as Je, UNAVAILABLE_MODE_REFUSAL as Ye, UNDECLARED_MODE_CAPABILITIES as Xe, adminOnlyModeSendRefusal as Ze, findAssistantModeConfig as Qe, resolveAssistantModeCapabilities as $e, unofferedModeSendRefusal as et } from "./shared/assistant/modeCapabilities.js";
21
+ import { DEFAULT_STREAM_BUDGET_MS as tt, INCOMPLETE_TURN_NOTICES as nt, STREAM_BUDGET_MS as rt, incompleteTurnNotice as it, streamBudgetMs as at, withIncompleteTurnNotice as ot } from "./shared/assistant/streamBudget.js";
22
+ import { chatTurns as st, groupBySession as ct, groupConsecutiveBySession as lt, isVoiceTurn as ut, voiceMarker as dt, voiceSessionIdOf as ft, voiceTurnsOnly as pt } from "./shared/assistant/voice/turnVisibility.js";
23
+ import { browserSpeechEngine as mt } from "./shared/assistant/speech/browserSpeechEngine.js";
24
+ import { HOSTED_TTS_TIER as ht, HOSTED_VOICES as gt, hostedLocaleFor as _t, hostedSupportsLanguage as vt } from "./shared/assistant/speech/hostedVoiceCatalogue.js";
25
+ import { HOSTED_DISABLE_MS as yt, HOSTED_TTS_MAX_CHARS as bt, SPEAKING_RATE_MAX as xt, SPEAKING_RATE_MAX_STREAMING as St, SPEAKING_RATE_MAX_SYNC as Ct, SPEAKING_RATE_MIN as wt, base64ToBytes as Tt, buildRequest as Et, classifyHttpFailure as Dt, decodeAudioResponse as Ot, disableDurationMs as kt, shouldDisableEngine as At, splitForVendor as jt } from "./shared/assistant/speech/hostedTtsProtocol.js";
26
+ import { createHostedTtsEngine as Mt } from "./shared/assistant/speech/hostedTtsSpeechEngine.js";
27
+ import { HOSTED_VOICE_RANK as Nt, SPEECH_LANG as Pt, VOICE_LIST_TIMEOUT_MS as Ft, isHostedVoice as It, isSpeechBlocked as Lt, languageDisplayName as Rt, normalizeLangTag as zt, primaryLanguageSubtag as Bt, selectVoiceForLocale as Vt, speechGate as Ht, speechLangForLocale as Ut, voiceAvailability as Wt, voiceQualityRank as Gt, voicesForLocale as Kt } from "./shared/assistant/voice/speechVoices.js";
28
+ import { createRoutingSpeechEngine as qt } from "./shared/assistant/speech/routingSpeechEngine.js";
29
+ import { configureSpeechEngine as Jt, createSpeechEngines as Yt, getSpeechEngine as Xt, readSpeechEngineConfig as Zt, resetSpeechEngine as Qt, subscribeSpeechEngine as $t } from "./shared/assistant/speech/createSpeechEngine.js";
30
+ import { micIsInterrupt as en, showsAssistantCaption as tn, showsUserCaption as nn, voiceStageState as rn, waveformIsActive as an, waveformIsSettled as on } from "./shared/assistant/voice/voiceStageState.js";
31
+ import { PHRASE_ROTATE_MS as sn, STAGE_COPY as cn, THINKING_PHRASES as ln, stageText as un, statusStageCopy as dn, thinkingPhrase as fn, thinkingPhraseEntry as pn } from "./shared/assistant/stageCopy.js";
32
+ import { VOICE_MUTED_LABEL as mn, VOICE_THINKING_LABEL as hn, composeVoiceStatus as gn, voiceStatusParts as _n, voiceStatusSuffix as vn } from "./shared/assistant/voice/voiceStatus.js";
33
+ import { IDLE_ROTATION_CLOCK as yn, advanceRotationClock as bn, rotationElapsedMs as xn, startRotationTicker as Sn, syncRotationClock as Cn } from "./shared/assistant/voice/rotationClock.js";
34
+ import { ENDPOINT_GRACE_MS as wn, INITIAL_SESSION as Tn, INTERRUPT_MAX_MS as En, INTERRUPT_MIN_MS as Dn, SILENCE_SUBMIT_MS as On, isCapturing as kn, isEcho as An, isSubmittable as jn, orbMode as Mn, planReplyConsumption as Nn, spokenSoFar as Pn, voiceSessionReducer as Fn } from "./shared/assistant/voice/voiceSession.js";
35
+ import { buildContinuedFromVoiceNote as In, buildVoiceTranscriptMarkdown as Ln, voiceTranscriptFilename as Rn } from "./shared/assistant/voice/voiceTranscript.js";
36
+ import { DEFAULT_SPEAKABLE_LABELS as zn, MAX_SPEAKABLE_CHARS as Bn, MAX_SPOKEN_TABLE_ROWS as Vn, SPEECH_CHUNK_CHARS as Hn, SPEECH_CHUNK_CJK_CHARS as Un, chunkForSpeech as Wn, containsCjk as Gn, speakableEmail as Kn, splitTableRow as qn, toSpeakableText as Jn } from "./shared/assistant/voice/speakableText.js";
37
+ import { PREVIEW_LANGUAGES as Yn, voicePreviewText as Xn } from "./shared/assistant/voice/voicePreview.js";
38
+ import { MINI_CAPTION_BUDGET as Zn, showPreviousChunk as Qn } from "./shared/assistant/voice/miniCaptionBudget.js";
39
+ import { POLL_FAST_MS as $n, POLL_FAST_UNTIL_MS as er, POLL_SLOW_MS as tr, POLL_STEADY_MS as nr, POLL_STEADY_UNTIL_MS as rr, pollDelayMs as ir } from "./shared/assistant/voice/assistantPollSchedule.js";
40
+ import { toCaptionText as ar } from "./shared/assistant/voice/captionText.js";
41
+ import { ASSISTANT_LANGUAGES as or, DEFAULT_SPEECH_RATE as sr, findAssistantLanguage as cr, resolveAssistantLanguage as lr } from "./shared/assistant/voice/languages.js";
42
+ import { replyFollowsInput as ur, resolveLanguagePair as dr } from "./shared/assistant/voice/languagePair.js";
43
+ import { findPendingWrite as fr, parseConfirmationRefusal as pr } from "./shared/assistant/pendingWrite.js";
44
+ import { BOILERPLATE_PAGE_SHARE as mr, MAX_BOILERPLATE_LINE_CHARS as hr, MAX_EXTRACTED_CHARS as gr, MAX_PDF_PAGES_SCANNED as _r, MIN_PAGE_TEXT_CHARS as vr, MIN_TEXT_PAGE_SHARE as yr, columnLetterToIndex as br, decodeXmlEntities as xr, docxXmlToText as Sr, fitPdfPages as Cr, formatPageRanges as wr, isMostlyImagePages as Tr, joinSheets as Er, pageMarker as Dr, parseSharedStrings as Or, parseWorkbookSheets as kr, pdfTextItemsToPage as Ar, sheetXmlToRows as jr, summarisePageText as Mr, truncatePagesForInline as Nr } from "./shared/assistant/documentText.js";
45
+ import { ATTACHMENT_ACCEPT as Pr, AttachmentRejectedError as Fr, DEFAULT_INLINE_LIMITS as Ir, INLINE_IMAGE_MAX_DIM as Lr, INLINE_IMAGE_QUALITY as Rr, MAX_ATTACHMENTS as zr, MAX_CONFIGURABLE_INLINE_CHARS as Br, MAX_FILE_BYTES as Vr, MAX_INLINE_CHARS_PER_FILE as Hr, MAX_INLINE_CHARS_TOTAL as Ur, MAX_INLINE_IMAGE_BASE64_CHARS as Wr, MAX_INLINE_IMAGE_PARTS as Gr, MAX_INLINE_TURN_BODY_BYTES as Kr, MAX_TURN_BODY_BYTES as qr, PROMPT_ENVELOPE_RESERVE_BYTES as Jr, PROVIDER_READABLE_FILE_MEDIA_TYPES as Yr, TURN_BODY_HEADROOM_BYTES as Xr, buildAttachmentPromptBlock as Zr, buildPromptParts as Qr, buildPromptWithAttachments as $r, classifyAttachment as ei, countInlineImageCandidates as ti, countInlinedImageParts as ni, detectDocumentFormat as ri, estimateTurnBodyBytes as ii, formatBytes as ai, getAttachmentSendBlocker as oi, getExtension as si, getSendableAttachments as ci, hasAttachmentWorkInFlight as li, isProviderReadableFilePart as ui, largestInlineCharsPerFile as di, parseDataUrl as fi, resolveAssistantInlineLimits as pi, toMessageAttachment as mi, truncateForInline as hi, validateFile as gi } from "./shared/assistant/attachments.js";
46
+ import { ATTACHMENT_SOURCES as _i, availableAttachmentSources as vi, deviceHasCamera as yi } from "./shared/assistant/attachmentSources.js";
47
+ import { ASSISTANT_I18N_COMPUTED_COPY as bi, ASSISTANT_I18N_LITERAL_COPY as xi, ASSISTANT_I18N_MANIFEST as Si, assistantI18nSeedCopy as Ci, assistantModeI18nCopy as wi } from "./shared/assistant/i18nManifest.js";
48
+ import { ADMIN_MODE_ACCESS_WAIT_MS as Ti, adminOnlyModeSendRefusalAfterAccess as Ei, createAdminModeAccessGate as Di, resolveAssistantSendModeAfterAccess as Oi, unofferedModeSendRefusalAfterAccess as ki } from "./shared/assistant/adminModeSendGate.js";
49
+ import { buildBoundedAttachmentTurn as Ai } from "./shared/assistant/attachmentTurn.js";
50
+ import { LEGACY_WRITE_CONSENT_KEY as ji, TAKE_ACTION_ENGLISH as Mi, isWriteModeAcknowledged as Ni, restoreAcknowledgedWriteModes as Pi, withWriteModeAcknowledged as Fi, writeModeConsentCopy as Ii, writeModeSendRefusal as Li } from "./shared/assistant/writeModeConsent.js";
51
+ import { SPOKEN_LABEL_LANGUAGES as Ri, speechLabelsFor as zi } from "./shared/assistant/voice/speechLabels.js";
52
+ import { detectScriptLocale as Bi, resolveSpeechLocale as Vi } from "./shared/assistant/voice/replyLanguage.js";
53
+ import { IDLE_PLAYBACK as Hi, isSpeakingMessage as Ui, publishedChunks as Wi, requiresCancel as Gi, speechPlaybackReducer as Ki } from "./shared/assistant/voice/speechPlayback.js";
54
+ import { mergePersistedAssistantState as qi, resolveActiveModeSandbox as Ji, useAssistantStore as Yi } from "./shared/assistant/store.js";
55
+ import { isTurnInFlight as Xi, planAbandonedTurn as Zi, planTurnAbort as Qi } from "./shared/assistant/turnState.js";
56
+ import { isLegacyFiller as $i, isLegacyStopped as ea, isStageCopy as ta, stripLegacyFillerPrefix as na } from "./shared/assistant/legacyFiller.js";
57
+ import { getAssistantDisplayContent as ra } from "./shared/assistant/displayContent.js";
58
+ import { elapsedSince as ia, msUntilNextPhrase as aa, startPhraseTicker as oa, turnActivityCopy as sa, turnActivityStage as ca } from "./shared/assistant/turnActivity.js";
59
+ import { buildAssistantProgress as la } from "./shared/assistant/turnProgress.js";
60
+ import { AssistantToolActivity as ua, parseToolActivity as da } from "./shared/assistant/ui/AssistantToolActivity.js";
61
+ import { countSpokenTurns as fa, spokenTurnText as pa } from "./shared/assistant/spokenTurns.js";
62
+ import { AssistantAvatar as ma } from "./shared/assistant/ui/AssistantAvatar.js";
63
+ import { AssistantSpeechProvider as ha, useAssistantSpeech as ga } from "./shared/assistant/ui/AssistantSpeechProvider.js";
64
+ import { useVoiceSession as _a } from "./shared/assistant/ui/useVoiceSession.js";
65
+ import { getActorId as va, getOrganizationId as ya, getWorkspaceId as ba } from "./shared/assistant/context.js";
66
+ import { SANDBOX_READY_TTL_MS as xa, createReadinessTracker as Sa, isRecentlyVerified as Ca } from "./shared/assistant/sandboxReadiness.js";
67
+ import { AssistantAutoSpeakToggle as wa } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
68
+ import { AssistantMessageAttachments as Ta } from "./shared/assistant/ui/AssistantMessageAttachments.js";
69
+ import { AssistantPendingWriteCard as Ea } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
70
+ import { AssistantLanguageMenu as Da } from "./shared/assistant/ui/AssistantLanguageMenu.js";
71
+ import { AssistantReplyLanguageSelector as Oa } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
72
+ import { AssistantSpeakButton as ka } from "./shared/assistant/ui/AssistantSpeakButton.js";
73
+ import { AssistantSpokenTurnsNotice as Aa } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
74
+ import { AssistantConnectSourceProvider as ja, useAssistantConnectSource as Ma } from "./shared/assistant/ui/composer/connectSource.js";
75
+ import { AssistantConnectSourceItem as Na } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
76
+ import { ASSISTANT_OVERLAY_ATTR as Pa, ASSISTANT_PANEL_ATTR as Fa, NO_PANEL_OVERLAY as Ia, activePanelOverlay as La, assistantPanelOwnsEscape as Ra, escapeDismisses as za, focusIsInsidePanel as Ba, nextPanelOverlays as Va, panelOwnsEscape as Ha } from "./shared/assistant/ui/panelOverlays.js";
77
+ import { useDropdownEscape as Ua } from "./shared/assistant/ui/useDropdownEscape.js";
78
+ import { AssistantAttachmentButton as Wa } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
79
+ import { AssistantAttachmentChips as Ga } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
80
+ import { AssistantPreviewProvider as Ka, useAssistantPreview as qa } from "./shared/assistant/preview/context.js";
81
+ import { IDLE_PREVIEW_STATE as Ja, isBlankProse as Ya, isRunningStatus as Xa, nextPreviewEvents as Za } from "./shared/assistant/preview/previewTransitions.js";
82
+ import { IDLE_PREVIEW as Qa, NO_OWNER as $a, applyPreviewEvent as eo, createAssistantPreviewSurface as to, currentPreviewOwner as no, runBelongsTo as ro, sameOwner as io } from "./shared/assistant/preview/surfaceState.js";
83
+ import { createRunIdentityCache as ao, runIdentities as oo } from "./shared/assistant/preview/runIdentity.js";
84
+ import { IDLE_ACTIVE_TAB as so, nextActiveTab as co, pinActiveTab as lo, shouldPinOnMove as uo, shouldPinOnSelect as fo, stepsFromToolActivity as po, tabForArrowKey as mo } from "./shared/assistant/preview/entity/entityPreviewState.js";
85
+ import { AssistantStepRail as ho } from "./shared/assistant/preview/entity/AssistantStepRail.js";
86
+ import { AssistantEntityPreview as go } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
87
+ import { useOverlayFocus as _o } from "./shared/assistant/ui/useOverlayFocus.js";
88
+ import { REDUCED_MOTION_ATTRIBUTE as vo, REDUCED_MOTION_QUERY as yo, readReducedMotion as bo, subscribeReducedMotion as xo, usePrefersReducedMotion as So } from "./shared/assistant/ui/usePrefersReducedMotion.js";
89
+ import { useAssistantPreviewBridge as Co } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
90
+ import { AssistantPreviewOverlay as wo } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
91
+ import { AssistantLanguageSelector as To, FOLLOW_APP_LOCALE as Eo } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
92
+ import { ASSISTANT_MODE_META as Do, AssistantModeSelector as Oo, assistantModeMeta as ko, nextModeIndex as Ao } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
93
+ import { AssistantVoiceButton as jo } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
94
+ import { AUTO_VOICE as Mo, AssistantVoiceSelector as No } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
95
+ import { AssistantVoiceOrb as Po } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
96
+ import { AssistantVoiceSessionButton as Fo } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
97
+ import { CAPTION_SCROLL_ATTR as Io, VoiceCaption as Lo } from "./shared/assistant/ui/voice/VoiceCaption.js";
98
+ import { VoiceConversationView as Ro } from "./shared/assistant/ui/voice/VoiceConversationView.js";
99
+ import { VoiceWaveform as zo } from "./shared/assistant/ui/voice/VoiceWaveform.js";
100
+ import { VoiceStatusLine as Bo, VoiceStatusText as Vo } from "./shared/assistant/ui/voice/VoiceStatusText.js";
101
+ import { VoiceMiniController as Ho } from "./shared/assistant/ui/voice/VoiceMiniController.js";
102
+ import { VoiceStage as Uo } from "./shared/assistant/ui/voice/VoiceStage.js";
103
+ import { VoiceTranscriptDrawer as Wo } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
104
+ import { downloadFile as Go, exportConversation as Ko } from "./shared/assistant/exportConversation.js";
105
+ import { AssistantMoreMenu as qo } from "./shared/assistant/ui/AssistantMoreMenu.js";
106
+ import { AssistantHeader as Jo } from "./shared/assistant/ui/AssistantHeader.js";
107
+ import { AssistantConversationList as Yo } from "./shared/assistant/ui/AssistantConversationList.js";
108
+ import { AssistantEmptyState as Xo } from "./shared/assistant/ui/AssistantEmptyState.js";
109
+ import { AssistantTurnActivity as Zo, TurnActivityLine as Qo } from "./shared/assistant/ui/AssistantTurnActivity.js";
110
+ import { AssistantMessageItem as $o } from "./shared/assistant/ui/AssistantMessageItem.js";
111
+ import { AssistantMessageList as es } from "./shared/assistant/ui/AssistantMessageList.js";
112
+ import { AssistantVoiceSession as ts } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
113
+ import { useAssistantApiAccess as ns } from "./shared/assistant/useAssistantApiAccess.js";
114
+ import { useConversationTurns as rs } from "./shared/assistant/useConversationTurns.js";
115
+ import { isMultimodalBodyRejection as is, isRecoverableAssistantError as as } from "./shared/assistant/transportErrors.js";
116
+ import { aiCreditsUpdatedEventName as os, dispatchAssistantQuotaExhausted as ss, notifyAiCreditsUpdated as cs } from "./shared/assistant/aiCredits.js";
117
+ import { useWorkspaceWriteAccess as ls } from "./shared/assistant/useWorkspaceWriteAccess.js";
118
+ import { extractDocumentText as us } from "./shared/assistant/documentExtract.js";
119
+ import { useAssistantAttachments as ds } from "./shared/assistant/useAssistantAttachments.js";
120
+ import { AssistantComposer as fs } from "./shared/assistant/ui/composer/AssistantComposer.js";
121
+ import { isProdRuntime as ps } from "./shared/assistant/env.js";
122
+ import { useAssistantHeartbeat as ms } from "./shared/assistant/useAssistantHeartbeat.js";
123
+ import { useAssistantKeyboardShortcuts as hs } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
124
+ import { AssistantApiCallsConsentDialog as gs } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
125
+ import { AssistantChatArea as _s } from "./shared/assistant/ui/AssistantChatArea.js";
126
+ import { AIAssistantPanel as vs } from "./shared/assistant/ui/AIAssistantPanel.js";
127
+ import { ASSISTANT_BOTTOM_CHROME_CLEARANCE as ys, ASSISTANT_DIALOG_SELECTOR as bs, ASSISTANT_DOCKED_DESKTOP_CLASS as xs, ASSISTANT_DOCK_WIDTH_PX as Ss, ASSISTANT_DOCK_WIDTH_VAR as Cs, ASSISTANT_FLOATING_DESKTOP_CLASS as ws, ASSISTANT_OVERLAY_DEFAULT_TOP_PX as Ts, ASSISTANT_OVERLAY_DESKTOP_QUERY as Es, ASSISTANT_OVERLAY_TOP_VAR as Ds, ASSISTANT_SHEET_BASE_CLASS as Os, ASSISTANT_SHEET_COMPACT_CLASS as ks, ASSISTANT_SHEET_EXPANDED_CLASS as As, ASSISTANT_TOGGLE_SHORTCUT_LABEL as js, aboveAssistantBottomChrome as Ms, assistantOverlayClassName as Ns, assistantOverlayEscapeAction as Ps, assistantOverlayKeys as Fs, assistantQuotaKindOf as Is, createAssistantNavigate as Ls, isAssistantToggleShortcut as Rs, nextAssistantOpenState as zs, publishedAssistantDockWidth as Bs, readAssistantOverlayFlag as Vs, requestedAssistantOpenState as Hs, writeAssistantOverlayFlag as Us } from "./shared/assistant/ui/assistantOverlayState.js";
128
+ import { AssistantOverlay as Ws, AssistantOverlayProvider as Gs, useAssistantDockWidth as Ks, useAssistantOverlayOrNull as qs, useAssistantQuotaExhausted as Js } from "./shared/assistant/ui/AssistantOverlay.js";
129
+ export { Ti as ADMIN_MODE_ACCESS_WAIT_MS, vs as AIAssistantPanel, q as ASSISTANT_API_AUTH_STRATEGY, ys as ASSISTANT_BOTTOM_CHROME_CLEARANCE, bs as ASSISTANT_DIALOG_SELECTOR, xs as ASSISTANT_DOCKED_DESKTOP_CLASS, Ss as ASSISTANT_DOCK_WIDTH_PX, Cs as ASSISTANT_DOCK_WIDTH_VAR, ws as ASSISTANT_FLOATING_DESKTOP_CLASS, bi as ASSISTANT_I18N_COMPUTED_COPY, xi as ASSISTANT_I18N_LITERAL_COPY, Si as ASSISTANT_I18N_MANIFEST, or as ASSISTANT_LANGUAGES, L as ASSISTANT_MODE_FALLBACK_LABELS, R as ASSISTANT_MODE_IDS, Do as ASSISTANT_MODE_META, Pa as ASSISTANT_OVERLAY_ATTR, Ts as ASSISTANT_OVERLAY_DEFAULT_TOP_PX, Es as ASSISTANT_OVERLAY_DESKTOP_QUERY, Ds as ASSISTANT_OVERLAY_TOP_VAR, Fa as ASSISTANT_PANEL_ATTR, Os as ASSISTANT_SHEET_BASE_CLASS, ks as ASSISTANT_SHEET_COMPACT_CLASS, As as ASSISTANT_SHEET_EXPANDED_CLASS, js as ASSISTANT_TOGGLE_SHORTCUT_LABEL, Pr as ATTACHMENT_ACCEPT, _i as ATTACHMENT_SOURCES, Mo as AUTO_VOICE, gs as AssistantApiCallsConsentDialog, Wa as AssistantAttachmentButton, Ga as AssistantAttachmentChips, wa as AssistantAutoSpeakToggle, ma as AssistantAvatar, _s as AssistantChatArea, fs as AssistantComposer, Na as AssistantConnectSourceItem, ja as AssistantConnectSourceProvider, Yo as AssistantConversationList, Xo as AssistantEmptyState, go as AssistantEntityPreview, Jo as AssistantHeader, s as AssistantI18nProvider, Da as AssistantLanguageMenu, To as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, Ta as AssistantMessageAttachments, $o as AssistantMessageItem, es as AssistantMessageList, Oo as AssistantModeSelector, qo as AssistantMoreMenu, g as AssistantNavigateProvider, Ws as AssistantOverlay, Gs as AssistantOverlayProvider, Ea as AssistantPendingWriteCard, wo as AssistantPreviewOverlay, Ka as AssistantPreviewProvider, t as AssistantProductProvider, Oa as AssistantReplyLanguageSelector, Pe as AssistantRuntimeManager, ka as AssistantSpeakButton, ha as AssistantSpeechProvider, Aa as AssistantSpokenTurnsNotice, ho as AssistantStepRail, ua as AssistantToolActivity, Zo as AssistantTurnActivity, jo as AssistantVoiceButton, Po as AssistantVoiceOrb, No as AssistantVoiceSelector, ts as AssistantVoiceSession, Fo as AssistantVoiceSessionButton, Fr as AttachmentRejectedError, mr as BOILERPLATE_PAGE_SHARE, qe as BUILT_IN_MODE_CAPABILITIES, Io as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, Ir as DEFAULT_INLINE_LIMITS, zn as DEFAULT_SPEAKABLE_LABELS, sr as DEFAULT_SPEECH_RATE, tt as DEFAULT_STREAM_BUDGET_MS, wn as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, Eo as FOLLOW_APP_LOCALE, j as GET_ACTIVE_SANDBOXES, M as GET_SANDBOX, yt as HOSTED_DISABLE_MS, bt as HOSTED_TTS_MAX_CHARS, ht as HOSTED_TTS_TIER, gt as HOSTED_VOICES, Nt as HOSTED_VOICE_RANK, so as IDLE_ACTIVE_TAB, Hi as IDLE_PLAYBACK, Qa as IDLE_PREVIEW, Ja as IDLE_PREVIEW_STATE, yn as IDLE_ROTATION_CLOCK, nt as INCOMPLETE_TURN_NOTICES, Tn as INITIAL_SESSION, Lr as INLINE_IMAGE_MAX_DIM, Rr as INLINE_IMAGE_QUALITY, En as INTERRUPT_MAX_MS, Dn as INTERRUPT_MIN_MS, ji as LEGACY_WRITE_CONSENT_KEY, Je as MAX_ASSISTANT_STREAM_BUDGET_MS, zr as MAX_ATTACHMENTS, hr as MAX_BOILERPLATE_LINE_CHARS, Br as MAX_CONFIGURABLE_INLINE_CHARS, gr as MAX_EXTRACTED_CHARS, Vr as MAX_FILE_BYTES, Hr as MAX_INLINE_CHARS_PER_FILE, Ur as MAX_INLINE_CHARS_TOTAL, ie as MAX_INLINE_IMAGE_BASE64_BYTES, Wr as MAX_INLINE_IMAGE_BASE64_CHARS, Gr as MAX_INLINE_IMAGE_PARTS, Kr as MAX_INLINE_TURN_BODY_BYTES, _r as MAX_PDF_PAGES_SCANNED, ae as MAX_REQUEST_BODY_BYTES, Bn as MAX_SPEAKABLE_CHARS, Vn as MAX_SPOKEN_TABLE_ROWS, qr as MAX_TURN_BODY_BYTES, Zn as MINI_CAPTION_BUDGET, vr as MIN_PAGE_TEXT_CHARS, yr as MIN_TEXT_PAGE_SHARE, $a as NO_OWNER, Ia as NO_PANEL_OVERLAY, sn as PHRASE_ROTATE_MS, $n as POLL_FAST_MS, er as POLL_FAST_UNTIL_MS, tr as POLL_SLOW_MS, nr as POLL_STEADY_MS, rr as POLL_STEADY_UNTIL_MS, Yn as PREVIEW_LANGUAGES, V as PRODUCT_ASSISTANT_MODE_ID_MAX_LENGTH, H as PRODUCT_ASSISTANT_MODE_ID_PATTERN, Jr as PROMPT_ENVELOPE_RESERVE_BYTES, Yr as PROVIDER_READABLE_FILE_MEDIA_TYPES, N as PROXY_SANDBOX_REQUEST, vo as REDUCED_MOTION_ATTRIBUTE, yo as REDUCED_MOTION_QUERY, P as REPORT_AI_TOKEN_USAGE, oe as REQUEST_TOO_LARGE_REFUSAL, xa as SANDBOX_READY_TTL_MS, On as SILENCE_SUBMIT_MS, xt as SPEAKING_RATE_MAX, St as SPEAKING_RATE_MAX_STREAMING, Ct as SPEAKING_RATE_MAX_SYNC, wt as SPEAKING_RATE_MIN, Hn as SPEECH_CHUNK_CHARS, Un as SPEECH_CHUNK_CJK_CHARS, Pt as SPEECH_LANG, Ri as SPOKEN_LABEL_LANGUAGES, cn as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, rt as STREAM_BUDGET_MS, Mi as TAKE_ACTION_ENGLISH, ln as THINKING_PHRASES, Xr as TURN_BODY_HEADROOM_BYTES, Qo as TurnActivityLine, Ye as UNAVAILABLE_MODE_REFUSAL, Xe as UNDECLARED_MODE_CAPABILITIES, Ft as VOICE_LIST_TIMEOUT_MS, mn as VOICE_MUTED_LABEL, hn as VOICE_THINKING_LABEL, Lo as VoiceCaption, Ro as VoiceConversationView, Ho as VoiceMiniController, Uo as VoiceStage, Bo as VoiceStatusLine, Vo as VoiceStatusText, Wo as VoiceTranscriptDrawer, zo as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, se as abortAssistantTurn, Ms as aboveAssistantBottomChrome, La as activePanelOverlay, Ze as adminOnlyModeSendRefusal, Ei as adminOnlyModeSendRefusalAfterAccess, bn as advanceRotationClock, os as aiCreditsUpdatedEventName, eo as applyPreviewEvent, ce as approvePendingWrite, Ci as assistantI18nSeedCopy, z as assistantModeFallbackLabel, wi as assistantModeI18nCopy, ko as assistantModeMeta, Ns as assistantOverlayClassName, Ps as assistantOverlayEscapeAction, Fs as assistantOverlayKeys, Ra as assistantPanelOwnsEscape, Is as assistantQuotaKindOf, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, vi as availableAttachmentSources, Tt as base64ToBytes, y as browserShouldHandle, mt as browserSpeechEngine, la as buildAssistantProgress, le as buildAssistantSandboxEnv, Zr as buildAttachmentPromptBlock, Ai as buildBoundedAttachmentTurn, In as buildContinuedFromVoiceNote, Fe as buildProgress, ue as buildPromptGatewayRequest, Qr as buildPromptParts, de as buildPromptRequestBody, $r as buildPromptWithAttachments, Et as buildRequest, E as buildSandboxContextInput, Ln as buildVoiceTranscriptMarkdown, U as builtInModeExtendedBy, st as chatTurns, fe as checkAssistantAiCredits, Wn as chunkForSpeech, b as classifyAssistantHref, ei as classifyAttachment, Dt as classifyHttpFailure, S as classifyQuotaError, br as columnLetterToIndex, gn as composeVoiceStatus, Jt as configureSpeechEngine, Gn as containsCjk, d as copyToClipboard, ti as countInlineImageCandidates, ni as countInlinedImageParts, fa as countSpokenTurns, Di as createAdminModeAccessGate, Ls as createAssistantNavigate, to as createAssistantPreviewSurface, pe as createAssistantSandbox, me as createAssistantSession, Mt as createHostedTtsEngine, Sa as createReadinessTracker, qt as createRoutingSpeechEngine, ao as createRunIdentityCache, Ge as createSandboxAssistantTransport, Yt as createSpeechEngines, no as currentPreviewOwner, W as declareAssistantMode, Ot as decodeAudioResponse, xr as decodeXmlEntities, C as describeQuotaError, ri as detectDocumentFormat, Bi as detectScriptLocale, yi as deviceHasCamera, kt as disableDurationMs, ss as dispatchAssistantQuotaExhausted, Sr as docxXmlToText, he as downloadAssistantArtifact, Go as downloadFile, ia as elapsedSince, za as escapeDismisses, ii as estimateTurnBodyBytes, D as executeSandboxGraphQL, Ko as exportConversation, ge as extendAssistantSandboxTTL, us as extractDocumentText, cr as findAssistantLanguage, Qe as findAssistantModeConfig, _e as findExistingSandbox, fr as findPendingWrite, Cr as fitPdfPages, Ba as focusIsInsidePanel, ai as formatBytes, wr as formatPageRanges, ve as forwardsUserTokensToSandbox, va as getActorId, ye as getAssistantArtifacts, ra as getAssistantDisplayContent, Ie as getAssistantMedia, be as getAssistantMessages, xe as getAssistantSession, Se as getAssistantStreamAccess, Le as getAssistantText, oi as getAttachmentSendBlocker, ee as getCapability, si as getExtension, J as getImageForMode, Y as getImageTagForMode, ya as getOrganizationId, Re as getRawMessageCreatedAt, X as getResourcesForMode, Z as getSandboxImageRegistry, ci as getSendableAttachments, Xt as getSpeechEngine, ze as getToolProgress, ba as getWorkspaceId, ct as groupBySession, lt as groupConsecutiveBySession, li as hasAttachmentWorkInFlight, _t as hostedLocaleFor, vt as hostedSupportsLanguage, p as imageHostLabel, it as incompleteTurnNotice, G as isAssistantModeId, Rs as isAssistantToggleShortcut, Ya as isBlankProse, B as isBuiltInAssistantMode, kn as isCapturing, An as isEcho, It as isHostedVoice, $i as isLegacyFiller, ea as isLegacyStopped, Tr as isMostlyImagePages, is as isMultimodalBodyRejection, ps as isProdRuntime, K as isProductAssistantModeId, ui as isProviderReadableFilePart, w as isQuotaExhaustedError, Be as isReapedSandboxConnectionError, Ca as isRecentlyVerified, Ve as isRecoverable, as as isRecoverableAssistantError, m as isRemoteImageSrc, Xa as isRunningStatus, Ui as isSpeakingMessage, Lt as isSpeechBlocked, ta as isStageCopy, jn as isSubmittable, Xi as isTurnInFlight, te as isUnknownFieldError, ut as isVoiceTurn, Ni as isWriteModeAcknowledged, Er as joinSheets, Rt as languageDisplayName, di as largestInlineCharsPerFile, He as mapSessionToHistory, ne as markSupported, re as markUnsupported, Ue as mergeMessagesById, qi as mergePersistedAssistantState, en as micIsInterrupt, Ce as modeRequiresConfirmWrites, aa as msUntilNextPhrase, co as nextActiveTab, zs as nextAssistantOpenState, Ao as nextModeIndex, Va as nextPanelOverlays, Za as nextPreviewEvents, zt as normalizeLangTag, cs as notifyAiCreditsUpdated, Mn as orbMode, Dr as pageMarker, Ha as panelOwnsEscape, pr as parseConfirmationRefusal, fi as parseDataUrl, Or as parseSharedStrings, da as parseToolActivity, kr as parseWorkbookSheets, Ar as pdfTextItemsToPage, lo as pinActiveTab, Zi as planAbandonedTurn, Nn as planReplyConsumption, Qi as planTurnAbort, ir as pollDelayMs, Bt as primaryLanguageSubtag, we as promptGatewayRequestBytes, Bs as publishedAssistantDockWidth, Wi as publishedChunks, T as quotaExhaustedEventName, Vs as readAssistantOverlayFlag, bo as readReducedMotion, Zt as readSpeechEngineConfig, Te as releaseSupersededAssistantSandboxes, ur as replyFollowsInput, Ee as reportAssistantAiTokenUsage, Hs as requestedAssistantOpenState, Gi as requiresCancel, Qt as resetSpeechEngine, Ji as resolveActiveModeSandbox, pi as resolveAssistantInlineLimits, lr as resolveAssistantLanguage, $e as resolveAssistantModeCapabilities, Oi as resolveAssistantSendModeAfterAccess, dr as resolveLanguagePair, n as resolveModeConfig, Q as resolveSandboxAssistantMode, Vi as resolveSpeechLocale, Pi as restoreAcknowledgedWriteModes, xn as rotationElapsedMs, ro as runBelongsTo, oo as runIdentities, io as sameOwner, $ as sandboxBaseModeFor, We as sanitize, De as selectExistingAssistantSandbox, Oe as selectSupersededAssistantSandboxes, Vt as selectVoiceForLocale, ke as sendAssistantPromptAsync, Ae as sendHeartbeat, jr as sheetXmlToRows, At as shouldDisableEngine, uo as shouldPinOnMove, fo as shouldPinOnSelect, Qn as showPreviousChunk, tn as showsAssistantCaption, nn as showsUserCaption, Kn as speakableEmail, Ht as speechGate, zi as speechLabelsFor, Ut as speechLangForLocale, Ki as speechPlaybackReducer, jt as splitForVendor, qn as splitTableRow, Pn as spokenSoFar, pa as spokenTurnText, un as stageText, oa as startPhraseTicker, Sn as startRotationTicker, dn as statusStageCopy, po as stepsFromToolActivity, je as stopReapedAssistantSandbox, at as streamBudgetMs, na as stripLegacyFillerPrefix, xo as subscribeReducedMotion, $t as subscribeSpeechEngine, Mr as summarisePageText, Cn as syncRotationClock, mo as tabForArrowKey, fn as thinkingPhrase, pn as thinkingPhraseEntry, ar as toCaptionText, mi as toMessageAttachment, Jn as toSpeakableText, hi as truncateForInline, Nr as truncatePagesForInline, sa as turnActivityCopy, ca as turnActivityStage, et as unofferedModeSendRefusal, ki as unofferedModeSendRefusalAfterAccess, ns as useAssistantApiAccess, ds as useAssistantAttachments, Ma as useAssistantConnectSource, Ks as useAssistantDockWidth, ms as useAssistantHeartbeat, l as useAssistantI18nNamespace, hs as useAssistantKeyboardShortcuts, x as useAssistantNavigate, qs as useAssistantOverlayOrNull, r as useAssistantPageLabel, qa as useAssistantPreview, Co as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, Js as useAssistantQuotaExhausted, ga as useAssistantSpeech, o as useAssistantStorageFolders, Yi as useAssistantStore, u as useAssistantTr, rs as useConversationTurns, Ua as useDropdownEscape, _o as useOverlayFocus, So as usePrefersReducedMotion, Ke as useSandboxAssistantTransport, e as useVoiceInput, _a as useVoiceSession, ls as useWorkspaceWriteAccess, gi as validateFile, Wt as voiceAvailability, dt as voiceMarker, Xn as voicePreviewText, Gt as voiceQualityRank, ft as voiceSessionIdOf, Fn as voiceSessionReducer, rn as voiceStageState, _n as voiceStatusParts, vn as voiceStatusSuffix, Rn as voiceTranscriptFilename, pt as voiceTurnsOnly, Kt as voicesForLocale, Me as waitForAssistantServiceReady, Ne as waitForSandboxRunning, an as waveformIsActive, on as waveformIsSettled, ot as withIncompleteTurnNotice, Fi as withWriteModeAcknowledged, Us as writeAssistantOverlayFlag, Ii as writeModeConsentCopy, Li as writeModeSendRefusal };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.919.1",
3
+ "version": "2026.920.2",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {