@burdenoff/fe-libs 2026.921.2 → 2026.922.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.
@@ -21,5 +21,7 @@ export interface HostedSpeechEngine extends SpeechEngine {
21
21
  */
22
22
  headersChanged(): void;
23
23
  }
24
+ /** `Retry-After` in seconds when the server sent a usable one, else backoff. */
25
+ export declare function retryDelayMs(retryAfter: string | null, attempt: number): number;
24
26
  export declare function createHostedTtsEngine(options: HostedTtsOptions): HostedSpeechEngine;
25
27
  //# sourceMappingURL=hostedTtsSpeechEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hostedTtsSpeechEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/hostedTtsSpeechEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAWH,OAAO,KAAK,EAAE,YAAY,EAA4D,MAAM,SAAS,CAAC;AAEtG,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD;;;;;;OAMG;IACH,cAAc,IAAI,IAAI,CAAC;CACxB;AAgBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,kBAAkB,CA6UnF"}
1
+ {"version":3,"file":"hostedTtsSpeechEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/hostedTtsSpeechEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAeH,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD;;;;;;OAMG;IACH,cAAc,IAAI,IAAI,CAAC;CACxB;AAwCD,gFAAgF;AAChF,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,CAMR;AA2BD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,GACxB,kBAAkB,CAmapB"}
@@ -6,84 +6,112 @@ function l(e) {
6
6
  for (let e = 0; e < t.length; e += 1) n = (n << 5) + n + t.charCodeAt(e) | 0;
7
7
  return `${t.length}:${n >>> 0}`;
8
8
  }
9
- function u(u) {
10
- let d = u.fetchImpl ?? ((...e) => fetch(...e)), f = u.now ?? (() => Date.now()), p = null, m = null, h = 0, g = null, _ = 0, v = null, y = null, b = () => {
9
+ var u = new Set([
10
+ 429,
11
+ 502,
12
+ 503,
13
+ 504
14
+ ]), d = 3, f = 400, p = 2e3;
15
+ function m(e, t) {
16
+ let n = e === null ? NaN : Number(e);
17
+ return Math.min(Number.isFinite(n) && n >= 0 ? n * 1e3 : f * 2 ** (t - 1), p);
18
+ }
19
+ function h(e, t) {
20
+ return new Promise((n) => {
21
+ if (t.aborted) {
22
+ n();
23
+ return;
24
+ }
25
+ let r = setTimeout(() => {
26
+ t.removeEventListener("abort", i), n();
27
+ }, e);
28
+ function i() {
29
+ clearTimeout(r), n();
30
+ }
31
+ t.addEventListener("abort", i, { once: !0 });
32
+ });
33
+ }
34
+ function g(f) {
35
+ let p = f.fetchImpl ?? ((...e) => fetch(...e)), g = f.now ?? (() => Date.now()), _ = null, v = null, y = 0, b = null, x = 0, S = null, C = null, w = () => {
11
36
  try {
12
- return u.getHeaders?.() ?? {};
37
+ return f.getHeaders?.() ?? {};
13
38
  } catch {
14
39
  return {};
15
40
  }
16
- }, x = () => f() >= _ ? !1 : y === null ? !0 : l(b()) === y, S = /* @__PURE__ */ new Set(), C = () => {
17
- for (let e of [...S]) e();
18
- }, w = () => {
19
- v !== null && clearTimeout(v), v = null;
20
- }, T = (e) => {
21
- w(), v = setTimeout(() => {
22
- v = null;
23
- let e = _ - f();
41
+ }, T = () => g() >= x ? !1 : C === null ? !0 : l(w()) === C, E = /* @__PURE__ */ new Set(), D = () => {
42
+ for (let e of [...E]) e();
43
+ }, O = () => {
44
+ S !== null && clearTimeout(S), S = null;
45
+ }, k = (e) => {
46
+ O(), S = setTimeout(() => {
47
+ S = null;
48
+ let e = x - g();
24
49
  if (e > 0) {
25
- T(e);
50
+ k(e);
26
51
  return;
27
52
  }
28
- C();
53
+ D();
29
54
  }, e);
30
- }, E = (e, t) => {
31
- _ = f() + e, y = t, T(e), C();
32
- }, D = () => {
33
- m &&= (URL.revokeObjectURL(m), null);
34
- }, O = () => {
35
- if (p) {
36
- p.onended = null, p.onerror = null;
55
+ }, A = (e, t) => {
56
+ x = g() + e, C = t, k(e), D();
57
+ }, j = () => {
58
+ v &&= (URL.revokeObjectURL(v), null);
59
+ }, M = () => {
60
+ if (_) {
61
+ _.onended = null, _.onerror = null;
37
62
  try {
38
- p.pause();
63
+ _.pause();
39
64
  } catch {}
40
- p = null;
65
+ _ = null;
41
66
  }
42
- D();
67
+ j();
43
68
  };
44
- async function k(t, o, s) {
45
- let c = r(t, n(o.lang) ?? o.lang, e, o.voice?.name ?? null, o.rate), f = u.getHeaders?.() ?? {}, p = await d(u.endpoint, {
69
+ async function N(t, o, s) {
70
+ let c = r(t, n(o.lang) ?? o.lang, e, o.voice?.name ?? null, o.rate), g = f.getHeaders?.() ?? {}, _;
71
+ for (let e = 1; _ = await p(f.endpoint, {
46
72
  method: "POST",
47
73
  signal: s,
48
74
  headers: {
49
75
  "content-type": "application/json",
50
- ...f
76
+ ...g
51
77
  },
52
78
  body: JSON.stringify(c)
53
- });
54
- if (!p.ok) {
55
- let e = /* @__PURE__ */ Error(`hosted tts ${p.status}`);
56
- throw e.reason = i(p.status), e.headers = l(f), e;
79
+ }), !_.ok; e += 1) {
80
+ if (!(u.has(_.status) && e < d && !s.aborted)) {
81
+ let e = /* @__PURE__ */ Error(`hosted tts ${_.status}`);
82
+ throw e.reason = i(_.status), e.headers = l(g), e;
83
+ }
84
+ await h(m(_.headers.get("retry-after"), e), s);
57
85
  }
58
- let m = p.headers.get("content-type"), h = a(m, m?.includes("json") ? await p.json() : await p.arrayBuffer());
59
- if (!h) {
86
+ let v = _.headers.get("content-type"), y = a(v, v?.includes("json") ? await _.json() : await _.arrayBuffer());
87
+ if (!y) {
60
88
  let e = /* @__PURE__ */ Error("hosted tts returned no audio");
61
89
  throw e.reason = "unknown", e;
62
90
  }
63
- return h;
91
+ return y;
64
92
  }
65
- function A(e, t, n) {
93
+ function P(e, t, n) {
66
94
  return new Promise((r, i) => {
67
- if (t !== h) {
95
+ if (t !== y) {
68
96
  r();
69
97
  return;
70
98
  }
71
99
  let a = new Blob([e.slice().buffer], { type: "audio/mpeg" });
72
- D(), m = URL.createObjectURL(a);
73
- let o = new Audio(m);
74
- p = o, o.onended = () => {
75
- t === h && r();
100
+ j(), v = URL.createObjectURL(a);
101
+ let o = new Audio(v);
102
+ _ = o, o.onended = () => {
103
+ t === y && r();
76
104
  }, o.onerror = () => {
77
- if (t !== h) {
105
+ if (t !== y) {
78
106
  r();
79
107
  return;
80
108
  }
81
109
  let e = /* @__PURE__ */ Error("audio playback failed");
82
110
  e.reason = "unknown", i(e);
83
111
  }, o.play().then(() => {
84
- t === h && n?.();
112
+ t === y && n?.();
85
113
  }, (e) => {
86
- if (t !== h) {
114
+ if (t !== y) {
87
115
  r();
88
116
  return;
89
117
  }
@@ -95,14 +123,14 @@ function u(u) {
95
123
  return {
96
124
  id: "hosted-tts",
97
125
  isSupported() {
98
- return x() ? !1 : typeof window < "u" && typeof window.Audio == "function" && typeof fetch == "function";
126
+ return T() ? !1 : typeof window < "u" && typeof window.Audio == "function" && typeof fetch == "function";
99
127
  },
100
128
  listVoices() {
101
- return x() ? [] : [...t];
129
+ return T() ? [] : [...t];
102
130
  },
103
131
  subscribeVoices(e) {
104
- return S.add(e), () => {
105
- S.delete(e);
132
+ return E.add(e), () => {
133
+ E.delete(e);
106
134
  };
107
135
  },
108
136
  speak(e, t, n = {}) {
@@ -111,43 +139,43 @@ function u(u) {
111
139
  n.onEnd?.();
112
140
  return;
113
141
  }
114
- h += 1;
115
- let i = h;
116
- O();
142
+ y += 1;
143
+ let i = y;
144
+ M();
117
145
  let a = new AbortController();
118
- g = a;
146
+ b = a;
119
147
  let l = !1, u = () => {
120
148
  l || (l = !0, n.onStart?.());
121
149
  }, d = (e) => {
122
- let n = k(e, t, a.signal);
150
+ let n = N(e, t, a.signal);
123
151
  return n.catch(() => {}), n;
124
152
  };
125
153
  (async () => {
126
154
  try {
127
155
  let e = d(r[0]);
128
156
  for (let t = 0; t < r.length; t += 1) {
129
- if (i !== h) return;
157
+ if (i !== y) return;
130
158
  let a = await e;
131
- if (i !== h) return;
159
+ if (i !== y) return;
132
160
  let o = r[t + 1];
133
- o !== void 0 && (e = d(o)), n.onChunkStart?.(t), await A(a, i, u);
161
+ o !== void 0 && (e = d(o)), n.onChunkStart?.(t), await P(a, i, u);
134
162
  }
135
- i === h && n.onEnd?.();
163
+ i === y && n.onEnd?.();
136
164
  } catch (e) {
137
- if (a.abort(), i !== h) return;
138
- h += 1, O();
165
+ if (a.abort(), i !== y) return;
166
+ y += 1, M();
139
167
  let t = e?.reason;
140
- s(t, e?.transient === !0) && E(o(t), t === "not-allowed" ? e.headers ?? null : null), n.onError?.(t === "not-allowed" || t === "unsupported" || t === "cancelled" ? t : "unknown");
168
+ s(t, e?.transient === !0) && A(o(t), t === "not-allowed" ? e.headers ?? null : null), n.onError?.(t === "not-allowed" || t === "unsupported" || t === "cancelled" ? t : "unknown");
141
169
  }
142
170
  })();
143
171
  },
144
172
  headersChanged() {
145
- f() >= _ || y === null || x() || (_ = 0, y = null, w(), C());
173
+ g() >= x || C === null || T() || (x = 0, C = null, O(), D());
146
174
  },
147
175
  cancel() {
148
- h += 1, g?.abort(), g = null, O();
176
+ y += 1, b?.abort(), b = null, M();
149
177
  }
150
178
  };
151
179
  }
152
180
  //#endregion
153
- export { u as createHostedTtsEngine };
181
+ export { g as createHostedTtsEngine, m as retryDelayMs };
@@ -55,7 +55,7 @@ var g = () => {
55
55
  })]
56
56
  })]
57
57
  }), /* @__PURE__ */ m("div", {
58
- className: "flex-1 overflow-y-auto",
58
+ className: "scrollbar-slim flex-1 overflow-y-auto",
59
59
  children: v.length === 0 ? /* @__PURE__ */ h("div", {
60
60
  className: "flex flex-col items-center justify-center h-full text-center px-4",
61
61
  children: [
@@ -19,7 +19,7 @@ var s = ({ onApprovePendingWrite: s, approvingWriteRef: c = null, messages: l, p
19
19
  g.current?.scrollIntoView({ behavior: "instant" });
20
20
  }, []), /* @__PURE__ */ o("div", {
21
21
  ref: _,
22
- className: "flex-1 space-y-4 overflow-y-auto p-3",
22
+ className: "scrollbar-slim flex-1 space-y-4 overflow-y-auto p-3",
23
23
  role: "log",
24
24
  "aria-live": "polite",
25
25
  "aria-relevant": "additions",
@@ -13,7 +13,7 @@ var o = ({ turns: o }) => {
13
13
  children: s("voiceSession.transcriptEmpty", "Nothing spoken yet in this session.")
14
14
  })
15
15
  }) : /* @__PURE__ */ i("div", {
16
- className: "flex-1 overflow-y-auto px-4 py-4",
16
+ className: "scrollbar-slim flex-1 overflow-y-auto px-4 py-4",
17
17
  "data-testid": "assistant-voice-conversation",
18
18
  children: c.map((e, n) => /* @__PURE__ */ a("section", {
19
19
  className: "space-y-4 pb-4",
@@ -23,109 +23,109 @@ import { chatTurns as st, groupBySession as ct, groupConsecutiveBySession as lt,
23
23
  import { browserSpeechEngine as mt } from "./shared/assistant/speech/browserSpeechEngine.js";
24
24
  import { HOSTED_TTS_TIER as ht, HOSTED_VOICES as gt, hostedLocaleFor as _t, hostedSupportsLanguage as vt } from "./shared/assistant/speech/hostedVoiceCatalogue.js";
25
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 { HostedPreviewBridgeContext as wo, panelOwnedPreviewBridge as To, useHostedAssistantPreviewBridge as Eo } from "./shared/assistant/preview/bridgeHostContext.js";
91
- import { AssistantPreviewBridgeHost as Do } from "./shared/assistant/preview/bridgeHost.js";
92
- import { AssistantPreviewOverlay as Oo } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
93
- import { AssistantLanguageSelector as ko, FOLLOW_APP_LOCALE as Ao } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
94
- import { ASSISTANT_MODE_META as jo, AssistantModeSelector as Mo, assistantModeMeta as No, nextModeIndex as Po } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
95
- import { AssistantVoiceButton as Fo } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
96
- import { AUTO_VOICE as Io, AssistantVoiceSelector as Lo } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
97
- import { AssistantVoiceOrb as Ro } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
98
- import { AssistantVoiceSessionButton as zo } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
99
- import { CAPTION_SCROLL_ATTR as Bo, VoiceCaption as Vo } from "./shared/assistant/ui/voice/VoiceCaption.js";
100
- import { VoiceConversationView as Ho } from "./shared/assistant/ui/voice/VoiceConversationView.js";
101
- import { VoiceWaveform as Uo } from "./shared/assistant/ui/voice/VoiceWaveform.js";
102
- import { VoiceStatusLine as Wo, VoiceStatusText as Go } from "./shared/assistant/ui/voice/VoiceStatusText.js";
103
- import { VoiceMiniController as Ko } from "./shared/assistant/ui/voice/VoiceMiniController.js";
104
- import { VoiceStage as qo } from "./shared/assistant/ui/voice/VoiceStage.js";
105
- import { VoiceTranscriptDrawer as Jo } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
106
- import { downloadFile as Yo, exportConversation as Xo } from "./shared/assistant/exportConversation.js";
107
- import { AssistantMoreMenu as Zo } from "./shared/assistant/ui/AssistantMoreMenu.js";
108
- import { AssistantHeader as Qo } from "./shared/assistant/ui/AssistantHeader.js";
109
- import { AssistantConversationList as $o } from "./shared/assistant/ui/AssistantConversationList.js";
110
- import { AssistantEmptyState as es } from "./shared/assistant/ui/AssistantEmptyState.js";
111
- import { AssistantTurnActivity as ts, TurnActivityLine as ns } from "./shared/assistant/ui/AssistantTurnActivity.js";
112
- import { AssistantMessageItem as rs } from "./shared/assistant/ui/AssistantMessageItem.js";
113
- import { AssistantMessageList as is } from "./shared/assistant/ui/AssistantMessageList.js";
114
- import { AssistantVoiceSession as as } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
115
- import { useAssistantApiAccess as os } from "./shared/assistant/useAssistantApiAccess.js";
116
- import { useConversationTurns as ss } from "./shared/assistant/useConversationTurns.js";
117
- import { isMultimodalBodyRejection as cs, isRecoverableAssistantError as ls } from "./shared/assistant/transportErrors.js";
118
- import { aiCreditsUpdatedEventName as us, dispatchAssistantQuotaExhausted as ds, notifyAiCreditsUpdated as fs } from "./shared/assistant/aiCredits.js";
119
- import { useWorkspaceWriteAccess as ps } from "./shared/assistant/useWorkspaceWriteAccess.js";
120
- import { extractDocumentText as ms } from "./shared/assistant/documentExtract.js";
121
- import { useAssistantAttachments as hs } from "./shared/assistant/useAssistantAttachments.js";
122
- import { AssistantComposer as gs } from "./shared/assistant/ui/composer/AssistantComposer.js";
123
- import { isProdRuntime as _s } from "./shared/assistant/env.js";
124
- import { useAssistantHeartbeat as vs } from "./shared/assistant/useAssistantHeartbeat.js";
125
- import { useAssistantKeyboardShortcuts as ys } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
126
- import { AssistantApiCallsConsentDialog as bs } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
127
- import { AssistantChatArea as xs } from "./shared/assistant/ui/AssistantChatArea.js";
128
- import { AIAssistantPanel as Ss } from "./shared/assistant/ui/AIAssistantPanel.js";
129
- import { ASSISTANT_BOTTOM_CHROME_CLEARANCE as Cs, ASSISTANT_DIALOG_SELECTOR as ws, ASSISTANT_DOCKED_DESKTOP_CLASS as Ts, ASSISTANT_DOCK_WIDTH_PX as Es, ASSISTANT_DOCK_WIDTH_VAR as Ds, ASSISTANT_FLOATING_DESKTOP_CLASS as Os, ASSISTANT_OVERLAY_DEFAULT_TOP_PX as ks, ASSISTANT_OVERLAY_DESKTOP_QUERY as As, ASSISTANT_OVERLAY_TOP_VAR as js, ASSISTANT_SHEET_BASE_CLASS as Ms, ASSISTANT_SHEET_COMPACT_CLASS as Ns, ASSISTANT_SHEET_EXPANDED_CLASS as Ps, ASSISTANT_TOGGLE_SHORTCUT_LABEL as Fs, aboveAssistantBottomChrome as Is, assistantOverlayClassName as Ls, assistantOverlayEscapeAction as Rs, assistantOverlayKeys as zs, assistantQuotaKindOf as Bs, createAssistantNavigate as Vs, isAssistantToggleShortcut as Hs, nextAssistantOpenState as Us, publishedAssistantDockWidth as Ws, readAssistantOverlayFlag as Gs, requestedAssistantOpenState as Ks, writeAssistantOverlayFlag as qs } from "./shared/assistant/ui/assistantOverlayState.js";
130
- import { AssistantOverlay as Js, AssistantOverlayProvider as Ys, useAssistantDockWidth as Xs, useAssistantOverlayOrNull as Zs, useAssistantQuotaExhausted as Qs } from "./shared/assistant/ui/AssistantOverlay.js";
131
- export { Ti as ADMIN_MODE_ACCESS_WAIT_MS, Ss as AIAssistantPanel, q as ASSISTANT_API_AUTH_STRATEGY, Cs as ASSISTANT_BOTTOM_CHROME_CLEARANCE, ws as ASSISTANT_DIALOG_SELECTOR, Ts as ASSISTANT_DOCKED_DESKTOP_CLASS, Es as ASSISTANT_DOCK_WIDTH_PX, Ds as ASSISTANT_DOCK_WIDTH_VAR, Os 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, jo as ASSISTANT_MODE_META, Pa as ASSISTANT_OVERLAY_ATTR, ks as ASSISTANT_OVERLAY_DEFAULT_TOP_PX, As as ASSISTANT_OVERLAY_DESKTOP_QUERY, js as ASSISTANT_OVERLAY_TOP_VAR, Fa as ASSISTANT_PANEL_ATTR, Ms as ASSISTANT_SHEET_BASE_CLASS, Ns as ASSISTANT_SHEET_COMPACT_CLASS, Ps as ASSISTANT_SHEET_EXPANDED_CLASS, Fs as ASSISTANT_TOGGLE_SHORTCUT_LABEL, Pr as ATTACHMENT_ACCEPT, _i as ATTACHMENT_SOURCES, Io as AUTO_VOICE, bs as AssistantApiCallsConsentDialog, Wa as AssistantAttachmentButton, Ga as AssistantAttachmentChips, wa as AssistantAutoSpeakToggle, ma as AssistantAvatar, xs as AssistantChatArea, gs as AssistantComposer, Na as AssistantConnectSourceItem, ja as AssistantConnectSourceProvider, $o as AssistantConversationList, es as AssistantEmptyState, go as AssistantEntityPreview, Qo as AssistantHeader, s as AssistantI18nProvider, Da as AssistantLanguageMenu, ko as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, Ta as AssistantMessageAttachments, rs as AssistantMessageItem, is as AssistantMessageList, Mo as AssistantModeSelector, Zo as AssistantMoreMenu, g as AssistantNavigateProvider, Js as AssistantOverlay, Ys as AssistantOverlayProvider, Ea as AssistantPendingWriteCard, Do as AssistantPreviewBridgeHost, Oo 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, ts as AssistantTurnActivity, Fo as AssistantVoiceButton, Ro as AssistantVoiceOrb, Lo as AssistantVoiceSelector, as as AssistantVoiceSession, zo as AssistantVoiceSessionButton, Fr as AttachmentRejectedError, mr as BOILERPLATE_PAGE_SHARE, qe as BUILT_IN_MODE_CAPABILITIES, Bo 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, Ao 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, wo as HostedPreviewBridgeContext, 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, ns 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, Vo as VoiceCaption, Ho as VoiceConversationView, Ko as VoiceMiniController, qo as VoiceStage, Wo as VoiceStatusLine, Go as VoiceStatusText, Jo as VoiceTranscriptDrawer, Uo as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, se as abortAssistantTurn, Is as aboveAssistantBottomChrome, La as activePanelOverlay, Ze as adminOnlyModeSendRefusal, Ei as adminOnlyModeSendRefusalAfterAccess, bn as advanceRotationClock, us as aiCreditsUpdatedEventName, eo as applyPreviewEvent, ce as approvePendingWrite, Ci as assistantI18nSeedCopy, z as assistantModeFallbackLabel, wi as assistantModeI18nCopy, No as assistantModeMeta, Ls as assistantOverlayClassName, Rs as assistantOverlayEscapeAction, zs as assistantOverlayKeys, Ra as assistantPanelOwnsEscape, Bs 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, Vs 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, ds as dispatchAssistantQuotaExhausted, Sr as docxXmlToText, he as downloadAssistantArtifact, Yo as downloadFile, ia as elapsedSince, za as escapeDismisses, ii as estimateTurnBodyBytes, D as executeSandboxGraphQL, Xo as exportConversation, ge as extendAssistantSandboxTTL, ms 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, Hs 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, cs as isMultimodalBodyRejection, _s as isProdRuntime, K as isProductAssistantModeId, ui as isProviderReadableFilePart, w as isQuotaExhaustedError, Be as isReapedSandboxConnectionError, Ca as isRecentlyVerified, Ve as isRecoverable, ls 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, Us as nextAssistantOpenState, Po as nextModeIndex, Va as nextPanelOverlays, Za as nextPreviewEvents, zt as normalizeLangTag, fs as notifyAiCreditsUpdated, Mn as orbMode, Dr as pageMarker, To as panelOwnedPreviewBridge, 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, Ws as publishedAssistantDockWidth, Wi as publishedChunks, T as quotaExhaustedEventName, Gs as readAssistantOverlayFlag, bo as readReducedMotion, Zt as readSpeechEngineConfig, Te as releaseSupersededAssistantSandboxes, ur as replyFollowsInput, Ee as reportAssistantAiTokenUsage, Ks 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, os as useAssistantApiAccess, hs as useAssistantAttachments, Ma as useAssistantConnectSource, Xs as useAssistantDockWidth, vs as useAssistantHeartbeat, l as useAssistantI18nNamespace, ys as useAssistantKeyboardShortcuts, x as useAssistantNavigate, Zs as useAssistantOverlayOrNull, r as useAssistantPageLabel, qa as useAssistantPreview, Co as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, Qs as useAssistantQuotaExhausted, ga as useAssistantSpeech, o as useAssistantStorageFolders, Yi as useAssistantStore, u as useAssistantTr, ss as useConversationTurns, Ua as useDropdownEscape, Eo as useHostedAssistantPreviewBridge, _o as useOverlayFocus, So as usePrefersReducedMotion, Ke as useSandboxAssistantTransport, e as useVoiceInput, _a as useVoiceSession, ps 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, qs as writeAssistantOverlayFlag, Ii as writeModeConsentCopy, Li as writeModeSendRefusal };
26
+ import { createHostedTtsEngine as Mt, retryDelayMs as Nt } from "./shared/assistant/speech/hostedTtsSpeechEngine.js";
27
+ import { HOSTED_VOICE_RANK as Pt, SPEECH_LANG as Ft, VOICE_LIST_TIMEOUT_MS as It, isHostedVoice as Lt, isSpeechBlocked as Rt, languageDisplayName as zt, normalizeLangTag as Bt, primaryLanguageSubtag as Vt, selectVoiceForLocale as Ht, speechGate as Ut, speechLangForLocale as Wt, voiceAvailability as Gt, voiceQualityRank as Kt, voicesForLocale as qt } from "./shared/assistant/voice/speechVoices.js";
28
+ import { createRoutingSpeechEngine as Jt } from "./shared/assistant/speech/routingSpeechEngine.js";
29
+ import { configureSpeechEngine as Yt, createSpeechEngines as Xt, getSpeechEngine as Zt, readSpeechEngineConfig as Qt, resetSpeechEngine as $t, subscribeSpeechEngine as en } from "./shared/assistant/speech/createSpeechEngine.js";
30
+ import { micIsInterrupt as tn, showsAssistantCaption as nn, showsUserCaption as rn, voiceStageState as an, waveformIsActive as on, waveformIsSettled as sn } from "./shared/assistant/voice/voiceStageState.js";
31
+ import { PHRASE_ROTATE_MS as cn, STAGE_COPY as ln, THINKING_PHRASES as un, stageText as dn, statusStageCopy as fn, thinkingPhrase as pn, thinkingPhraseEntry as mn } from "./shared/assistant/stageCopy.js";
32
+ import { VOICE_MUTED_LABEL as hn, VOICE_THINKING_LABEL as gn, composeVoiceStatus as _n, voiceStatusParts as vn, voiceStatusSuffix as yn } from "./shared/assistant/voice/voiceStatus.js";
33
+ import { IDLE_ROTATION_CLOCK as bn, advanceRotationClock as xn, rotationElapsedMs as Sn, startRotationTicker as Cn, syncRotationClock as wn } from "./shared/assistant/voice/rotationClock.js";
34
+ import { ENDPOINT_GRACE_MS as Tn, INITIAL_SESSION as En, INTERRUPT_MAX_MS as Dn, INTERRUPT_MIN_MS as On, SILENCE_SUBMIT_MS as kn, isCapturing as An, isEcho as jn, isSubmittable as Mn, orbMode as Nn, planReplyConsumption as Pn, spokenSoFar as Fn, voiceSessionReducer as In } from "./shared/assistant/voice/voiceSession.js";
35
+ import { buildContinuedFromVoiceNote as Ln, buildVoiceTranscriptMarkdown as Rn, voiceTranscriptFilename as zn } from "./shared/assistant/voice/voiceTranscript.js";
36
+ import { DEFAULT_SPEAKABLE_LABELS as Bn, MAX_SPEAKABLE_CHARS as Vn, MAX_SPOKEN_TABLE_ROWS as Hn, SPEECH_CHUNK_CHARS as Un, SPEECH_CHUNK_CJK_CHARS as Wn, chunkForSpeech as Gn, containsCjk as Kn, speakableEmail as qn, splitTableRow as Jn, toSpeakableText as Yn } from "./shared/assistant/voice/speakableText.js";
37
+ import { PREVIEW_LANGUAGES as Xn, voicePreviewText as Zn } from "./shared/assistant/voice/voicePreview.js";
38
+ import { MINI_CAPTION_BUDGET as Qn, showPreviousChunk as $n } from "./shared/assistant/voice/miniCaptionBudget.js";
39
+ import { POLL_FAST_MS as er, POLL_FAST_UNTIL_MS as tr, POLL_SLOW_MS as nr, POLL_STEADY_MS as rr, POLL_STEADY_UNTIL_MS as ir, pollDelayMs as ar } from "./shared/assistant/voice/assistantPollSchedule.js";
40
+ import { toCaptionText as or } from "./shared/assistant/voice/captionText.js";
41
+ import { ASSISTANT_LANGUAGES as sr, DEFAULT_SPEECH_RATE as cr, findAssistantLanguage as lr, resolveAssistantLanguage as ur } from "./shared/assistant/voice/languages.js";
42
+ import { replyFollowsInput as dr, resolveLanguagePair as fr } from "./shared/assistant/voice/languagePair.js";
43
+ import { findPendingWrite as pr, parseConfirmationRefusal as mr } from "./shared/assistant/pendingWrite.js";
44
+ import { BOILERPLATE_PAGE_SHARE as hr, MAX_BOILERPLATE_LINE_CHARS as gr, MAX_EXTRACTED_CHARS as _r, MAX_PDF_PAGES_SCANNED as vr, MIN_PAGE_TEXT_CHARS as yr, MIN_TEXT_PAGE_SHARE as br, columnLetterToIndex as xr, decodeXmlEntities as Sr, docxXmlToText as Cr, fitPdfPages as wr, formatPageRanges as Tr, isMostlyImagePages as Er, joinSheets as Dr, pageMarker as Or, parseSharedStrings as kr, parseWorkbookSheets as Ar, pdfTextItemsToPage as jr, sheetXmlToRows as Mr, summarisePageText as Nr, truncatePagesForInline as Pr } from "./shared/assistant/documentText.js";
45
+ import { ATTACHMENT_ACCEPT as Fr, AttachmentRejectedError as Ir, DEFAULT_INLINE_LIMITS as Lr, INLINE_IMAGE_MAX_DIM as Rr, INLINE_IMAGE_QUALITY as zr, MAX_ATTACHMENTS as Br, MAX_CONFIGURABLE_INLINE_CHARS as Vr, MAX_FILE_BYTES as Hr, MAX_INLINE_CHARS_PER_FILE as Ur, MAX_INLINE_CHARS_TOTAL as Wr, MAX_INLINE_IMAGE_BASE64_CHARS as Gr, MAX_INLINE_IMAGE_PARTS as Kr, MAX_INLINE_TURN_BODY_BYTES as qr, MAX_TURN_BODY_BYTES as Jr, PROMPT_ENVELOPE_RESERVE_BYTES as Yr, PROVIDER_READABLE_FILE_MEDIA_TYPES as Xr, TURN_BODY_HEADROOM_BYTES as Zr, buildAttachmentPromptBlock as Qr, buildPromptParts as $r, buildPromptWithAttachments as ei, classifyAttachment as ti, countInlineImageCandidates as ni, countInlinedImageParts as ri, detectDocumentFormat as ii, estimateTurnBodyBytes as ai, formatBytes as oi, getAttachmentSendBlocker as si, getExtension as ci, getSendableAttachments as li, hasAttachmentWorkInFlight as ui, isProviderReadableFilePart as di, largestInlineCharsPerFile as fi, parseDataUrl as pi, resolveAssistantInlineLimits as mi, toMessageAttachment as hi, truncateForInline as gi, validateFile as _i } from "./shared/assistant/attachments.js";
46
+ import { ATTACHMENT_SOURCES as vi, availableAttachmentSources as yi, deviceHasCamera as bi } from "./shared/assistant/attachmentSources.js";
47
+ import { ASSISTANT_I18N_COMPUTED_COPY as xi, ASSISTANT_I18N_LITERAL_COPY as Si, ASSISTANT_I18N_MANIFEST as Ci, assistantI18nSeedCopy as wi, assistantModeI18nCopy as Ti } from "./shared/assistant/i18nManifest.js";
48
+ import { ADMIN_MODE_ACCESS_WAIT_MS as Ei, adminOnlyModeSendRefusalAfterAccess as Di, createAdminModeAccessGate as Oi, resolveAssistantSendModeAfterAccess as ki, unofferedModeSendRefusalAfterAccess as Ai } from "./shared/assistant/adminModeSendGate.js";
49
+ import { buildBoundedAttachmentTurn as ji } from "./shared/assistant/attachmentTurn.js";
50
+ import { LEGACY_WRITE_CONSENT_KEY as Mi, TAKE_ACTION_ENGLISH as Ni, isWriteModeAcknowledged as Pi, restoreAcknowledgedWriteModes as Fi, withWriteModeAcknowledged as Ii, writeModeConsentCopy as Li, writeModeSendRefusal as Ri } from "./shared/assistant/writeModeConsent.js";
51
+ import { SPOKEN_LABEL_LANGUAGES as zi, speechLabelsFor as Bi } from "./shared/assistant/voice/speechLabels.js";
52
+ import { detectScriptLocale as Vi, resolveSpeechLocale as Hi } from "./shared/assistant/voice/replyLanguage.js";
53
+ import { IDLE_PLAYBACK as Ui, isSpeakingMessage as Wi, publishedChunks as Gi, requiresCancel as Ki, speechPlaybackReducer as qi } from "./shared/assistant/voice/speechPlayback.js";
54
+ import { mergePersistedAssistantState as Ji, resolveActiveModeSandbox as Yi, useAssistantStore as Xi } from "./shared/assistant/store.js";
55
+ import { isTurnInFlight as Zi, planAbandonedTurn as Qi, planTurnAbort as $i } from "./shared/assistant/turnState.js";
56
+ import { isLegacyFiller as ea, isLegacyStopped as ta, isStageCopy as na, stripLegacyFillerPrefix as ra } from "./shared/assistant/legacyFiller.js";
57
+ import { getAssistantDisplayContent as ia } from "./shared/assistant/displayContent.js";
58
+ import { elapsedSince as aa, msUntilNextPhrase as oa, startPhraseTicker as sa, turnActivityCopy as ca, turnActivityStage as la } from "./shared/assistant/turnActivity.js";
59
+ import { buildAssistantProgress as ua } from "./shared/assistant/turnProgress.js";
60
+ import { AssistantToolActivity as da, parseToolActivity as fa } from "./shared/assistant/ui/AssistantToolActivity.js";
61
+ import { countSpokenTurns as pa, spokenTurnText as ma } from "./shared/assistant/spokenTurns.js";
62
+ import { AssistantAvatar as ha } from "./shared/assistant/ui/AssistantAvatar.js";
63
+ import { AssistantSpeechProvider as ga, useAssistantSpeech as _a } from "./shared/assistant/ui/AssistantSpeechProvider.js";
64
+ import { useVoiceSession as va } from "./shared/assistant/ui/useVoiceSession.js";
65
+ import { getActorId as ya, getOrganizationId as ba, getWorkspaceId as xa } from "./shared/assistant/context.js";
66
+ import { SANDBOX_READY_TTL_MS as Sa, createReadinessTracker as Ca, isRecentlyVerified as wa } from "./shared/assistant/sandboxReadiness.js";
67
+ import { AssistantAutoSpeakToggle as Ta } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
68
+ import { AssistantMessageAttachments as Ea } from "./shared/assistant/ui/AssistantMessageAttachments.js";
69
+ import { AssistantPendingWriteCard as Da } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
70
+ import { AssistantLanguageMenu as Oa } from "./shared/assistant/ui/AssistantLanguageMenu.js";
71
+ import { AssistantReplyLanguageSelector as ka } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
72
+ import { AssistantSpeakButton as Aa } from "./shared/assistant/ui/AssistantSpeakButton.js";
73
+ import { AssistantSpokenTurnsNotice as ja } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
74
+ import { AssistantConnectSourceProvider as Ma, useAssistantConnectSource as Na } from "./shared/assistant/ui/composer/connectSource.js";
75
+ import { AssistantConnectSourceItem as Pa } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
76
+ import { ASSISTANT_OVERLAY_ATTR as Fa, ASSISTANT_PANEL_ATTR as Ia, NO_PANEL_OVERLAY as La, activePanelOverlay as Ra, assistantPanelOwnsEscape as za, escapeDismisses as Ba, focusIsInsidePanel as Va, nextPanelOverlays as Ha, panelOwnsEscape as Ua } from "./shared/assistant/ui/panelOverlays.js";
77
+ import { useDropdownEscape as Wa } from "./shared/assistant/ui/useDropdownEscape.js";
78
+ import { AssistantAttachmentButton as Ga } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
79
+ import { AssistantAttachmentChips as Ka } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
80
+ import { AssistantPreviewProvider as qa, useAssistantPreview as Ja } from "./shared/assistant/preview/context.js";
81
+ import { IDLE_PREVIEW_STATE as Ya, isBlankProse as Xa, isRunningStatus as Za, nextPreviewEvents as Qa } from "./shared/assistant/preview/previewTransitions.js";
82
+ import { IDLE_PREVIEW as $a, NO_OWNER as eo, applyPreviewEvent as to, createAssistantPreviewSurface as no, currentPreviewOwner as ro, runBelongsTo as io, sameOwner as ao } from "./shared/assistant/preview/surfaceState.js";
83
+ import { createRunIdentityCache as oo, runIdentities as so } from "./shared/assistant/preview/runIdentity.js";
84
+ import { IDLE_ACTIVE_TAB as co, nextActiveTab as lo, pinActiveTab as uo, shouldPinOnMove as fo, shouldPinOnSelect as po, stepsFromToolActivity as mo, tabForArrowKey as ho } from "./shared/assistant/preview/entity/entityPreviewState.js";
85
+ import { AssistantStepRail as go } from "./shared/assistant/preview/entity/AssistantStepRail.js";
86
+ import { AssistantEntityPreview as _o } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
87
+ import { useOverlayFocus as vo } from "./shared/assistant/ui/useOverlayFocus.js";
88
+ import { REDUCED_MOTION_ATTRIBUTE as yo, REDUCED_MOTION_QUERY as bo, readReducedMotion as xo, subscribeReducedMotion as So, usePrefersReducedMotion as Co } from "./shared/assistant/ui/usePrefersReducedMotion.js";
89
+ import { useAssistantPreviewBridge as wo } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
90
+ import { HostedPreviewBridgeContext as To, panelOwnedPreviewBridge as Eo, useHostedAssistantPreviewBridge as Do } from "./shared/assistant/preview/bridgeHostContext.js";
91
+ import { AssistantPreviewBridgeHost as Oo } from "./shared/assistant/preview/bridgeHost.js";
92
+ import { AssistantPreviewOverlay as ko } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
93
+ import { AssistantLanguageSelector as Ao, FOLLOW_APP_LOCALE as jo } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
94
+ import { ASSISTANT_MODE_META as Mo, AssistantModeSelector as No, assistantModeMeta as Po, nextModeIndex as Fo } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
95
+ import { AssistantVoiceButton as Io } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
96
+ import { AUTO_VOICE as Lo, AssistantVoiceSelector as Ro } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
97
+ import { AssistantVoiceOrb as zo } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
98
+ import { AssistantVoiceSessionButton as Bo } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
99
+ import { CAPTION_SCROLL_ATTR as Vo, VoiceCaption as Ho } from "./shared/assistant/ui/voice/VoiceCaption.js";
100
+ import { VoiceConversationView as Uo } from "./shared/assistant/ui/voice/VoiceConversationView.js";
101
+ import { VoiceWaveform as Wo } from "./shared/assistant/ui/voice/VoiceWaveform.js";
102
+ import { VoiceStatusLine as Go, VoiceStatusText as Ko } from "./shared/assistant/ui/voice/VoiceStatusText.js";
103
+ import { VoiceMiniController as qo } from "./shared/assistant/ui/voice/VoiceMiniController.js";
104
+ import { VoiceStage as Jo } from "./shared/assistant/ui/voice/VoiceStage.js";
105
+ import { VoiceTranscriptDrawer as Yo } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
106
+ import { downloadFile as Xo, exportConversation as Zo } from "./shared/assistant/exportConversation.js";
107
+ import { AssistantMoreMenu as Qo } from "./shared/assistant/ui/AssistantMoreMenu.js";
108
+ import { AssistantHeader as $o } from "./shared/assistant/ui/AssistantHeader.js";
109
+ import { AssistantConversationList as es } from "./shared/assistant/ui/AssistantConversationList.js";
110
+ import { AssistantEmptyState as ts } from "./shared/assistant/ui/AssistantEmptyState.js";
111
+ import { AssistantTurnActivity as ns, TurnActivityLine as rs } from "./shared/assistant/ui/AssistantTurnActivity.js";
112
+ import { AssistantMessageItem as is } from "./shared/assistant/ui/AssistantMessageItem.js";
113
+ import { AssistantMessageList as as } from "./shared/assistant/ui/AssistantMessageList.js";
114
+ import { AssistantVoiceSession as os } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
115
+ import { useAssistantApiAccess as ss } from "./shared/assistant/useAssistantApiAccess.js";
116
+ import { useConversationTurns as cs } from "./shared/assistant/useConversationTurns.js";
117
+ import { isMultimodalBodyRejection as ls, isRecoverableAssistantError as us } from "./shared/assistant/transportErrors.js";
118
+ import { aiCreditsUpdatedEventName as ds, dispatchAssistantQuotaExhausted as fs, notifyAiCreditsUpdated as ps } from "./shared/assistant/aiCredits.js";
119
+ import { useWorkspaceWriteAccess as ms } from "./shared/assistant/useWorkspaceWriteAccess.js";
120
+ import { extractDocumentText as hs } from "./shared/assistant/documentExtract.js";
121
+ import { useAssistantAttachments as gs } from "./shared/assistant/useAssistantAttachments.js";
122
+ import { AssistantComposer as _s } from "./shared/assistant/ui/composer/AssistantComposer.js";
123
+ import { isProdRuntime as vs } from "./shared/assistant/env.js";
124
+ import { useAssistantHeartbeat as ys } from "./shared/assistant/useAssistantHeartbeat.js";
125
+ import { useAssistantKeyboardShortcuts as bs } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
126
+ import { AssistantApiCallsConsentDialog as xs } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
127
+ import { AssistantChatArea as Ss } from "./shared/assistant/ui/AssistantChatArea.js";
128
+ import { AIAssistantPanel as Cs } from "./shared/assistant/ui/AIAssistantPanel.js";
129
+ import { ASSISTANT_BOTTOM_CHROME_CLEARANCE as ws, ASSISTANT_DIALOG_SELECTOR as Ts, ASSISTANT_DOCKED_DESKTOP_CLASS as Es, ASSISTANT_DOCK_WIDTH_PX as Ds, ASSISTANT_DOCK_WIDTH_VAR as Os, ASSISTANT_FLOATING_DESKTOP_CLASS as ks, ASSISTANT_OVERLAY_DEFAULT_TOP_PX as As, ASSISTANT_OVERLAY_DESKTOP_QUERY as js, ASSISTANT_OVERLAY_TOP_VAR as Ms, ASSISTANT_SHEET_BASE_CLASS as Ns, ASSISTANT_SHEET_COMPACT_CLASS as Ps, ASSISTANT_SHEET_EXPANDED_CLASS as Fs, ASSISTANT_TOGGLE_SHORTCUT_LABEL as Is, aboveAssistantBottomChrome as Ls, assistantOverlayClassName as Rs, assistantOverlayEscapeAction as zs, assistantOverlayKeys as Bs, assistantQuotaKindOf as Vs, createAssistantNavigate as Hs, isAssistantToggleShortcut as Us, nextAssistantOpenState as Ws, publishedAssistantDockWidth as Gs, readAssistantOverlayFlag as Ks, requestedAssistantOpenState as qs, writeAssistantOverlayFlag as Js } from "./shared/assistant/ui/assistantOverlayState.js";
130
+ import { AssistantOverlay as Ys, AssistantOverlayProvider as Xs, useAssistantDockWidth as Zs, useAssistantOverlayOrNull as Qs, useAssistantQuotaExhausted as $s } from "./shared/assistant/ui/AssistantOverlay.js";
131
+ export { Ei as ADMIN_MODE_ACCESS_WAIT_MS, Cs as AIAssistantPanel, q as ASSISTANT_API_AUTH_STRATEGY, ws as ASSISTANT_BOTTOM_CHROME_CLEARANCE, Ts as ASSISTANT_DIALOG_SELECTOR, Es as ASSISTANT_DOCKED_DESKTOP_CLASS, Ds as ASSISTANT_DOCK_WIDTH_PX, Os as ASSISTANT_DOCK_WIDTH_VAR, ks as ASSISTANT_FLOATING_DESKTOP_CLASS, xi as ASSISTANT_I18N_COMPUTED_COPY, Si as ASSISTANT_I18N_LITERAL_COPY, Ci as ASSISTANT_I18N_MANIFEST, sr as ASSISTANT_LANGUAGES, L as ASSISTANT_MODE_FALLBACK_LABELS, R as ASSISTANT_MODE_IDS, Mo as ASSISTANT_MODE_META, Fa as ASSISTANT_OVERLAY_ATTR, As as ASSISTANT_OVERLAY_DEFAULT_TOP_PX, js as ASSISTANT_OVERLAY_DESKTOP_QUERY, Ms as ASSISTANT_OVERLAY_TOP_VAR, Ia as ASSISTANT_PANEL_ATTR, Ns as ASSISTANT_SHEET_BASE_CLASS, Ps as ASSISTANT_SHEET_COMPACT_CLASS, Fs as ASSISTANT_SHEET_EXPANDED_CLASS, Is as ASSISTANT_TOGGLE_SHORTCUT_LABEL, Fr as ATTACHMENT_ACCEPT, vi as ATTACHMENT_SOURCES, Lo as AUTO_VOICE, xs as AssistantApiCallsConsentDialog, Ga as AssistantAttachmentButton, Ka as AssistantAttachmentChips, Ta as AssistantAutoSpeakToggle, ha as AssistantAvatar, Ss as AssistantChatArea, _s as AssistantComposer, Pa as AssistantConnectSourceItem, Ma as AssistantConnectSourceProvider, es as AssistantConversationList, ts as AssistantEmptyState, _o as AssistantEntityPreview, $o as AssistantHeader, s as AssistantI18nProvider, Oa as AssistantLanguageMenu, Ao as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, Ea as AssistantMessageAttachments, is as AssistantMessageItem, as as AssistantMessageList, No as AssistantModeSelector, Qo as AssistantMoreMenu, g as AssistantNavigateProvider, Ys as AssistantOverlay, Xs as AssistantOverlayProvider, Da as AssistantPendingWriteCard, Oo as AssistantPreviewBridgeHost, ko as AssistantPreviewOverlay, qa as AssistantPreviewProvider, t as AssistantProductProvider, ka as AssistantReplyLanguageSelector, Pe as AssistantRuntimeManager, Aa as AssistantSpeakButton, ga as AssistantSpeechProvider, ja as AssistantSpokenTurnsNotice, go as AssistantStepRail, da as AssistantToolActivity, ns as AssistantTurnActivity, Io as AssistantVoiceButton, zo as AssistantVoiceOrb, Ro as AssistantVoiceSelector, os as AssistantVoiceSession, Bo as AssistantVoiceSessionButton, Ir as AttachmentRejectedError, hr as BOILERPLATE_PAGE_SHARE, qe as BUILT_IN_MODE_CAPABILITIES, Vo as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, Lr as DEFAULT_INLINE_LIMITS, Bn as DEFAULT_SPEAKABLE_LABELS, cr as DEFAULT_SPEECH_RATE, tt as DEFAULT_STREAM_BUDGET_MS, Tn as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, jo 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, Pt as HOSTED_VOICE_RANK, To as HostedPreviewBridgeContext, co as IDLE_ACTIVE_TAB, Ui as IDLE_PLAYBACK, $a as IDLE_PREVIEW, Ya as IDLE_PREVIEW_STATE, bn as IDLE_ROTATION_CLOCK, nt as INCOMPLETE_TURN_NOTICES, En as INITIAL_SESSION, Rr as INLINE_IMAGE_MAX_DIM, zr as INLINE_IMAGE_QUALITY, Dn as INTERRUPT_MAX_MS, On as INTERRUPT_MIN_MS, Mi as LEGACY_WRITE_CONSENT_KEY, Je as MAX_ASSISTANT_STREAM_BUDGET_MS, Br as MAX_ATTACHMENTS, gr as MAX_BOILERPLATE_LINE_CHARS, Vr as MAX_CONFIGURABLE_INLINE_CHARS, _r as MAX_EXTRACTED_CHARS, Hr as MAX_FILE_BYTES, Ur as MAX_INLINE_CHARS_PER_FILE, Wr as MAX_INLINE_CHARS_TOTAL, ie as MAX_INLINE_IMAGE_BASE64_BYTES, Gr as MAX_INLINE_IMAGE_BASE64_CHARS, Kr as MAX_INLINE_IMAGE_PARTS, qr as MAX_INLINE_TURN_BODY_BYTES, vr as MAX_PDF_PAGES_SCANNED, ae as MAX_REQUEST_BODY_BYTES, Vn as MAX_SPEAKABLE_CHARS, Hn as MAX_SPOKEN_TABLE_ROWS, Jr as MAX_TURN_BODY_BYTES, Qn as MINI_CAPTION_BUDGET, yr as MIN_PAGE_TEXT_CHARS, br as MIN_TEXT_PAGE_SHARE, eo as NO_OWNER, La as NO_PANEL_OVERLAY, cn as PHRASE_ROTATE_MS, er as POLL_FAST_MS, tr as POLL_FAST_UNTIL_MS, nr as POLL_SLOW_MS, rr as POLL_STEADY_MS, ir as POLL_STEADY_UNTIL_MS, Xn as PREVIEW_LANGUAGES, V as PRODUCT_ASSISTANT_MODE_ID_MAX_LENGTH, H as PRODUCT_ASSISTANT_MODE_ID_PATTERN, Yr as PROMPT_ENVELOPE_RESERVE_BYTES, Xr as PROVIDER_READABLE_FILE_MEDIA_TYPES, N as PROXY_SANDBOX_REQUEST, yo as REDUCED_MOTION_ATTRIBUTE, bo as REDUCED_MOTION_QUERY, P as REPORT_AI_TOKEN_USAGE, oe as REQUEST_TOO_LARGE_REFUSAL, Sa as SANDBOX_READY_TTL_MS, kn 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, Un as SPEECH_CHUNK_CHARS, Wn as SPEECH_CHUNK_CJK_CHARS, Ft as SPEECH_LANG, zi as SPOKEN_LABEL_LANGUAGES, ln as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, rt as STREAM_BUDGET_MS, Ni as TAKE_ACTION_ENGLISH, un as THINKING_PHRASES, Zr as TURN_BODY_HEADROOM_BYTES, rs as TurnActivityLine, Ye as UNAVAILABLE_MODE_REFUSAL, Xe as UNDECLARED_MODE_CAPABILITIES, It as VOICE_LIST_TIMEOUT_MS, hn as VOICE_MUTED_LABEL, gn as VOICE_THINKING_LABEL, Ho as VoiceCaption, Uo as VoiceConversationView, qo as VoiceMiniController, Jo as VoiceStage, Go as VoiceStatusLine, Ko as VoiceStatusText, Yo as VoiceTranscriptDrawer, Wo as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, se as abortAssistantTurn, Ls as aboveAssistantBottomChrome, Ra as activePanelOverlay, Ze as adminOnlyModeSendRefusal, Di as adminOnlyModeSendRefusalAfterAccess, xn as advanceRotationClock, ds as aiCreditsUpdatedEventName, to as applyPreviewEvent, ce as approvePendingWrite, wi as assistantI18nSeedCopy, z as assistantModeFallbackLabel, Ti as assistantModeI18nCopy, Po as assistantModeMeta, Rs as assistantOverlayClassName, zs as assistantOverlayEscapeAction, Bs as assistantOverlayKeys, za as assistantPanelOwnsEscape, Vs as assistantQuotaKindOf, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, yi as availableAttachmentSources, Tt as base64ToBytes, y as browserShouldHandle, mt as browserSpeechEngine, ua as buildAssistantProgress, le as buildAssistantSandboxEnv, Qr as buildAttachmentPromptBlock, ji as buildBoundedAttachmentTurn, Ln as buildContinuedFromVoiceNote, Fe as buildProgress, ue as buildPromptGatewayRequest, $r as buildPromptParts, de as buildPromptRequestBody, ei as buildPromptWithAttachments, Et as buildRequest, E as buildSandboxContextInput, Rn as buildVoiceTranscriptMarkdown, U as builtInModeExtendedBy, st as chatTurns, fe as checkAssistantAiCredits, Gn as chunkForSpeech, b as classifyAssistantHref, ti as classifyAttachment, Dt as classifyHttpFailure, S as classifyQuotaError, xr as columnLetterToIndex, _n as composeVoiceStatus, Yt as configureSpeechEngine, Kn as containsCjk, d as copyToClipboard, ni as countInlineImageCandidates, ri as countInlinedImageParts, pa as countSpokenTurns, Oi as createAdminModeAccessGate, Hs as createAssistantNavigate, no as createAssistantPreviewSurface, pe as createAssistantSandbox, me as createAssistantSession, Mt as createHostedTtsEngine, Ca as createReadinessTracker, Jt as createRoutingSpeechEngine, oo as createRunIdentityCache, Ge as createSandboxAssistantTransport, Xt as createSpeechEngines, ro as currentPreviewOwner, W as declareAssistantMode, Ot as decodeAudioResponse, Sr as decodeXmlEntities, C as describeQuotaError, ii as detectDocumentFormat, Vi as detectScriptLocale, bi as deviceHasCamera, kt as disableDurationMs, fs as dispatchAssistantQuotaExhausted, Cr as docxXmlToText, he as downloadAssistantArtifact, Xo as downloadFile, aa as elapsedSince, Ba as escapeDismisses, ai as estimateTurnBodyBytes, D as executeSandboxGraphQL, Zo as exportConversation, ge as extendAssistantSandboxTTL, hs as extractDocumentText, lr as findAssistantLanguage, Qe as findAssistantModeConfig, _e as findExistingSandbox, pr as findPendingWrite, wr as fitPdfPages, Va as focusIsInsidePanel, oi as formatBytes, Tr as formatPageRanges, ve as forwardsUserTokensToSandbox, ya as getActorId, ye as getAssistantArtifacts, ia as getAssistantDisplayContent, Ie as getAssistantMedia, be as getAssistantMessages, xe as getAssistantSession, Se as getAssistantStreamAccess, Le as getAssistantText, si as getAttachmentSendBlocker, ee as getCapability, ci as getExtension, J as getImageForMode, Y as getImageTagForMode, ba as getOrganizationId, Re as getRawMessageCreatedAt, X as getResourcesForMode, Z as getSandboxImageRegistry, li as getSendableAttachments, Zt as getSpeechEngine, ze as getToolProgress, xa as getWorkspaceId, ct as groupBySession, lt as groupConsecutiveBySession, ui as hasAttachmentWorkInFlight, _t as hostedLocaleFor, vt as hostedSupportsLanguage, p as imageHostLabel, it as incompleteTurnNotice, G as isAssistantModeId, Us as isAssistantToggleShortcut, Xa as isBlankProse, B as isBuiltInAssistantMode, An as isCapturing, jn as isEcho, Lt as isHostedVoice, ea as isLegacyFiller, ta as isLegacyStopped, Er as isMostlyImagePages, ls as isMultimodalBodyRejection, vs as isProdRuntime, K as isProductAssistantModeId, di as isProviderReadableFilePart, w as isQuotaExhaustedError, Be as isReapedSandboxConnectionError, wa as isRecentlyVerified, Ve as isRecoverable, us as isRecoverableAssistantError, m as isRemoteImageSrc, Za as isRunningStatus, Wi as isSpeakingMessage, Rt as isSpeechBlocked, na as isStageCopy, Mn as isSubmittable, Zi as isTurnInFlight, te as isUnknownFieldError, ut as isVoiceTurn, Pi as isWriteModeAcknowledged, Dr as joinSheets, zt as languageDisplayName, fi as largestInlineCharsPerFile, He as mapSessionToHistory, ne as markSupported, re as markUnsupported, Ue as mergeMessagesById, Ji as mergePersistedAssistantState, tn as micIsInterrupt, Ce as modeRequiresConfirmWrites, oa as msUntilNextPhrase, lo as nextActiveTab, Ws as nextAssistantOpenState, Fo as nextModeIndex, Ha as nextPanelOverlays, Qa as nextPreviewEvents, Bt as normalizeLangTag, ps as notifyAiCreditsUpdated, Nn as orbMode, Or as pageMarker, Eo as panelOwnedPreviewBridge, Ua as panelOwnsEscape, mr as parseConfirmationRefusal, pi as parseDataUrl, kr as parseSharedStrings, fa as parseToolActivity, Ar as parseWorkbookSheets, jr as pdfTextItemsToPage, uo as pinActiveTab, Qi as planAbandonedTurn, Pn as planReplyConsumption, $i as planTurnAbort, ar as pollDelayMs, Vt as primaryLanguageSubtag, we as promptGatewayRequestBytes, Gs as publishedAssistantDockWidth, Gi as publishedChunks, T as quotaExhaustedEventName, Ks as readAssistantOverlayFlag, xo as readReducedMotion, Qt as readSpeechEngineConfig, Te as releaseSupersededAssistantSandboxes, dr as replyFollowsInput, Ee as reportAssistantAiTokenUsage, qs as requestedAssistantOpenState, Ki as requiresCancel, $t as resetSpeechEngine, Yi as resolveActiveModeSandbox, mi as resolveAssistantInlineLimits, ur as resolveAssistantLanguage, $e as resolveAssistantModeCapabilities, ki as resolveAssistantSendModeAfterAccess, fr as resolveLanguagePair, n as resolveModeConfig, Q as resolveSandboxAssistantMode, Hi as resolveSpeechLocale, Fi as restoreAcknowledgedWriteModes, Nt as retryDelayMs, Sn as rotationElapsedMs, io as runBelongsTo, so as runIdentities, ao as sameOwner, $ as sandboxBaseModeFor, We as sanitize, De as selectExistingAssistantSandbox, Oe as selectSupersededAssistantSandboxes, Ht as selectVoiceForLocale, ke as sendAssistantPromptAsync, Ae as sendHeartbeat, Mr as sheetXmlToRows, At as shouldDisableEngine, fo as shouldPinOnMove, po as shouldPinOnSelect, $n as showPreviousChunk, nn as showsAssistantCaption, rn as showsUserCaption, qn as speakableEmail, Ut as speechGate, Bi as speechLabelsFor, Wt as speechLangForLocale, qi as speechPlaybackReducer, jt as splitForVendor, Jn as splitTableRow, Fn as spokenSoFar, ma as spokenTurnText, dn as stageText, sa as startPhraseTicker, Cn as startRotationTicker, fn as statusStageCopy, mo as stepsFromToolActivity, je as stopReapedAssistantSandbox, at as streamBudgetMs, ra as stripLegacyFillerPrefix, So as subscribeReducedMotion, en as subscribeSpeechEngine, Nr as summarisePageText, wn as syncRotationClock, ho as tabForArrowKey, pn as thinkingPhrase, mn as thinkingPhraseEntry, or as toCaptionText, hi as toMessageAttachment, Yn as toSpeakableText, gi as truncateForInline, Pr as truncatePagesForInline, ca as turnActivityCopy, la as turnActivityStage, et as unofferedModeSendRefusal, Ai as unofferedModeSendRefusalAfterAccess, ss as useAssistantApiAccess, gs as useAssistantAttachments, Na as useAssistantConnectSource, Zs as useAssistantDockWidth, ys as useAssistantHeartbeat, l as useAssistantI18nNamespace, bs as useAssistantKeyboardShortcuts, x as useAssistantNavigate, Qs as useAssistantOverlayOrNull, r as useAssistantPageLabel, Ja as useAssistantPreview, wo as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, $s as useAssistantQuotaExhausted, _a as useAssistantSpeech, o as useAssistantStorageFolders, Xi as useAssistantStore, u as useAssistantTr, cs as useConversationTurns, Wa as useDropdownEscape, Do as useHostedAssistantPreviewBridge, vo as useOverlayFocus, Co as usePrefersReducedMotion, Ke as useSandboxAssistantTransport, e as useVoiceInput, va as useVoiceSession, ms as useWorkspaceWriteAccess, _i as validateFile, Gt as voiceAvailability, dt as voiceMarker, Zn as voicePreviewText, Kt as voiceQualityRank, ft as voiceSessionIdOf, In as voiceSessionReducer, an as voiceStageState, vn as voiceStatusParts, yn as voiceStatusSuffix, zn as voiceTranscriptFilename, pt as voiceTurnsOnly, qt as voicesForLocale, Me as waitForAssistantServiceReady, Ne as waitForSandboxRunning, on as waveformIsActive, sn as waveformIsSettled, ot as withIncompleteTurnNotice, Ii as withWriteModeAcknowledged, Js as writeAssistantOverlayFlag, Li as writeModeConsentCopy, Ri as writeModeSendRefusal };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.921.2",
3
+ "version": "2026.922.2",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {