@burdenoff/fe-libs 2026.914.2 → 2026.915.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/shared/assistant/i18nManifest.d.ts +335 -0
  2. package/dist/shared/assistant/i18nManifest.d.ts.map +1 -0
  3. package/dist/shared/assistant/i18nManifest.js +210 -0
  4. package/dist/shared/assistant/index.d.ts +2 -0
  5. package/dist/shared/assistant/index.d.ts.map +1 -1
  6. package/dist/shared/assistant/modeCopy.d.ts +27 -0
  7. package/dist/shared/assistant/modeCopy.d.ts.map +1 -0
  8. package/dist/shared/assistant/modeCopy.js +9 -0
  9. package/dist/shared/assistant/speech/browserSpeechEngine.d.ts.map +1 -1
  10. package/dist/shared/assistant/speech/browserSpeechEngine.js +53 -26
  11. package/dist/shared/assistant/speech/createSpeechEngine.d.ts +25 -2
  12. package/dist/shared/assistant/speech/createSpeechEngine.d.ts.map +1 -1
  13. package/dist/shared/assistant/speech/createSpeechEngine.js +36 -13
  14. package/dist/shared/assistant/speech/hostedTtsProtocol.d.ts +25 -1
  15. package/dist/shared/assistant/speech/hostedTtsProtocol.d.ts.map +1 -1
  16. package/dist/shared/assistant/speech/hostedTtsProtocol.js +15 -8
  17. package/dist/shared/assistant/speech/hostedTtsSpeechEngine.d.ts +16 -1
  18. package/dist/shared/assistant/speech/hostedTtsSpeechEngine.d.ts.map +1 -1
  19. package/dist/shared/assistant/speech/hostedTtsSpeechEngine.js +84 -52
  20. package/dist/shared/assistant/speech/hostedVoiceCatalogue.d.ts.map +1 -1
  21. package/dist/shared/assistant/speech/hostedVoiceCatalogue.js +2 -1
  22. package/dist/shared/assistant/speech/index.d.ts +1 -1
  23. package/dist/shared/assistant/speech/index.d.ts.map +1 -1
  24. package/dist/shared/assistant/speech/routingSpeechEngine.d.ts.map +1 -1
  25. package/dist/shared/assistant/speech/routingSpeechEngine.js +41 -20
  26. package/dist/shared/assistant/speech/types.d.ts +10 -0
  27. package/dist/shared/assistant/speech/types.d.ts.map +1 -1
  28. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
  29. package/dist/shared/assistant/ui/AssistantMessageItem.js +1 -1
  30. package/dist/shared/assistant/ui/AssistantPendingWriteCard.d.ts.map +1 -1
  31. package/dist/shared/assistant/ui/AssistantPendingWriteCard.js +1 -1
  32. package/dist/shared/assistant/ui/AssistantSpeechProvider.d.ts.map +1 -1
  33. package/dist/shared/assistant/ui/AssistantSpeechProvider.js +209 -190
  34. package/dist/shared/assistant/ui/composer/AssistantModeSelector.d.ts +7 -3
  35. package/dist/shared/assistant/ui/composer/AssistantModeSelector.d.ts.map +1 -1
  36. package/dist/shared/assistant/ui/composer/AssistantModeSelector.js +30 -29
  37. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
  38. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +1 -1
  39. package/dist/shared/assistant/voice/speechVoices.d.ts +15 -0
  40. package/dist/shared/assistant/voice/speechVoices.d.ts.map +1 -1
  41. package/dist/shared/assistant/voice/speechVoices.js +31 -26
  42. package/dist/shared-assistant.js +102 -100
  43. package/package.json +1 -1
@@ -22,7 +22,22 @@ export interface SpeechVoiceLike {
22
22
  readonly default?: boolean;
23
23
  /** On-device rather than server-side — no network, no latency, no vendor. */
24
24
  readonly localService?: boolean;
25
+ /**
26
+ * `'hosted'` for a voice our own TTS proxy speaks (`hostedVoiceCatalogue`).
27
+ * A platform `SpeechSynthesisVoice` never carries it.
28
+ *
29
+ * ★ An explicit marker rather than a name heuristic: a hosted voice id such as
30
+ * `en-IN-Chirp3-HD-Achernar` matches none of the words `voiceQualityRank`
31
+ * looks for, so ranking by name alone let Edge "Natural", Chrome "Google …"
32
+ * and Apple "Enhanced" voices outrank it — and the assistant spoke with the
33
+ * device voice even where hosted speech was configured and working.
34
+ */
35
+ readonly source?: 'hosted';
25
36
  }
37
+ /** A voice our hosted TTS proxy speaks, as opposed to one the device provides. */
38
+ export declare function isHostedVoice(voice: SpeechVoiceLike): boolean;
39
+ /** `voiceQualityRank` for every hosted voice — above any sum of device bonuses. */
40
+ export declare const HOSTED_VOICE_RANK = 1000;
26
41
  /** `en_GB`, `EN-gb` and `en-GB` are the same tag as far as matching goes. */
27
42
  export declare function normalizeLangTag(tag: string): string;
28
43
  /** `ta-IN` → `ta`. The part that decides whether a voice is intelligible at all. */
@@ -1 +1 @@
1
- {"version":3,"file":"speechVoices.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/voice/speechVoices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAU9C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;;;;;;;;GAcG;AACH;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAYpG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAa/D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,eAAe,EAC5D,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,CAAC,GAAG,IAAI,CAQV;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,eAAe,GAAG,WAAW,CAAC;AAEpG;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,MAAM,EAAE,MAAM,EACd,YAAY,UAAQ,GACnB,iBAAiB,CAInB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQjF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,iBAAiB,GAAG,OAAO,CAAC;AAE/D,wBAAgB,UAAU,CAAC,YAAY,EAAE,iBAAiB,GAAG,UAAU,CAItE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAExE;AAED,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,OAAQ,CAAC"}
1
+ {"version":3,"file":"speechVoices.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/voice/speechVoices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAU9C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;CAC5B;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAE7D;AAED,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;;;;;;;;GAcG;AACH;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAoBpG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAqB/D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,eAAe,EAC5D,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,CAAC,GAAG,IAAI,CAQV;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,eAAe,GAAG,WAAW,CAAC;AAEpG;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,MAAM,EAAE,MAAM,EACd,YAAY,UAAQ,GACnB,iBAAiB,CAInB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQjF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,iBAAiB,GAAG,OAAO,CAAC;AAE/D,wBAAgB,UAAU,CAAC,YAAY,EAAE,iBAAiB,GAAG,UAAU,CAItE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAExE;AAED,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,OAAQ,CAAC"}
@@ -11,28 +11,33 @@ var e = {
11
11
  ar: "ar-SA"
12
12
  };
13
13
  function t(e) {
14
+ return e.source === "hosted";
15
+ }
16
+ var n = 1e3;
17
+ function r(e) {
14
18
  return e.trim().toLowerCase().replace(/_/g, "-");
15
19
  }
16
- function n(e) {
17
- return t(e).split("-")[0];
20
+ function i(e) {
21
+ return r(e).split("-")[0];
18
22
  }
19
- function r(t) {
23
+ function a(t) {
20
24
  return e[t] ?? t;
21
25
  }
22
- function i(e, i) {
23
- let o = t(r(i)), s = n(o);
24
- if (!s) return [];
25
- let c = e.filter((e) => n(e.lang) === s);
26
- if (c.length === 0) return [];
27
- let l = c.filter((e) => t(e.lang) === o);
28
- return [...l.length > 0 ? l : c].sort((e, t) => a(t) - a(e));
26
+ function o(e, n) {
27
+ let o = r(a(n)), c = i(o);
28
+ if (!c) return [];
29
+ let l = e.filter((e) => i(e.lang) === c);
30
+ if (l.length === 0) return [];
31
+ let u = l.filter((e) => r(e.lang) === o), d = u.some(t) ? [] : l.filter(t);
32
+ return [...u.length > 0 ? [...u, ...d] : l].sort((e, t) => s(t) - s(e));
29
33
  }
30
- function a(e) {
31
- let t = e.name.toLowerCase(), n = 0;
32
- return /premium|enhanced/.test(t) && (n += 40), /neural|natural|wavenet/.test(t) && (n += 30), /google/.test(t) && (n += 20), e.localService === !1 && (n += 10), e.default && (n += 1), n;
34
+ function s(e) {
35
+ if (t(e)) return n;
36
+ let r = e.name.toLowerCase(), i = 0;
37
+ return /premium|enhanced/.test(r) && (i += 40), /neural|natural|wavenet/.test(r) && (i += 30), /google/.test(r) && (i += 20), e.localService === !1 && (i += 10), e.default && (i += 1), i;
33
38
  }
34
- function o(e, t, n) {
35
- let r = i(e, t);
39
+ function c(e, t, n) {
40
+ let r = o(e, t);
36
41
  if (r.length === 0) return null;
37
42
  if (n) {
38
43
  let e = r.find((e) => e.name === n);
@@ -40,24 +45,24 @@ function o(e, t, n) {
40
45
  }
41
46
  return r[0] ?? null;
42
47
  }
43
- function s(e, t, n, r = !1) {
44
- return e ? t.length === 0 ? r ? "no-voices" : "pending" : o(t, n) ? "ready" : "missing-voice" : "unsupported";
48
+ function l(e, t, n, r = !1) {
49
+ return e ? t.length === 0 ? r ? "no-voices" : "pending" : c(t, n) ? "ready" : "missing-voice" : "unsupported";
45
50
  }
46
- function c(e, t) {
47
- let r = n(e);
48
- if (!r) return e;
51
+ function u(e, t) {
52
+ let n = i(e);
53
+ if (!n) return e;
49
54
  try {
50
- return new Intl.DisplayNames([t], { type: "language" }).of(r) ?? r;
55
+ return new Intl.DisplayNames([t], { type: "language" }).of(n) ?? n;
51
56
  } catch {
52
- return r;
57
+ return n;
53
58
  }
54
59
  }
55
- function l(e) {
60
+ function d(e) {
56
61
  return e === "ready" ? "speak" : e === "pending" ? "wait-for-voices" : "block";
57
62
  }
58
- function u(e) {
63
+ function f(e) {
59
64
  return e === "missing-voice" || e === "no-voices";
60
65
  }
61
- var d = 2e3;
66
+ var p = 2e3;
62
67
  //#endregion
63
- export { e as SPEECH_LANG, d as VOICE_LIST_TIMEOUT_MS, u as isSpeechBlocked, c as languageDisplayName, t as normalizeLangTag, n as primaryLanguageSubtag, o as selectVoiceForLocale, l as speechGate, r as speechLangForLocale, s as voiceAvailability, a as voiceQualityRank, i as voicesForLocale };
68
+ export { n as HOSTED_VOICE_RANK, e as SPEECH_LANG, p as VOICE_LIST_TIMEOUT_MS, t as isHostedVoice, f as isSpeechBlocked, u as languageDisplayName, r as normalizeLangTag, i as primaryLanguageSubtag, c as selectVoiceForLocale, d as speechGate, a as speechLangForLocale, l as voiceAvailability, s as voiceQualityRank, o as voicesForLocale };
@@ -18,103 +18,105 @@ import { DEFAULT_STREAM_BUDGET_MS as Ae, STREAM_BUDGET_MS as je, incompleteTurnN
18
18
  import { chatTurns as Fe, groupBySession as Ie, groupConsecutiveBySession as Le, isVoiceTurn as Re, voiceMarker as ze, voiceSessionIdOf as Be, voiceTurnsOnly as Ve } from "./shared/assistant/voice/turnVisibility.js";
19
19
  import { browserSpeechEngine as He } from "./shared/assistant/speech/browserSpeechEngine.js";
20
20
  import { HOSTED_TTS_TIER as Ue, HOSTED_VOICES as We, hostedLocaleFor as Ge, hostedSupportsLanguage as Ke } from "./shared/assistant/speech/hostedVoiceCatalogue.js";
21
- import { HOSTED_TTS_MAX_CHARS as qe, SPEAKING_RATE_MAX as Je, SPEAKING_RATE_MAX_STREAMING as Ye, SPEAKING_RATE_MAX_SYNC as Xe, SPEAKING_RATE_MIN as Ze, base64ToBytes as Qe, buildRequest as $e, classifyHttpFailure as et, decodeAudioResponse as tt, shouldDisableEngine as nt, splitForVendor as rt } from "./shared/assistant/speech/hostedTtsProtocol.js";
22
- import { createHostedTtsEngine as it } from "./shared/assistant/speech/hostedTtsSpeechEngine.js";
23
- import { createRoutingSpeechEngine as at } from "./shared/assistant/speech/routingSpeechEngine.js";
24
- import { configureSpeechEngine as ot, createSpeechEngines as st, getSpeechEngine as ct, readSpeechEngineConfig as lt, resetSpeechEngine as ut } from "./shared/assistant/speech/createSpeechEngine.js";
25
- import { micIsInterrupt as dt, showsAssistantCaption as ft, showsUserCaption as pt, voiceStageState as mt, waveformIsActive as ht, waveformIsSettled as gt } from "./shared/assistant/voice/voiceStageState.js";
26
- import { PHRASE_ROTATE_MS as _t, STAGE_COPY as vt, THINKING_PHRASES as yt, stageText as bt, statusStageCopy as xt, thinkingPhrase as St, thinkingPhraseEntry as Ct } from "./shared/assistant/stageCopy.js";
27
- import { VOICE_MUTED_LABEL as wt, VOICE_THINKING_LABEL as Tt, composeVoiceStatus as Et, voiceStatusParts as Dt, voiceStatusSuffix as Ot } from "./shared/assistant/voice/voiceStatus.js";
28
- import { IDLE_ROTATION_CLOCK as kt, advanceRotationClock as At, rotationElapsedMs as jt, startRotationTicker as Mt, syncRotationClock as Nt } from "./shared/assistant/voice/rotationClock.js";
29
- import { ENDPOINT_GRACE_MS as Pt, INITIAL_SESSION as Ft, INTERRUPT_MAX_MS as It, INTERRUPT_MIN_MS as Lt, SILENCE_SUBMIT_MS as Rt, isCapturing as zt, isEcho as Bt, isSubmittable as Vt, orbMode as Ht, planReplyConsumption as Ut, spokenSoFar as Wt, voiceSessionReducer as Gt } from "./shared/assistant/voice/voiceSession.js";
30
- import { SPEECH_LANG as Kt, VOICE_LIST_TIMEOUT_MS as qt, isSpeechBlocked as Jt, languageDisplayName as Yt, normalizeLangTag as Xt, primaryLanguageSubtag as Zt, selectVoiceForLocale as Qt, speechGate as $t, speechLangForLocale as en, voiceAvailability as tn, voiceQualityRank as nn, voicesForLocale as rn } from "./shared/assistant/voice/speechVoices.js";
31
- import { buildContinuedFromVoiceNote as an, buildVoiceTranscriptMarkdown as on, voiceTranscriptFilename as sn } from "./shared/assistant/voice/voiceTranscript.js";
32
- import { DEFAULT_SPEAKABLE_LABELS as cn, MAX_SPEAKABLE_CHARS as ln, MAX_SPOKEN_TABLE_ROWS as un, SPEECH_CHUNK_CHARS as dn, SPEECH_CHUNK_CJK_CHARS as fn, chunkForSpeech as pn, containsCjk as mn, speakableEmail as hn, splitTableRow as gn, toSpeakableText as _n } from "./shared/assistant/voice/speakableText.js";
33
- import { PREVIEW_LANGUAGES as vn, voicePreviewText as yn } from "./shared/assistant/voice/voicePreview.js";
34
- import { MINI_CAPTION_BUDGET as bn, showPreviousChunk as xn } from "./shared/assistant/voice/miniCaptionBudget.js";
35
- import { POLL_FAST_MS as Sn, POLL_FAST_UNTIL_MS as Cn, POLL_SLOW_MS as wn, POLL_STEADY_MS as Tn, POLL_STEADY_UNTIL_MS as En, pollDelayMs as Dn } from "./shared/assistant/voice/assistantPollSchedule.js";
36
- import { toCaptionText as On } from "./shared/assistant/voice/captionText.js";
37
- import { ASSISTANT_LANGUAGES as kn, DEFAULT_SPEECH_RATE as An, findAssistantLanguage as jn, resolveAssistantLanguage as Mn } from "./shared/assistant/voice/languages.js";
38
- import { replyFollowsInput as Nn, resolveLanguagePair as Pn } from "./shared/assistant/voice/languagePair.js";
39
- import { findPendingWrite as Fn, parseConfirmationRefusal as In } from "./shared/assistant/pendingWrite.js";
40
- import { SPOKEN_LABEL_LANGUAGES as Ln, speechLabelsFor as Rn } from "./shared/assistant/voice/speechLabels.js";
41
- import { detectScriptLocale as zn, resolveSpeechLocale as Bn } from "./shared/assistant/voice/replyLanguage.js";
42
- import { IDLE_PLAYBACK as Vn, isSpeakingMessage as Hn, publishedChunks as Un, requiresCancel as Wn, speechPlaybackReducer as Gn } from "./shared/assistant/voice/speechPlayback.js";
43
- import { MAX_INLINE_IMAGE_BASE64_BYTES as Kn, MAX_REQUEST_BODY_BYTES as qn } from "./shared/assistant/gatewayLimits.js";
44
- import { BOILERPLATE_PAGE_SHARE as Jn, MAX_BOILERPLATE_LINE_CHARS as Yn, MAX_EXTRACTED_CHARS as Xn, MAX_PDF_PAGES_SCANNED as Zn, MIN_PAGE_TEXT_CHARS as Qn, MIN_TEXT_PAGE_SHARE as $n, columnLetterToIndex as er, decodeXmlEntities as tr, docxXmlToText as nr, fitPdfPages as rr, formatPageRanges as ir, isMostlyImagePages as ar, joinSheets as or, pageMarker as sr, parseSharedStrings as cr, parseWorkbookSheets as lr, pdfTextItemsToPage as ur, sheetXmlToRows as dr, summarisePageText as fr, truncatePagesForInline as pr } from "./shared/assistant/documentText.js";
45
- import { ATTACHMENT_ACCEPT as mr, AttachmentRejectedError as hr, INLINE_IMAGE_MAX_DIM as gr, INLINE_IMAGE_QUALITY as _r, MAX_ATTACHMENTS as vr, MAX_FILE_BYTES as yr, MAX_INLINE_CHARS_PER_FILE as br, MAX_INLINE_CHARS_TOTAL as xr, MAX_INLINE_IMAGE_BASE64_CHARS as Sr, MAX_INLINE_IMAGE_PARTS as Cr, MAX_INLINE_TURN_BODY_BYTES as wr, MAX_TURN_BODY_BYTES as Tr, PROMPT_ENVELOPE_RESERVE_BYTES as Er, PROVIDER_READABLE_FILE_MEDIA_TYPES as Dr, TURN_BODY_HEADROOM_BYTES as Or, buildAttachmentPromptBlock as kr, buildPromptParts as Ar, buildPromptWithAttachments as jr, classifyAttachment as Mr, countInlineImageCandidates as Nr, countInlinedImageParts as Pr, detectDocumentFormat as Fr, estimateTurnBodyBytes as Ir, formatBytes as Lr, getAttachmentSendBlocker as Rr, getExtension as zr, getSendableAttachments as Br, hasAttachmentWorkInFlight as Vr, isProviderReadableFilePart as Hr, parseDataUrl as Ur, toMessageAttachment as Wr, truncateForInline as Gr, validateFile as Kr } from "./shared/assistant/attachments.js";
46
- import { useAssistantStore as qr } from "./shared/assistant/store.js";
47
- import { isTurnInFlight as Jr, planAbandonedTurn as Yr, planTurnAbort as Xr } from "./shared/assistant/turnState.js";
48
- import { isLegacyFiller as Zr, isLegacyStopped as Qr, isStageCopy as $r, stripLegacyFillerPrefix as ei } from "./shared/assistant/legacyFiller.js";
49
- import { getAssistantDisplayContent as ti } from "./shared/assistant/displayContent.js";
50
- import { elapsedSince as ni, msUntilNextPhrase as ri, startPhraseTicker as ii, turnActivityCopy as ai, turnActivityStage as oi } from "./shared/assistant/turnActivity.js";
51
- import { buildAssistantProgress as si } from "./shared/assistant/turnProgress.js";
52
- import { AssistantToolActivity as ci, parseToolActivity as li } from "./shared/assistant/ui/AssistantToolActivity.js";
53
- import { countSpokenTurns as ui, spokenTurnText as di } from "./shared/assistant/spokenTurns.js";
54
- import { AssistantAvatar as fi } from "./shared/assistant/ui/AssistantAvatar.js";
55
- import { AssistantSpeechProvider as pi, useAssistantSpeech as mi } from "./shared/assistant/ui/AssistantSpeechProvider.js";
56
- import { useVoiceSession as hi } from "./shared/assistant/ui/useVoiceSession.js";
57
- import { getActorId as gi, getOrganizationId as _i, getWorkspaceId as vi } from "./shared/assistant/context.js";
58
- import { ATTACHMENT_SOURCES as yi, availableAttachmentSources as bi, deviceHasCamera as xi } from "./shared/assistant/attachmentSources.js";
59
- import { SANDBOX_READY_TTL_MS as Si, createReadinessTracker as Ci, isRecentlyVerified as wi } from "./shared/assistant/sandboxReadiness.js";
60
- import { AssistantAutoSpeakToggle as Ti } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
61
- import { AssistantMessageAttachments as Ei } from "./shared/assistant/ui/AssistantMessageAttachments.js";
62
- import { AssistantPendingWriteCard as Di } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
63
- import { AssistantLanguageMenu as Oi } from "./shared/assistant/ui/AssistantLanguageMenu.js";
64
- import { AssistantReplyLanguageSelector as ki } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
65
- import { AssistantSpeakButton as Ai } from "./shared/assistant/ui/AssistantSpeakButton.js";
66
- import { AssistantSpokenTurnsNotice as ji } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
67
- import { AssistantConnectSourceProvider as Mi, useAssistantConnectSource as Ni } from "./shared/assistant/ui/composer/connectSource.js";
68
- import { AssistantConnectSourceItem as Pi } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
69
- import { ASSISTANT_OVERLAY_ATTR as Fi, ASSISTANT_PANEL_ATTR as Ii, NO_PANEL_OVERLAY as Li, activePanelOverlay as Ri, assistantPanelOwnsEscape as zi, escapeDismisses as Bi, focusIsInsidePanel as Vi, nextPanelOverlays as Hi, panelOwnsEscape as Ui } from "./shared/assistant/ui/panelOverlays.js";
70
- import { useDropdownEscape as Wi } from "./shared/assistant/ui/useDropdownEscape.js";
71
- import { AssistantAttachmentButton as Gi } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
72
- import { AssistantAttachmentChips as Ki } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
73
- import { AssistantPreviewProvider as qi, useAssistantPreview as Ji } from "./shared/assistant/preview/context.js";
74
- import { IDLE_PREVIEW_STATE as Yi, isBlankProse as Xi, isRunningStatus as Zi, nextPreviewEvents as Qi } from "./shared/assistant/preview/previewTransitions.js";
75
- import { IDLE_PREVIEW as $i, NO_OWNER as ea, applyPreviewEvent as ta, createAssistantPreviewSurface as na, currentPreviewOwner as ra, runBelongsTo as ia, sameOwner as aa } from "./shared/assistant/preview/surfaceState.js";
76
- import { createRunIdentityCache as oa, runIdentities as sa } from "./shared/assistant/preview/runIdentity.js";
77
- import { IDLE_ACTIVE_TAB as ca, nextActiveTab as la, pinActiveTab as ua, shouldPinOnMove as da, shouldPinOnSelect as fa, stepsFromToolActivity as pa, tabForArrowKey as ma } from "./shared/assistant/preview/entity/entityPreviewState.js";
78
- import { AssistantStepRail as ha } from "./shared/assistant/preview/entity/AssistantStepRail.js";
79
- import { AssistantEntityPreview as ga } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
80
- import { useOverlayFocus as _a } from "./shared/assistant/ui/useOverlayFocus.js";
81
- import { REDUCED_MOTION_ATTRIBUTE as va, REDUCED_MOTION_QUERY as ya, readReducedMotion as ba, subscribeReducedMotion as xa, usePrefersReducedMotion as Sa } from "./shared/assistant/ui/usePrefersReducedMotion.js";
82
- import { useAssistantPreviewBridge as Ca } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
83
- import { AssistantPreviewOverlay as wa } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
84
- import { AssistantLanguageSelector as Ta, FOLLOW_APP_LOCALE as Ea } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
85
- import { ASSISTANT_MODE_META as Da, AssistantModeSelector as Oa, nextModeIndex as ka } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
86
- import { AssistantVoiceButton as Aa } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
87
- import { AUTO_VOICE as ja, AssistantVoiceSelector as Ma } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
88
- import { AssistantVoiceOrb as Na } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
89
- import { AssistantVoiceSessionButton as Pa } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
90
- import { CAPTION_SCROLL_ATTR as Fa, VoiceCaption as Ia } from "./shared/assistant/ui/voice/VoiceCaption.js";
91
- import { VoiceConversationView as La } from "./shared/assistant/ui/voice/VoiceConversationView.js";
92
- import { VoiceWaveform as Ra } from "./shared/assistant/ui/voice/VoiceWaveform.js";
93
- import { VoiceStatusLine as za, VoiceStatusText as Ba } from "./shared/assistant/ui/voice/VoiceStatusText.js";
94
- import { VoiceMiniController as Va } from "./shared/assistant/ui/voice/VoiceMiniController.js";
95
- import { VoiceStage as Ha } from "./shared/assistant/ui/voice/VoiceStage.js";
96
- import { VoiceTranscriptDrawer as Ua } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
97
- import { downloadFile as Wa, exportConversation as Ga } from "./shared/assistant/exportConversation.js";
98
- import { AssistantMoreMenu as Ka } from "./shared/assistant/ui/AssistantMoreMenu.js";
99
- import { AssistantHeader as qa } from "./shared/assistant/ui/AssistantHeader.js";
100
- import { AssistantConversationList as Ja } from "./shared/assistant/ui/AssistantConversationList.js";
101
- import { AssistantEmptyState as Ya } from "./shared/assistant/ui/AssistantEmptyState.js";
102
- import { AssistantTurnActivity as Xa, TurnActivityLine as Za } from "./shared/assistant/ui/AssistantTurnActivity.js";
103
- import { AssistantMessageItem as Qa } from "./shared/assistant/ui/AssistantMessageItem.js";
104
- import { AssistantMessageList as $a } from "./shared/assistant/ui/AssistantMessageList.js";
105
- import { AssistantVoiceSession as eo } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
106
- import { useAssistantApiAccess as to } from "./shared/assistant/useAssistantApiAccess.js";
107
- import { useConversationTurns as no } from "./shared/assistant/useConversationTurns.js";
108
- import { isMultimodalBodyRejection as ro, isRecoverableAssistantError as io } from "./shared/assistant/transportErrors.js";
109
- import { aiCreditsUpdatedEventName as ao, dispatchAssistantQuotaExhausted as oo, notifyAiCreditsUpdated as so } from "./shared/assistant/aiCredits.js";
110
- import { useWorkspaceWriteAccess as co } from "./shared/assistant/useWorkspaceWriteAccess.js";
111
- import { extractDocumentText as lo } from "./shared/assistant/documentExtract.js";
112
- import { useAssistantAttachments as uo } from "./shared/assistant/useAssistantAttachments.js";
113
- import { AssistantComposer as fo } from "./shared/assistant/ui/composer/AssistantComposer.js";
114
- import { isProdRuntime as po } from "./shared/assistant/env.js";
115
- import { useAssistantHeartbeat as mo } from "./shared/assistant/useAssistantHeartbeat.js";
116
- import { useAssistantKeyboardShortcuts as ho } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
117
- import { AssistantApiCallsConsentDialog as go } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
118
- import { AssistantChatArea as _o } from "./shared/assistant/ui/AssistantChatArea.js";
119
- import { AIAssistantPanel as vo } from "./shared/assistant/ui/AIAssistantPanel.js";
120
- export { vo as AIAssistantPanel, L as ASSISTANT_API_AUTH_STRATEGY, kn as ASSISTANT_LANGUAGES, Da as ASSISTANT_MODE_META, Fi as ASSISTANT_OVERLAY_ATTR, Ii as ASSISTANT_PANEL_ATTR, mr as ATTACHMENT_ACCEPT, yi as ATTACHMENT_SOURCES, ja as AUTO_VOICE, go as AssistantApiCallsConsentDialog, Gi as AssistantAttachmentButton, Ki as AssistantAttachmentChips, Ti as AssistantAutoSpeakToggle, fi as AssistantAvatar, _o as AssistantChatArea, fo as AssistantComposer, Pi as AssistantConnectSourceItem, Mi as AssistantConnectSourceProvider, Ja as AssistantConversationList, Ya as AssistantEmptyState, ga as AssistantEntityPreview, qa as AssistantHeader, s as AssistantI18nProvider, Oi as AssistantLanguageMenu, Ta as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, Ei as AssistantMessageAttachments, Qa as AssistantMessageItem, $a as AssistantMessageList, Oa as AssistantModeSelector, Ka as AssistantMoreMenu, g as AssistantNavigateProvider, Di as AssistantPendingWriteCard, wa as AssistantPreviewOverlay, qi as AssistantPreviewProvider, t as AssistantProductProvider, ki as AssistantReplyLanguageSelector, _e as AssistantRuntimeManager, Ai as AssistantSpeakButton, pi as AssistantSpeechProvider, ji as AssistantSpokenTurnsNotice, ha as AssistantStepRail, ci as AssistantToolActivity, Xa as AssistantTurnActivity, Aa as AssistantVoiceButton, Na as AssistantVoiceOrb, Ma as AssistantVoiceSelector, eo as AssistantVoiceSession, Pa as AssistantVoiceSessionButton, hr as AttachmentRejectedError, Jn as BOILERPLATE_PAGE_SHARE, Fa as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, cn as DEFAULT_SPEAKABLE_LABELS, An as DEFAULT_SPEECH_RATE, Ae as DEFAULT_STREAM_BUDGET_MS, Pt as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, Ea as FOLLOW_APP_LOCALE, j as GET_ACTIVE_SANDBOXES, M as GET_SANDBOX, qe as HOSTED_TTS_MAX_CHARS, Ue as HOSTED_TTS_TIER, We as HOSTED_VOICES, ca as IDLE_ACTIVE_TAB, Vn as IDLE_PLAYBACK, $i as IDLE_PREVIEW, Yi as IDLE_PREVIEW_STATE, kt as IDLE_ROTATION_CLOCK, Ft as INITIAL_SESSION, gr as INLINE_IMAGE_MAX_DIM, _r as INLINE_IMAGE_QUALITY, It as INTERRUPT_MAX_MS, Lt as INTERRUPT_MIN_MS, vr as MAX_ATTACHMENTS, Yn as MAX_BOILERPLATE_LINE_CHARS, Xn as MAX_EXTRACTED_CHARS, yr as MAX_FILE_BYTES, br as MAX_INLINE_CHARS_PER_FILE, xr as MAX_INLINE_CHARS_TOTAL, Kn as MAX_INLINE_IMAGE_BASE64_BYTES, Sr as MAX_INLINE_IMAGE_BASE64_CHARS, Cr as MAX_INLINE_IMAGE_PARTS, wr as MAX_INLINE_TURN_BODY_BYTES, Zn as MAX_PDF_PAGES_SCANNED, qn as MAX_REQUEST_BODY_BYTES, ln as MAX_SPEAKABLE_CHARS, un as MAX_SPOKEN_TABLE_ROWS, Tr as MAX_TURN_BODY_BYTES, bn as MINI_CAPTION_BUDGET, Qn as MIN_PAGE_TEXT_CHARS, $n as MIN_TEXT_PAGE_SHARE, ea as NO_OWNER, Li as NO_PANEL_OVERLAY, _t as PHRASE_ROTATE_MS, Sn as POLL_FAST_MS, Cn as POLL_FAST_UNTIL_MS, wn as POLL_SLOW_MS, Tn as POLL_STEADY_MS, En as POLL_STEADY_UNTIL_MS, vn as PREVIEW_LANGUAGES, Er as PROMPT_ENVELOPE_RESERVE_BYTES, Dr as PROVIDER_READABLE_FILE_MEDIA_TYPES, N as PROXY_SANDBOX_REQUEST, va as REDUCED_MOTION_ATTRIBUTE, ya as REDUCED_MOTION_QUERY, P as REPORT_AI_TOKEN_USAGE, Si as SANDBOX_READY_TTL_MS, Rt as SILENCE_SUBMIT_MS, Je as SPEAKING_RATE_MAX, Ye as SPEAKING_RATE_MAX_STREAMING, Xe as SPEAKING_RATE_MAX_SYNC, Ze as SPEAKING_RATE_MIN, dn as SPEECH_CHUNK_CHARS, fn as SPEECH_CHUNK_CJK_CHARS, Kt as SPEECH_LANG, Ln as SPOKEN_LABEL_LANGUAGES, vt as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, je as STREAM_BUDGET_MS, yt as THINKING_PHRASES, Or as TURN_BODY_HEADROOM_BYTES, Za as TurnActivityLine, qt as VOICE_LIST_TIMEOUT_MS, wt as VOICE_MUTED_LABEL, Tt as VOICE_THINKING_LABEL, Ia as VoiceCaption, La as VoiceConversationView, Va as VoiceMiniController, Ha as VoiceStage, za as VoiceStatusLine, Ba as VoiceStatusText, Ua as VoiceTranscriptDrawer, Ra as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, q as abortAssistantTurn, Ri as activePanelOverlay, At as advanceRotationClock, ao as aiCreditsUpdatedEventName, ta as applyPreviewEvent, J as approvePendingWrite, zi as assistantPanelOwnsEscape, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, bi as availableAttachmentSources, Qe as base64ToBytes, y as browserShouldHandle, He as browserSpeechEngine, si as buildAssistantProgress, Y as buildAssistantSandboxEnv, kr as buildAttachmentPromptBlock, an as buildContinuedFromVoiceNote, ve as buildProgress, Ar as buildPromptParts, X as buildPromptRequestBody, jr as buildPromptWithAttachments, $e as buildRequest, E as buildSandboxContextInput, on as buildVoiceTranscriptMarkdown, Fe as chatTurns, Z as checkAssistantAiCredits, pn as chunkForSpeech, b as classifyAssistantHref, Mr as classifyAttachment, et as classifyHttpFailure, S as classifyQuotaError, er as columnLetterToIndex, Et as composeVoiceStatus, ot as configureSpeechEngine, mn as containsCjk, d as copyToClipboard, Nr as countInlineImageCandidates, Pr as countInlinedImageParts, ui as countSpokenTurns, na as createAssistantPreviewSurface, Q as createAssistantSandbox, $ as createAssistantSession, it as createHostedTtsEngine, Ci as createReadinessTracker, at as createRoutingSpeechEngine, oa as createRunIdentityCache, Oe as createSandboxAssistantTransport, st as createSpeechEngines, ra as currentPreviewOwner, tt as decodeAudioResponse, tr as decodeXmlEntities, C as describeQuotaError, Fr as detectDocumentFormat, zn as detectScriptLocale, xi as deviceHasCamera, oo as dispatchAssistantQuotaExhausted, nr as docxXmlToText, ee as downloadAssistantArtifact, Wa as downloadFile, ni as elapsedSince, Bi as escapeDismisses, Ir as estimateTurnBodyBytes, D as executeSandboxGraphQL, Ga as exportConversation, te as extendAssistantSandboxTTL, lo as extractDocumentText, jn as findAssistantLanguage, ne as findExistingSandbox, Fn as findPendingWrite, rr as fitPdfPages, Vi as focusIsInsidePanel, Lr as formatBytes, ir as formatPageRanges, gi as getActorId, re as getAssistantArtifacts, ti as getAssistantDisplayContent, ye as getAssistantMedia, ie as getAssistantMessages, ae as getAssistantSession, oe as getAssistantStreamAccess, be as getAssistantText, Rr as getAttachmentSendBlocker, U as getCapability, zr as getExtension, R as getImageForMode, z as getImageTagForMode, _i as getOrganizationId, xe as getRawMessageCreatedAt, B as getResourcesForMode, V as getSandboxImageRegistry, Br as getSendableAttachments, ct as getSpeechEngine, Se as getToolProgress, vi as getWorkspaceId, Ie as groupBySession, Le as groupConsecutiveBySession, Vr as hasAttachmentWorkInFlight, Ge as hostedLocaleFor, Ke as hostedSupportsLanguage, p as imageHostLabel, Me as incompleteTurnNotice, Xi as isBlankProse, zt as isCapturing, Bt as isEcho, Zr as isLegacyFiller, Qr as isLegacyStopped, ar as isMostlyImagePages, ro as isMultimodalBodyRejection, po as isProdRuntime, Hr as isProviderReadableFilePart, w as isQuotaExhaustedError, Ce as isReapedSandboxConnectionError, wi as isRecentlyVerified, we as isRecoverable, io as isRecoverableAssistantError, m as isRemoteImageSrc, Zi as isRunningStatus, Hn as isSpeakingMessage, Jt as isSpeechBlocked, $r as isStageCopy, Vt as isSubmittable, Jr as isTurnInFlight, W as isUnknownFieldError, Re as isVoiceTurn, or as joinSheets, Yt as languageDisplayName, Te as mapSessionToHistory, G as markSupported, K as markUnsupported, Ee as mergeMessagesById, dt as micIsInterrupt, se as modeRequiresConfirmWrites, ri as msUntilNextPhrase, la as nextActiveTab, ka as nextModeIndex, Hi as nextPanelOverlays, Qi as nextPreviewEvents, Xt as normalizeLangTag, so as notifyAiCreditsUpdated, Ht as orbMode, sr as pageMarker, Ui as panelOwnsEscape, In as parseConfirmationRefusal, Ur as parseDataUrl, cr as parseSharedStrings, li as parseToolActivity, lr as parseWorkbookSheets, ur as pdfTextItemsToPage, ua as pinActiveTab, Yr as planAbandonedTurn, Ut as planReplyConsumption, Xr as planTurnAbort, Dn as pollDelayMs, Zt as primaryLanguageSubtag, Un as publishedChunks, T as quotaExhaustedEventName, ba as readReducedMotion, lt as readSpeechEngineConfig, ce as releaseSupersededAssistantSandboxes, Nn as replyFollowsInput, le as reportAssistantAiTokenUsage, Wn as requiresCancel, ut as resetSpeechEngine, Mn as resolveAssistantLanguage, Pn as resolveLanguagePair, n as resolveModeConfig, H as resolveSandboxAssistantMode, Bn as resolveSpeechLocale, jt as rotationElapsedMs, ia as runBelongsTo, sa as runIdentities, aa as sameOwner, De as sanitize, ue as selectExistingAssistantSandbox, de as selectSupersededAssistantSandboxes, Qt as selectVoiceForLocale, fe as sendAssistantPromptAsync, pe as sendHeartbeat, dr as sheetXmlToRows, nt as shouldDisableEngine, da as shouldPinOnMove, fa as shouldPinOnSelect, xn as showPreviousChunk, ft as showsAssistantCaption, pt as showsUserCaption, hn as speakableEmail, $t as speechGate, Rn as speechLabelsFor, en as speechLangForLocale, Gn as speechPlaybackReducer, rt as splitForVendor, gn as splitTableRow, Wt as spokenSoFar, di as spokenTurnText, bt as stageText, ii as startPhraseTicker, Mt as startRotationTicker, xt as statusStageCopy, pa as stepsFromToolActivity, me as stopReapedAssistantSandbox, Ne as streamBudgetMs, ei as stripLegacyFillerPrefix, xa as subscribeReducedMotion, fr as summarisePageText, Nt as syncRotationClock, ma as tabForArrowKey, St as thinkingPhrase, Ct as thinkingPhraseEntry, On as toCaptionText, Wr as toMessageAttachment, _n as toSpeakableText, Gr as truncateForInline, pr as truncatePagesForInline, ai as turnActivityCopy, oi as turnActivityStage, to as useAssistantApiAccess, uo as useAssistantAttachments, Ni as useAssistantConnectSource, mo as useAssistantHeartbeat, l as useAssistantI18nNamespace, ho as useAssistantKeyboardShortcuts, x as useAssistantNavigate, r as useAssistantPageLabel, Ji as useAssistantPreview, Ca as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, mi as useAssistantSpeech, o as useAssistantStorageFolders, qr as useAssistantStore, u as useAssistantTr, no as useConversationTurns, Wi as useDropdownEscape, _a as useOverlayFocus, Sa as usePrefersReducedMotion, ke as useSandboxAssistantTransport, e as useVoiceInput, hi as useVoiceSession, co as useWorkspaceWriteAccess, Kr as validateFile, tn as voiceAvailability, ze as voiceMarker, yn as voicePreviewText, nn as voiceQualityRank, Be as voiceSessionIdOf, Gt as voiceSessionReducer, mt as voiceStageState, Dt as voiceStatusParts, Ot as voiceStatusSuffix, sn as voiceTranscriptFilename, Ve as voiceTurnsOnly, rn as voicesForLocale, he as waitForAssistantServiceReady, ge as waitForSandboxRunning, ht as waveformIsActive, gt as waveformIsSettled, Pe as withIncompleteTurnNotice };
21
+ import { HOSTED_DISABLE_MS as qe, HOSTED_TTS_MAX_CHARS as Je, SPEAKING_RATE_MAX as Ye, SPEAKING_RATE_MAX_STREAMING as Xe, SPEAKING_RATE_MAX_SYNC as Ze, SPEAKING_RATE_MIN as Qe, base64ToBytes as $e, buildRequest as et, classifyHttpFailure as tt, decodeAudioResponse as nt, disableDurationMs as rt, shouldDisableEngine as it, splitForVendor as at } from "./shared/assistant/speech/hostedTtsProtocol.js";
22
+ import { createHostedTtsEngine as ot } from "./shared/assistant/speech/hostedTtsSpeechEngine.js";
23
+ import { HOSTED_VOICE_RANK as st, SPEECH_LANG as ct, VOICE_LIST_TIMEOUT_MS as lt, isHostedVoice as ut, isSpeechBlocked as dt, languageDisplayName as ft, normalizeLangTag as pt, primaryLanguageSubtag as mt, selectVoiceForLocale as ht, speechGate as gt, speechLangForLocale as _t, voiceAvailability as vt, voiceQualityRank as yt, voicesForLocale as bt } from "./shared/assistant/voice/speechVoices.js";
24
+ import { createRoutingSpeechEngine as xt } from "./shared/assistant/speech/routingSpeechEngine.js";
25
+ import { configureSpeechEngine as St, createSpeechEngines as Ct, getSpeechEngine as wt, readSpeechEngineConfig as Tt, resetSpeechEngine as Et, subscribeSpeechEngine as Dt } from "./shared/assistant/speech/createSpeechEngine.js";
26
+ import { micIsInterrupt as Ot, showsAssistantCaption as kt, showsUserCaption as At, voiceStageState as jt, waveformIsActive as Mt, waveformIsSettled as Nt } from "./shared/assistant/voice/voiceStageState.js";
27
+ import { PHRASE_ROTATE_MS as Pt, STAGE_COPY as Ft, THINKING_PHRASES as It, stageText as Lt, statusStageCopy as Rt, thinkingPhrase as zt, thinkingPhraseEntry as Bt } from "./shared/assistant/stageCopy.js";
28
+ import { VOICE_MUTED_LABEL as Vt, VOICE_THINKING_LABEL as Ht, composeVoiceStatus as Ut, voiceStatusParts as Wt, voiceStatusSuffix as Gt } from "./shared/assistant/voice/voiceStatus.js";
29
+ import { IDLE_ROTATION_CLOCK as Kt, advanceRotationClock as qt, rotationElapsedMs as Jt, startRotationTicker as Yt, syncRotationClock as Xt } from "./shared/assistant/voice/rotationClock.js";
30
+ import { ENDPOINT_GRACE_MS as Zt, INITIAL_SESSION as Qt, INTERRUPT_MAX_MS as $t, INTERRUPT_MIN_MS as en, SILENCE_SUBMIT_MS as tn, isCapturing as nn, isEcho as rn, isSubmittable as an, orbMode as on, planReplyConsumption as sn, spokenSoFar as cn, voiceSessionReducer as ln } from "./shared/assistant/voice/voiceSession.js";
31
+ import { buildContinuedFromVoiceNote as un, buildVoiceTranscriptMarkdown as dn, voiceTranscriptFilename as fn } from "./shared/assistant/voice/voiceTranscript.js";
32
+ import { DEFAULT_SPEAKABLE_LABELS as pn, MAX_SPEAKABLE_CHARS as mn, MAX_SPOKEN_TABLE_ROWS as hn, SPEECH_CHUNK_CHARS as gn, SPEECH_CHUNK_CJK_CHARS as _n, chunkForSpeech as vn, containsCjk as yn, speakableEmail as bn, splitTableRow as xn, toSpeakableText as Sn } from "./shared/assistant/voice/speakableText.js";
33
+ import { PREVIEW_LANGUAGES as Cn, voicePreviewText as wn } from "./shared/assistant/voice/voicePreview.js";
34
+ import { MINI_CAPTION_BUDGET as Tn, showPreviousChunk as En } from "./shared/assistant/voice/miniCaptionBudget.js";
35
+ import { POLL_FAST_MS as Dn, POLL_FAST_UNTIL_MS as On, POLL_SLOW_MS as kn, POLL_STEADY_MS as An, POLL_STEADY_UNTIL_MS as jn, pollDelayMs as Mn } from "./shared/assistant/voice/assistantPollSchedule.js";
36
+ import { toCaptionText as Nn } from "./shared/assistant/voice/captionText.js";
37
+ import { ASSISTANT_LANGUAGES as Pn, DEFAULT_SPEECH_RATE as Fn, findAssistantLanguage as In, resolveAssistantLanguage as Ln } from "./shared/assistant/voice/languages.js";
38
+ import { replyFollowsInput as Rn, resolveLanguagePair as zn } from "./shared/assistant/voice/languagePair.js";
39
+ import { findPendingWrite as Bn, parseConfirmationRefusal as Vn } from "./shared/assistant/pendingWrite.js";
40
+ import { MAX_INLINE_IMAGE_BASE64_BYTES as Hn, MAX_REQUEST_BODY_BYTES as Un } from "./shared/assistant/gatewayLimits.js";
41
+ import { BOILERPLATE_PAGE_SHARE as Wn, MAX_BOILERPLATE_LINE_CHARS as Gn, MAX_EXTRACTED_CHARS as Kn, MAX_PDF_PAGES_SCANNED as qn, MIN_PAGE_TEXT_CHARS as Jn, MIN_TEXT_PAGE_SHARE as Yn, columnLetterToIndex as Xn, decodeXmlEntities as Zn, docxXmlToText as Qn, fitPdfPages as $n, formatPageRanges as er, isMostlyImagePages as tr, joinSheets as nr, pageMarker as rr, parseSharedStrings as ir, parseWorkbookSheets as ar, pdfTextItemsToPage as or, sheetXmlToRows as sr, summarisePageText as cr, truncatePagesForInline as lr } from "./shared/assistant/documentText.js";
42
+ import { ATTACHMENT_ACCEPT as ur, AttachmentRejectedError as dr, INLINE_IMAGE_MAX_DIM as fr, INLINE_IMAGE_QUALITY as pr, MAX_ATTACHMENTS as mr, MAX_FILE_BYTES as hr, MAX_INLINE_CHARS_PER_FILE as gr, MAX_INLINE_CHARS_TOTAL as _r, MAX_INLINE_IMAGE_BASE64_CHARS as vr, MAX_INLINE_IMAGE_PARTS as yr, MAX_INLINE_TURN_BODY_BYTES as br, MAX_TURN_BODY_BYTES as xr, PROMPT_ENVELOPE_RESERVE_BYTES as Sr, PROVIDER_READABLE_FILE_MEDIA_TYPES as Cr, TURN_BODY_HEADROOM_BYTES as wr, buildAttachmentPromptBlock as Tr, buildPromptParts as Er, buildPromptWithAttachments as Dr, classifyAttachment as Or, countInlineImageCandidates as kr, countInlinedImageParts as Ar, detectDocumentFormat as jr, estimateTurnBodyBytes as Mr, formatBytes as Nr, getAttachmentSendBlocker as Pr, getExtension as Fr, getSendableAttachments as Ir, hasAttachmentWorkInFlight as Lr, isProviderReadableFilePart as Rr, parseDataUrl as zr, toMessageAttachment as Br, truncateForInline as Vr, validateFile as Hr } from "./shared/assistant/attachments.js";
43
+ import { ATTACHMENT_SOURCES as Ur, availableAttachmentSources as Wr, deviceHasCamera as Gr } from "./shared/assistant/attachmentSources.js";
44
+ import { ASSISTANT_MODE_FALLBACK_LABELS as Kr, ASSISTANT_MODE_IDS as qr } from "./shared/assistant/modeCopy.js";
45
+ import { ASSISTANT_I18N_COMPUTED_COPY as Jr, ASSISTANT_I18N_LITERAL_COPY as Yr, ASSISTANT_I18N_MANIFEST as Xr, assistantI18nSeedCopy as Zr, assistantModeI18nCopy as Qr } from "./shared/assistant/i18nManifest.js";
46
+ import { SPOKEN_LABEL_LANGUAGES as $r, speechLabelsFor as ei } from "./shared/assistant/voice/speechLabels.js";
47
+ import { detectScriptLocale as ti, resolveSpeechLocale as ni } from "./shared/assistant/voice/replyLanguage.js";
48
+ import { IDLE_PLAYBACK as ri, isSpeakingMessage as ii, publishedChunks as ai, requiresCancel as oi, speechPlaybackReducer as si } from "./shared/assistant/voice/speechPlayback.js";
49
+ import { useAssistantStore as ci } from "./shared/assistant/store.js";
50
+ import { isTurnInFlight as li, planAbandonedTurn as ui, planTurnAbort as di } from "./shared/assistant/turnState.js";
51
+ import { isLegacyFiller as fi, isLegacyStopped as pi, isStageCopy as mi, stripLegacyFillerPrefix as hi } from "./shared/assistant/legacyFiller.js";
52
+ import { getAssistantDisplayContent as gi } from "./shared/assistant/displayContent.js";
53
+ import { elapsedSince as _i, msUntilNextPhrase as vi, startPhraseTicker as yi, turnActivityCopy as bi, turnActivityStage as xi } from "./shared/assistant/turnActivity.js";
54
+ import { buildAssistantProgress as Si } from "./shared/assistant/turnProgress.js";
55
+ import { AssistantToolActivity as Ci, parseToolActivity as wi } from "./shared/assistant/ui/AssistantToolActivity.js";
56
+ import { countSpokenTurns as Ti, spokenTurnText as Ei } from "./shared/assistant/spokenTurns.js";
57
+ import { AssistantAvatar as Di } from "./shared/assistant/ui/AssistantAvatar.js";
58
+ import { AssistantSpeechProvider as Oi, useAssistantSpeech as ki } from "./shared/assistant/ui/AssistantSpeechProvider.js";
59
+ import { useVoiceSession as Ai } from "./shared/assistant/ui/useVoiceSession.js";
60
+ import { getActorId as ji, getOrganizationId as Mi, getWorkspaceId as Ni } from "./shared/assistant/context.js";
61
+ import { SANDBOX_READY_TTL_MS as Pi, createReadinessTracker as Fi, isRecentlyVerified as Ii } from "./shared/assistant/sandboxReadiness.js";
62
+ import { AssistantAutoSpeakToggle as Li } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
63
+ import { AssistantMessageAttachments as Ri } from "./shared/assistant/ui/AssistantMessageAttachments.js";
64
+ import { AssistantPendingWriteCard as zi } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
65
+ import { AssistantLanguageMenu as Bi } from "./shared/assistant/ui/AssistantLanguageMenu.js";
66
+ import { AssistantReplyLanguageSelector as Vi } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
67
+ import { AssistantSpeakButton as Hi } from "./shared/assistant/ui/AssistantSpeakButton.js";
68
+ import { AssistantSpokenTurnsNotice as Ui } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
69
+ import { AssistantConnectSourceProvider as Wi, useAssistantConnectSource as Gi } from "./shared/assistant/ui/composer/connectSource.js";
70
+ import { AssistantConnectSourceItem as Ki } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
71
+ import { ASSISTANT_OVERLAY_ATTR as qi, ASSISTANT_PANEL_ATTR as Ji, NO_PANEL_OVERLAY as Yi, activePanelOverlay as Xi, assistantPanelOwnsEscape as Zi, escapeDismisses as Qi, focusIsInsidePanel as $i, nextPanelOverlays as ea, panelOwnsEscape as ta } from "./shared/assistant/ui/panelOverlays.js";
72
+ import { useDropdownEscape as na } from "./shared/assistant/ui/useDropdownEscape.js";
73
+ import { AssistantAttachmentButton as ra } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
74
+ import { AssistantAttachmentChips as ia } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
75
+ import { AssistantPreviewProvider as aa, useAssistantPreview as oa } from "./shared/assistant/preview/context.js";
76
+ import { IDLE_PREVIEW_STATE as sa, isBlankProse as ca, isRunningStatus as la, nextPreviewEvents as ua } from "./shared/assistant/preview/previewTransitions.js";
77
+ import { IDLE_PREVIEW as da, NO_OWNER as fa, applyPreviewEvent as pa, createAssistantPreviewSurface as ma, currentPreviewOwner as ha, runBelongsTo as ga, sameOwner as _a } from "./shared/assistant/preview/surfaceState.js";
78
+ import { createRunIdentityCache as va, runIdentities as ya } from "./shared/assistant/preview/runIdentity.js";
79
+ import { IDLE_ACTIVE_TAB as ba, nextActiveTab as xa, pinActiveTab as Sa, shouldPinOnMove as Ca, shouldPinOnSelect as wa, stepsFromToolActivity as Ta, tabForArrowKey as Ea } from "./shared/assistant/preview/entity/entityPreviewState.js";
80
+ import { AssistantStepRail as Da } from "./shared/assistant/preview/entity/AssistantStepRail.js";
81
+ import { AssistantEntityPreview as Oa } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
82
+ import { useOverlayFocus as ka } from "./shared/assistant/ui/useOverlayFocus.js";
83
+ import { REDUCED_MOTION_ATTRIBUTE as Aa, REDUCED_MOTION_QUERY as ja, readReducedMotion as Ma, subscribeReducedMotion as Na, usePrefersReducedMotion as Pa } from "./shared/assistant/ui/usePrefersReducedMotion.js";
84
+ import { useAssistantPreviewBridge as Fa } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
85
+ import { AssistantPreviewOverlay as Ia } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
86
+ import { AssistantLanguageSelector as La, FOLLOW_APP_LOCALE as Ra } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
87
+ import { ASSISTANT_MODE_META as za, AssistantModeSelector as Ba, nextModeIndex as Va } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
88
+ import { AssistantVoiceButton as Ha } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
89
+ import { AUTO_VOICE as Ua, AssistantVoiceSelector as Wa } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
90
+ import { AssistantVoiceOrb as Ga } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
91
+ import { AssistantVoiceSessionButton as Ka } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
92
+ import { CAPTION_SCROLL_ATTR as qa, VoiceCaption as Ja } from "./shared/assistant/ui/voice/VoiceCaption.js";
93
+ import { VoiceConversationView as Ya } from "./shared/assistant/ui/voice/VoiceConversationView.js";
94
+ import { VoiceWaveform as Xa } from "./shared/assistant/ui/voice/VoiceWaveform.js";
95
+ import { VoiceStatusLine as Za, VoiceStatusText as Qa } from "./shared/assistant/ui/voice/VoiceStatusText.js";
96
+ import { VoiceMiniController as $a } from "./shared/assistant/ui/voice/VoiceMiniController.js";
97
+ import { VoiceStage as eo } from "./shared/assistant/ui/voice/VoiceStage.js";
98
+ import { VoiceTranscriptDrawer as to } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
99
+ import { downloadFile as no, exportConversation as ro } from "./shared/assistant/exportConversation.js";
100
+ import { AssistantMoreMenu as io } from "./shared/assistant/ui/AssistantMoreMenu.js";
101
+ import { AssistantHeader as ao } from "./shared/assistant/ui/AssistantHeader.js";
102
+ import { AssistantConversationList as oo } from "./shared/assistant/ui/AssistantConversationList.js";
103
+ import { AssistantEmptyState as so } from "./shared/assistant/ui/AssistantEmptyState.js";
104
+ import { AssistantTurnActivity as co, TurnActivityLine as lo } from "./shared/assistant/ui/AssistantTurnActivity.js";
105
+ import { AssistantMessageItem as uo } from "./shared/assistant/ui/AssistantMessageItem.js";
106
+ import { AssistantMessageList as fo } from "./shared/assistant/ui/AssistantMessageList.js";
107
+ import { AssistantVoiceSession as po } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
108
+ import { useAssistantApiAccess as mo } from "./shared/assistant/useAssistantApiAccess.js";
109
+ import { useConversationTurns as ho } from "./shared/assistant/useConversationTurns.js";
110
+ import { isMultimodalBodyRejection as go, isRecoverableAssistantError as _o } from "./shared/assistant/transportErrors.js";
111
+ import { aiCreditsUpdatedEventName as vo, dispatchAssistantQuotaExhausted as yo, notifyAiCreditsUpdated as bo } from "./shared/assistant/aiCredits.js";
112
+ import { useWorkspaceWriteAccess as xo } from "./shared/assistant/useWorkspaceWriteAccess.js";
113
+ import { extractDocumentText as So } from "./shared/assistant/documentExtract.js";
114
+ import { useAssistantAttachments as Co } from "./shared/assistant/useAssistantAttachments.js";
115
+ import { AssistantComposer as wo } from "./shared/assistant/ui/composer/AssistantComposer.js";
116
+ import { isProdRuntime as To } from "./shared/assistant/env.js";
117
+ import { useAssistantHeartbeat as Eo } from "./shared/assistant/useAssistantHeartbeat.js";
118
+ import { useAssistantKeyboardShortcuts as Do } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
119
+ import { AssistantApiCallsConsentDialog as Oo } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
120
+ import { AssistantChatArea as ko } from "./shared/assistant/ui/AssistantChatArea.js";
121
+ import { AIAssistantPanel as Ao } from "./shared/assistant/ui/AIAssistantPanel.js";
122
+ export { Ao as AIAssistantPanel, L as ASSISTANT_API_AUTH_STRATEGY, Jr as ASSISTANT_I18N_COMPUTED_COPY, Yr as ASSISTANT_I18N_LITERAL_COPY, Xr as ASSISTANT_I18N_MANIFEST, Pn as ASSISTANT_LANGUAGES, Kr as ASSISTANT_MODE_FALLBACK_LABELS, qr as ASSISTANT_MODE_IDS, za as ASSISTANT_MODE_META, qi as ASSISTANT_OVERLAY_ATTR, Ji as ASSISTANT_PANEL_ATTR, ur as ATTACHMENT_ACCEPT, Ur as ATTACHMENT_SOURCES, Ua as AUTO_VOICE, Oo as AssistantApiCallsConsentDialog, ra as AssistantAttachmentButton, ia as AssistantAttachmentChips, Li as AssistantAutoSpeakToggle, Di as AssistantAvatar, ko as AssistantChatArea, wo as AssistantComposer, Ki as AssistantConnectSourceItem, Wi as AssistantConnectSourceProvider, oo as AssistantConversationList, so as AssistantEmptyState, Oa as AssistantEntityPreview, ao as AssistantHeader, s as AssistantI18nProvider, Bi as AssistantLanguageMenu, La as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, Ri as AssistantMessageAttachments, uo as AssistantMessageItem, fo as AssistantMessageList, Ba as AssistantModeSelector, io as AssistantMoreMenu, g as AssistantNavigateProvider, zi as AssistantPendingWriteCard, Ia as AssistantPreviewOverlay, aa as AssistantPreviewProvider, t as AssistantProductProvider, Vi as AssistantReplyLanguageSelector, _e as AssistantRuntimeManager, Hi as AssistantSpeakButton, Oi as AssistantSpeechProvider, Ui as AssistantSpokenTurnsNotice, Da as AssistantStepRail, Ci as AssistantToolActivity, co as AssistantTurnActivity, Ha as AssistantVoiceButton, Ga as AssistantVoiceOrb, Wa as AssistantVoiceSelector, po as AssistantVoiceSession, Ka as AssistantVoiceSessionButton, dr as AttachmentRejectedError, Wn as BOILERPLATE_PAGE_SHARE, qa as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, pn as DEFAULT_SPEAKABLE_LABELS, Fn as DEFAULT_SPEECH_RATE, Ae as DEFAULT_STREAM_BUDGET_MS, Zt as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, Ra as FOLLOW_APP_LOCALE, j as GET_ACTIVE_SANDBOXES, M as GET_SANDBOX, qe as HOSTED_DISABLE_MS, Je as HOSTED_TTS_MAX_CHARS, Ue as HOSTED_TTS_TIER, We as HOSTED_VOICES, st as HOSTED_VOICE_RANK, ba as IDLE_ACTIVE_TAB, ri as IDLE_PLAYBACK, da as IDLE_PREVIEW, sa as IDLE_PREVIEW_STATE, Kt as IDLE_ROTATION_CLOCK, Qt as INITIAL_SESSION, fr as INLINE_IMAGE_MAX_DIM, pr as INLINE_IMAGE_QUALITY, $t as INTERRUPT_MAX_MS, en as INTERRUPT_MIN_MS, mr as MAX_ATTACHMENTS, Gn as MAX_BOILERPLATE_LINE_CHARS, Kn as MAX_EXTRACTED_CHARS, hr as MAX_FILE_BYTES, gr as MAX_INLINE_CHARS_PER_FILE, _r as MAX_INLINE_CHARS_TOTAL, Hn as MAX_INLINE_IMAGE_BASE64_BYTES, vr as MAX_INLINE_IMAGE_BASE64_CHARS, yr as MAX_INLINE_IMAGE_PARTS, br as MAX_INLINE_TURN_BODY_BYTES, qn as MAX_PDF_PAGES_SCANNED, Un as MAX_REQUEST_BODY_BYTES, mn as MAX_SPEAKABLE_CHARS, hn as MAX_SPOKEN_TABLE_ROWS, xr as MAX_TURN_BODY_BYTES, Tn as MINI_CAPTION_BUDGET, Jn as MIN_PAGE_TEXT_CHARS, Yn as MIN_TEXT_PAGE_SHARE, fa as NO_OWNER, Yi as NO_PANEL_OVERLAY, Pt as PHRASE_ROTATE_MS, Dn as POLL_FAST_MS, On as POLL_FAST_UNTIL_MS, kn as POLL_SLOW_MS, An as POLL_STEADY_MS, jn as POLL_STEADY_UNTIL_MS, Cn as PREVIEW_LANGUAGES, Sr as PROMPT_ENVELOPE_RESERVE_BYTES, Cr as PROVIDER_READABLE_FILE_MEDIA_TYPES, N as PROXY_SANDBOX_REQUEST, Aa as REDUCED_MOTION_ATTRIBUTE, ja as REDUCED_MOTION_QUERY, P as REPORT_AI_TOKEN_USAGE, Pi as SANDBOX_READY_TTL_MS, tn as SILENCE_SUBMIT_MS, Ye as SPEAKING_RATE_MAX, Xe as SPEAKING_RATE_MAX_STREAMING, Ze as SPEAKING_RATE_MAX_SYNC, Qe as SPEAKING_RATE_MIN, gn as SPEECH_CHUNK_CHARS, _n as SPEECH_CHUNK_CJK_CHARS, ct as SPEECH_LANG, $r as SPOKEN_LABEL_LANGUAGES, Ft as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, je as STREAM_BUDGET_MS, It as THINKING_PHRASES, wr as TURN_BODY_HEADROOM_BYTES, lo as TurnActivityLine, lt as VOICE_LIST_TIMEOUT_MS, Vt as VOICE_MUTED_LABEL, Ht as VOICE_THINKING_LABEL, Ja as VoiceCaption, Ya as VoiceConversationView, $a as VoiceMiniController, eo as VoiceStage, Za as VoiceStatusLine, Qa as VoiceStatusText, to as VoiceTranscriptDrawer, Xa as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, q as abortAssistantTurn, Xi as activePanelOverlay, qt as advanceRotationClock, vo as aiCreditsUpdatedEventName, pa as applyPreviewEvent, J as approvePendingWrite, Zr as assistantI18nSeedCopy, Qr as assistantModeI18nCopy, Zi as assistantPanelOwnsEscape, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, Wr as availableAttachmentSources, $e as base64ToBytes, y as browserShouldHandle, He as browserSpeechEngine, Si as buildAssistantProgress, Y as buildAssistantSandboxEnv, Tr as buildAttachmentPromptBlock, un as buildContinuedFromVoiceNote, ve as buildProgress, Er as buildPromptParts, X as buildPromptRequestBody, Dr as buildPromptWithAttachments, et as buildRequest, E as buildSandboxContextInput, dn as buildVoiceTranscriptMarkdown, Fe as chatTurns, Z as checkAssistantAiCredits, vn as chunkForSpeech, b as classifyAssistantHref, Or as classifyAttachment, tt as classifyHttpFailure, S as classifyQuotaError, Xn as columnLetterToIndex, Ut as composeVoiceStatus, St as configureSpeechEngine, yn as containsCjk, d as copyToClipboard, kr as countInlineImageCandidates, Ar as countInlinedImageParts, Ti as countSpokenTurns, ma as createAssistantPreviewSurface, Q as createAssistantSandbox, $ as createAssistantSession, ot as createHostedTtsEngine, Fi as createReadinessTracker, xt as createRoutingSpeechEngine, va as createRunIdentityCache, Oe as createSandboxAssistantTransport, Ct as createSpeechEngines, ha as currentPreviewOwner, nt as decodeAudioResponse, Zn as decodeXmlEntities, C as describeQuotaError, jr as detectDocumentFormat, ti as detectScriptLocale, Gr as deviceHasCamera, rt as disableDurationMs, yo as dispatchAssistantQuotaExhausted, Qn as docxXmlToText, ee as downloadAssistantArtifact, no as downloadFile, _i as elapsedSince, Qi as escapeDismisses, Mr as estimateTurnBodyBytes, D as executeSandboxGraphQL, ro as exportConversation, te as extendAssistantSandboxTTL, So as extractDocumentText, In as findAssistantLanguage, ne as findExistingSandbox, Bn as findPendingWrite, $n as fitPdfPages, $i as focusIsInsidePanel, Nr as formatBytes, er as formatPageRanges, ji as getActorId, re as getAssistantArtifacts, gi as getAssistantDisplayContent, ye as getAssistantMedia, ie as getAssistantMessages, ae as getAssistantSession, oe as getAssistantStreamAccess, be as getAssistantText, Pr as getAttachmentSendBlocker, U as getCapability, Fr as getExtension, R as getImageForMode, z as getImageTagForMode, Mi as getOrganizationId, xe as getRawMessageCreatedAt, B as getResourcesForMode, V as getSandboxImageRegistry, Ir as getSendableAttachments, wt as getSpeechEngine, Se as getToolProgress, Ni as getWorkspaceId, Ie as groupBySession, Le as groupConsecutiveBySession, Lr as hasAttachmentWorkInFlight, Ge as hostedLocaleFor, Ke as hostedSupportsLanguage, p as imageHostLabel, Me as incompleteTurnNotice, ca as isBlankProse, nn as isCapturing, rn as isEcho, ut as isHostedVoice, fi as isLegacyFiller, pi as isLegacyStopped, tr as isMostlyImagePages, go as isMultimodalBodyRejection, To as isProdRuntime, Rr as isProviderReadableFilePart, w as isQuotaExhaustedError, Ce as isReapedSandboxConnectionError, Ii as isRecentlyVerified, we as isRecoverable, _o as isRecoverableAssistantError, m as isRemoteImageSrc, la as isRunningStatus, ii as isSpeakingMessage, dt as isSpeechBlocked, mi as isStageCopy, an as isSubmittable, li as isTurnInFlight, W as isUnknownFieldError, Re as isVoiceTurn, nr as joinSheets, ft as languageDisplayName, Te as mapSessionToHistory, G as markSupported, K as markUnsupported, Ee as mergeMessagesById, Ot as micIsInterrupt, se as modeRequiresConfirmWrites, vi as msUntilNextPhrase, xa as nextActiveTab, Va as nextModeIndex, ea as nextPanelOverlays, ua as nextPreviewEvents, pt as normalizeLangTag, bo as notifyAiCreditsUpdated, on as orbMode, rr as pageMarker, ta as panelOwnsEscape, Vn as parseConfirmationRefusal, zr as parseDataUrl, ir as parseSharedStrings, wi as parseToolActivity, ar as parseWorkbookSheets, or as pdfTextItemsToPage, Sa as pinActiveTab, ui as planAbandonedTurn, sn as planReplyConsumption, di as planTurnAbort, Mn as pollDelayMs, mt as primaryLanguageSubtag, ai as publishedChunks, T as quotaExhaustedEventName, Ma as readReducedMotion, Tt as readSpeechEngineConfig, ce as releaseSupersededAssistantSandboxes, Rn as replyFollowsInput, le as reportAssistantAiTokenUsage, oi as requiresCancel, Et as resetSpeechEngine, Ln as resolveAssistantLanguage, zn as resolveLanguagePair, n as resolveModeConfig, H as resolveSandboxAssistantMode, ni as resolveSpeechLocale, Jt as rotationElapsedMs, ga as runBelongsTo, ya as runIdentities, _a as sameOwner, De as sanitize, ue as selectExistingAssistantSandbox, de as selectSupersededAssistantSandboxes, ht as selectVoiceForLocale, fe as sendAssistantPromptAsync, pe as sendHeartbeat, sr as sheetXmlToRows, it as shouldDisableEngine, Ca as shouldPinOnMove, wa as shouldPinOnSelect, En as showPreviousChunk, kt as showsAssistantCaption, At as showsUserCaption, bn as speakableEmail, gt as speechGate, ei as speechLabelsFor, _t as speechLangForLocale, si as speechPlaybackReducer, at as splitForVendor, xn as splitTableRow, cn as spokenSoFar, Ei as spokenTurnText, Lt as stageText, yi as startPhraseTicker, Yt as startRotationTicker, Rt as statusStageCopy, Ta as stepsFromToolActivity, me as stopReapedAssistantSandbox, Ne as streamBudgetMs, hi as stripLegacyFillerPrefix, Na as subscribeReducedMotion, Dt as subscribeSpeechEngine, cr as summarisePageText, Xt as syncRotationClock, Ea as tabForArrowKey, zt as thinkingPhrase, Bt as thinkingPhraseEntry, Nn as toCaptionText, Br as toMessageAttachment, Sn as toSpeakableText, Vr as truncateForInline, lr as truncatePagesForInline, bi as turnActivityCopy, xi as turnActivityStage, mo as useAssistantApiAccess, Co as useAssistantAttachments, Gi as useAssistantConnectSource, Eo as useAssistantHeartbeat, l as useAssistantI18nNamespace, Do as useAssistantKeyboardShortcuts, x as useAssistantNavigate, r as useAssistantPageLabel, oa as useAssistantPreview, Fa as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, ki as useAssistantSpeech, o as useAssistantStorageFolders, ci as useAssistantStore, u as useAssistantTr, ho as useConversationTurns, na as useDropdownEscape, ka as useOverlayFocus, Pa as usePrefersReducedMotion, ke as useSandboxAssistantTransport, e as useVoiceInput, Ai as useVoiceSession, xo as useWorkspaceWriteAccess, Hr as validateFile, vt as voiceAvailability, ze as voiceMarker, wn as voicePreviewText, yt as voiceQualityRank, Be as voiceSessionIdOf, ln as voiceSessionReducer, jt as voiceStageState, Wt as voiceStatusParts, Gt as voiceStatusSuffix, fn as voiceTranscriptFilename, Ve as voiceTurnsOnly, bt as voicesForLocale, he as waitForAssistantServiceReady, ge as waitForSandboxRunning, Mt as waveformIsActive, Nt as waveformIsSettled, Pe as withIncompleteTurnNotice };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.914.2",
3
+ "version": "2026.915.1",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {