@burdenoff/fe-libs 2026.925.4 → 2026.925.6

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.
@@ -42,6 +42,12 @@ interface Props {
42
42
  * which is what hides the control rather than offering a dead button.
43
43
  */
44
44
  onStartVoiceSession?: () => void;
45
+ /**
46
+ * A draft has begun — the first keystroke, dictated phrase or attachment.
47
+ * Fired once per empty → non-empty change, so the panel can start the
48
+ * sandbox while the person is still typing (BOFF-7801).
49
+ */
50
+ onDraftStart?: () => void;
45
51
  }
46
52
  /**
47
53
  * AssistantComposer — the v2 input surface (per the ai-assistant-v2 mockups).
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantComposer.d.ts","sourceRoot":"","sources":["../../../../../src/shared/assistant/ui/composer/AssistantComposer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,EAAE,EAER,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQjD,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AAEjC,UAAU,KAAK;IACb;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IACtE,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,qDAAqD;IACrD,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,qFAAqF;IACrF,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,KAAK,CA+ZvC,CAAC"}
1
+ {"version":3,"file":"AssistantComposer.d.ts","sourceRoot":"","sources":["../../../../../src/shared/assistant/ui/composer/AssistantComposer.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,EAAE,EAER,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQjD,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AAEjC,UAAU,KAAK;IACb;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IACtE,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,qDAAqD;IACrD,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,qFAAqF;IACrF,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,KAAK,CA6avC,CAAC"}
@@ -1,179 +1,183 @@
1
1
  import { useI18n as e } from "../../../providers/shell/I18nProvider.js";
2
2
  import { useVoiceInput as t } from "../../voice/useVoiceInput.js";
3
- import { useAssistantTr as n } from "../../i18n.js";
4
- import { languageDisplayName as ee } from "../../voice/speechVoices.js";
3
+ import { useAssistantTr as ee } from "../../i18n.js";
4
+ import { languageDisplayName as n } from "../../voice/speechVoices.js";
5
5
  import { resolveAssistantLanguage as r } from "../../voice/languages.js";
6
- import { getSendableAttachments as te } from "../../attachments.js";
7
- import { useAssistantStore as ne } from "../../store.js";
8
- import { AssistantAttachmentButton as re } from "./AssistantAttachmentButton.js";
9
- import { AssistantAttachmentChips as i } from "./AssistantAttachmentChips.js";
10
- import { AssistantModeSelector as a } from "./AssistantModeSelector.js";
11
- import { AssistantVoiceButton as o } from "./AssistantVoiceButton.js";
12
- import { AssistantVoiceSessionButton as s } from "../voice/AssistantVoiceSessionButton.js";
13
- import { useAssistantAttachments as c } from "../../useAssistantAttachments.js";
14
- import { useCallback as l, useLayoutEffect as u, useMemo as ie, useRef as d, useState as f } from "react";
15
- import { ArrowUp as ae, Loader2 as oe } from "lucide-react";
16
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
6
+ import { getSendableAttachments as i } from "../../attachments.js";
7
+ import { useAssistantStore as a } from "../../store.js";
8
+ import { AssistantAttachmentButton as o } from "./AssistantAttachmentButton.js";
9
+ import { AssistantAttachmentChips as s } from "./AssistantAttachmentChips.js";
10
+ import { AssistantModeSelector as c } from "./AssistantModeSelector.js";
11
+ import { AssistantVoiceButton as te } from "./AssistantVoiceButton.js";
12
+ import { AssistantVoiceSessionButton as ne } from "../voice/AssistantVoiceSessionButton.js";
13
+ import { useAssistantAttachments as re } from "../../useAssistantAttachments.js";
14
+ import { useCallback as l, useEffect as ie, useLayoutEffect as u, useMemo as d, useRef as f, useState as p } from "react";
15
+ import { ArrowUp as m, Loader2 as h } from "lucide-react";
16
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
17
17
  //#region src/shared/assistant/ui/composer/AssistantComposer.tsx
18
- var h = 200, g = ({ writeAccessDenied: g = !1, onSend: _, disabled: v = !1, placeholder: y, mode: b, availableModes: x, attachmentCharsPerFile: S, onModeChange: C, auto: w, onStartVoiceSession: T }) => {
19
- let E = n(), { locale: D } = e(), O = d(null), [k, A] = f(""), [j, M] = f(!1), N = d(0), { attachments: P, isBusy: F, preparingCount: I, sendBlocker: L, rejection: R, addFiles: z, remove: B, retry: V, clear: H, clearRejection: se, canAddMore: U } = c({ perFileChars: S }), W = l((e) => {
20
- A((t) => t ? `${t.replace(/\s+$/, "")} ${e}` : e);
21
- }, []), G = ne((e) => e.assistantLanguage), K = t({
22
- onFinalize: W,
23
- language: ie(() => r(G, D), [G, D]).tag
24
- }), ce = y ?? E("composer.placeholder", "Ask me anything…"), q = k.trim(), J = te(P), Y = P.filter((e) => e.status === "error"), X = (q.length > 0 || J.length > 0) && !v && L === null;
18
+ var v = 200, y = ({ writeAccessDenied: y = !1, onSend: b, disabled: x = !1, placeholder: ae, mode: oe, availableModes: S, attachmentCharsPerFile: se, onModeChange: ce, auto: le, onStartVoiceSession: C, onDraftStart: w }) => {
19
+ let T = ee(), { locale: E } = e(), D = f(null), [O, k] = p(""), [A, j] = p(!1), M = f(0), { attachments: N, isBusy: P, preparingCount: F, sendBlocker: I, rejection: L, addFiles: R, remove: z, retry: B, clear: V, clearRejection: H, canAddMore: ue } = re({ perFileChars: se }), U = O.trim() !== "" || N.length > 0, W = f(!1);
20
+ ie(() => {
21
+ U && !W.current ? (W.current = !0, w?.()) : U || (W.current = !1);
22
+ }, [U, w]);
23
+ let de = l((e) => {
24
+ k((t) => t ? `${t.replace(/\s+$/, "")} ${e}` : e);
25
+ }, []), G = a((e) => e.assistantLanguage), K = t({
26
+ onFinalize: de,
27
+ language: d(() => r(G, E), [G, E]).tag
28
+ }), fe = ae ?? T("composer.placeholder", "Ask me anything…"), q = O.trim(), J = i(N), Y = N.filter((e) => e.status === "error"), X = (q.length > 0 || J.length > 0) && !x && I === null;
25
29
  u(() => {
26
- let e = O.current;
27
- e && (e.style.height = "auto", e.style.height = `${Math.min(e.scrollHeight, h)}px`);
28
- }, [k]);
30
+ let e = D.current;
31
+ e && (e.style.height = "auto", e.style.height = `${Math.min(e.scrollHeight, v)}px`);
32
+ }, [O]);
29
33
  let Z = l(() => {
30
- X && (K.isActive && K.stop(), _(k.trim(), J), A(""), H());
34
+ X && (K.isActive && K.stop(), b(O.trim(), J), k(""), V());
31
35
  }, [
32
36
  X,
33
- _,
34
- k,
37
+ b,
38
+ O,
35
39
  J,
36
- H,
40
+ V,
37
41
  K
38
- ]), le = l((e) => {
42
+ ]), pe = l((e) => {
39
43
  e.key === "Enter" && !e.shiftKey && (e.preventDefault(), Z());
40
- }, [Z]), Q = l((e) => {
44
+ }, [Z]), me = l((e) => {
41
45
  let t = Array.from(e.clipboardData?.files ?? []);
42
- t.length !== 0 && (e.preventDefault(), z(t));
43
- }, [z]), ue = l((e) => {
44
- Array.from(e.dataTransfer?.types ?? []).includes("Files") && (N.current += 1, M(!0));
45
- }, []), de = l(() => {
46
- N.current = Math.max(0, N.current - 1), N.current === 0 && M(!1);
47
- }, []), fe = l((e) => {
46
+ t.length !== 0 && (e.preventDefault(), R(t));
47
+ }, [R]), he = l((e) => {
48
+ Array.from(e.dataTransfer?.types ?? []).includes("Files") && (M.current += 1, j(!0));
49
+ }, []), ge = l(() => {
50
+ M.current = Math.max(0, M.current - 1), M.current === 0 && j(!1);
51
+ }, []), _e = l((e) => {
48
52
  Array.from(e.dataTransfer?.types ?? []).includes("Files") && e.preventDefault();
49
- }, []), pe = l((e) => {
50
- e.preventDefault(), N.current = 0, M(!1), z(e.dataTransfer?.files ?? null);
51
- }, [z]), me = (e) => {
53
+ }, []), Q = l((e) => {
54
+ e.preventDefault(), M.current = 0, j(!1), R(e.dataTransfer?.files ?? null);
55
+ }, [R]), ve = (e) => {
52
56
  switch (e) {
53
- case "too-many": return E("attachments.tooMany", "You can attach up to {{max}} files per message.", { max: 5 });
54
- case "too-large": return E("attachments.tooLarge", "That file is larger than 10 MB.");
55
- case "empty": return E("attachments.empty", "That file is empty.");
56
- case "unreadable": return E("attachments.unreadable", "That file could not be read.");
57
- case "unsupported-image": return E("attachments.unsupportedImage", "This device can't read that image format, so it can't be resized to send. Save it as JPEG and try again.");
57
+ case "too-many": return T("attachments.tooMany", "You can attach up to {{max}} files per message.", { max: 5 });
58
+ case "too-large": return T("attachments.tooLarge", "That file is larger than 10 MB.");
59
+ case "empty": return T("attachments.empty", "That file is empty.");
60
+ case "unreadable": return T("attachments.unreadable", "That file could not be read.");
61
+ case "unsupported-image": return T("attachments.unsupportedImage", "This device can't read that image format, so it can't be resized to send. Save it as JPEG and try again.");
58
62
  }
59
63
  }, $ = (() => {
60
64
  switch (K.error) {
61
- case "not-allowed": return E("voice.denied", "Microphone access is blocked. Allow it in your browser settings to dictate.");
62
- case "audio-capture": return E("voice.noMic", "No microphone was found.");
63
- case "network": return E("voice.network", "Speech recognition is offline right now.");
64
- case "language-not-supported": return E("voice.languageNotSupported", "This browser cannot recognise spoken {{language}}. Try a different browser, or type instead.", { language: ee(K.language, D) });
65
- case "unknown": return E("voice.failed", "Dictation stopped unexpectedly.");
65
+ case "not-allowed": return T("voice.denied", "Microphone access is blocked. Allow it in your browser settings to dictate.");
66
+ case "audio-capture": return T("voice.noMic", "No microphone was found.");
67
+ case "network": return T("voice.network", "Speech recognition is offline right now.");
68
+ case "language-not-supported": return T("voice.languageNotSupported", "This browser cannot recognise spoken {{language}}. Try a different browser, or type instead.", { language: n(K.language, E) });
69
+ case "unknown": return T("voice.failed", "Dictation stopped unexpectedly.");
66
70
  default: return null;
67
71
  }
68
72
  })();
69
- return /* @__PURE__ */ m("div", {
73
+ return /* @__PURE__ */ _("div", {
70
74
  className: "flex-shrink-0 px-3 pb-3 pt-1.5",
71
75
  children: [
72
- /* @__PURE__ */ m("div", {
73
- onDragEnter: ue,
74
- onDragLeave: de,
75
- onDragOver: fe,
76
- onDrop: pe,
77
- className: `rounded-2xl border p-2 shadow-sm transition-colors focus-within:border-action-primary-bg focus-within:ring-2 focus-within:ring-action-primary-bg/15 ${j ? "border-action-primary-bg border-dashed bg-action-primary-bg/5" : "border-border-default bg-bg-sunken"}`,
76
+ /* @__PURE__ */ _("div", {
77
+ onDragEnter: he,
78
+ onDragLeave: ge,
79
+ onDragOver: _e,
80
+ onDrop: Q,
81
+ className: `rounded-2xl border p-2 shadow-sm transition-colors focus-within:border-action-primary-bg focus-within:ring-2 focus-within:ring-action-primary-bg/15 ${A ? "border-action-primary-bg border-dashed bg-action-primary-bg/5" : "border-border-default bg-bg-sunken"}`,
78
82
  "data-testid": "assistant-composer",
79
83
  children: [
80
- /* @__PURE__ */ p(i, {
81
- attachments: P,
82
- onRemove: B,
83
- onRetry: V,
84
- disabled: v,
85
- preparingCount: I
84
+ /* @__PURE__ */ g(s, {
85
+ attachments: N,
86
+ onRemove: z,
87
+ onRetry: B,
88
+ disabled: x,
89
+ preparingCount: F
86
90
  }),
87
- /* @__PURE__ */ m("div", {
91
+ /* @__PURE__ */ _("div", {
88
92
  className: "flex items-end gap-2",
89
93
  children: [
90
- /* @__PURE__ */ p(re, {
91
- onFiles: z,
92
- canAddMore: U,
93
- disabled: v
94
+ /* @__PURE__ */ g(o, {
95
+ onFiles: R,
96
+ canAddMore: ue,
97
+ disabled: x
94
98
  }),
95
- /* @__PURE__ */ p("textarea", {
96
- ref: O,
97
- value: k,
98
- onChange: (e) => A(e.target.value),
99
- onKeyDown: le,
100
- onPaste: Q,
101
- disabled: v,
102
- placeholder: j ? E("composer.dropHere", "Drop files to attach") : ce,
99
+ /* @__PURE__ */ g("textarea", {
100
+ ref: D,
101
+ value: O,
102
+ onChange: (e) => k(e.target.value),
103
+ onKeyDown: pe,
104
+ onPaste: me,
105
+ disabled: x,
106
+ placeholder: A ? T("composer.dropHere", "Drop files to attach") : fe,
103
107
  rows: 1,
104
108
  className: "min-h-[36px] flex-1 resize-none self-center bg-transparent px-1 py-2 text-[15px] leading-relaxed text-text-primary placeholder:text-text-muted focus:outline-none disabled:opacity-50",
105
- "aria-label": E("chatInput.ariaLabel", "Message input"),
109
+ "aria-label": T("chatInput.ariaLabel", "Message input"),
106
110
  "data-testid": "assistant-input"
107
111
  }),
108
- K.isSupported && /* @__PURE__ */ p(o, {
112
+ K.isSupported && /* @__PURE__ */ g(te, {
109
113
  isListening: K.isListening,
110
114
  isStarting: K.isStarting,
111
115
  onToggle: K.toggle,
112
- disabled: v
116
+ disabled: x
113
117
  }),
114
- T && q.length === 0 && P.length === 0 && !K.isActive ? /* @__PURE__ */ p(s, {
115
- onStart: T,
116
- disabled: v
117
- }) : /* @__PURE__ */ p("button", {
118
+ C && q.length === 0 && N.length === 0 && !K.isActive ? /* @__PURE__ */ g(ne, {
119
+ onStart: C,
120
+ disabled: x
121
+ }) : /* @__PURE__ */ g("button", {
118
122
  type: "button",
119
123
  onClick: Z,
120
124
  disabled: !X,
121
125
  className: `flex size-9 flex-shrink-0 items-center justify-center rounded-full shadow-sm transition-all focus:outline-none focus-visible:ring-2 focus-visible:ring-border-strong ${X ? "bg-action-primary-bg text-action-primary-text hover:scale-105 hover:bg-action-primary-bg-hover" : "bg-bg-elevated text-text-muted"}`,
122
- "aria-label": E("chatInput.send", "Send message"),
126
+ "aria-label": T("chatInput.send", "Send message"),
123
127
  "data-testid": "assistant-send",
124
- children: v || F ? /* @__PURE__ */ p(oe, { className: "size-4 motion-safe:animate-spin" }) : /* @__PURE__ */ p(ae, { className: "size-4" })
128
+ children: x || P ? /* @__PURE__ */ g(h, { className: "size-4 motion-safe:animate-spin" }) : /* @__PURE__ */ g(m, { className: "size-4" })
125
129
  })
126
130
  ]
127
131
  }),
128
- x.length > 1 && /* @__PURE__ */ p("div", {
132
+ S.length > 1 && /* @__PURE__ */ g("div", {
129
133
  className: "mt-2 px-0.5",
130
- children: /* @__PURE__ */ p(a, {
131
- mode: b,
132
- availableModes: x,
133
- onModeChange: C,
134
- disabled: v,
135
- auto: w
134
+ children: /* @__PURE__ */ g(c, {
135
+ mode: oe,
136
+ availableModes: S,
137
+ onModeChange: ce,
138
+ disabled: x,
139
+ auto: le
136
140
  })
137
141
  })
138
142
  ]
139
143
  }),
140
- g ? /* @__PURE__ */ p("p", {
144
+ y ? /* @__PURE__ */ g("p", {
141
145
  className: "mt-1.5 px-1 text-center text-[11px] text-status-warning",
142
146
  "data-testid": "assistant-write-access-warning",
143
- children: E("composer.writeAccessDenied", "Changes may not save — your role in this workspace does not currently allow edits. You can still plan and review an action.")
147
+ children: T("composer.writeAccessDenied", "Changes may not save — your role in this workspace does not currently allow edits. You can still plan and review an action.")
144
148
  }) : null,
145
- /* @__PURE__ */ p("div", {
149
+ /* @__PURE__ */ g("div", {
146
150
  className: "mt-1.5 px-1 text-center text-[11px]",
147
151
  "aria-live": "polite",
148
- children: K.isStarting && !K.isListening ? /* @__PURE__ */ p("p", {
152
+ children: K.isStarting && !K.isListening ? /* @__PURE__ */ g("p", {
149
153
  className: "text-text-muted",
150
154
  "data-testid": "assistant-voice-starting",
151
- children: E("voice.starting", "Starting the microphone…")
152
- }) : K.isListening ? /* @__PURE__ */ m("p", {
155
+ children: T("voice.starting", "Starting the microphone…")
156
+ }) : K.isListening ? /* @__PURE__ */ _("p", {
153
157
  className: "text-status-error-text",
154
158
  "data-testid": "assistant-voice-status",
155
- children: [/* @__PURE__ */ p("span", { className: "mr-1 inline-block size-1.5 rounded-full bg-status-error-text align-middle motion-safe:animate-pulse" }), K.interim || E("voice.listening", "Listening… speak now, tap the square to stop")]
156
- }) : $ ? /* @__PURE__ */ p("p", {
159
+ children: [/* @__PURE__ */ g("span", { className: "mr-1 inline-block size-1.5 rounded-full bg-status-error-text align-middle motion-safe:animate-pulse" }), K.interim || T("voice.listening", "Listening… speak now, tap the square to stop")]
160
+ }) : $ ? /* @__PURE__ */ g("p", {
157
161
  className: "text-status-error-text",
158
162
  "data-testid": "assistant-voice-error",
159
163
  children: $
160
- }) : R ? /* @__PURE__ */ p("button", {
164
+ }) : L ? /* @__PURE__ */ g("button", {
161
165
  type: "button",
162
- onClick: se,
166
+ onClick: H,
163
167
  className: "text-status-error-text underline-offset-2 hover:underline",
164
168
  "data-testid": "assistant-attachment-rejection",
165
- children: me(R)
166
- }) : L === "failed" ? /* @__PURE__ */ p("p", {
169
+ children: ve(L)
170
+ }) : I === "failed" ? /* @__PURE__ */ g("p", {
167
171
  className: "text-status-error-text",
168
172
  "data-testid": "assistant-attachment-blocked",
169
- children: Y.length === 1 ? E("attachments.blockedOne", "{{name}} didn't upload. Retry or remove it before sending.", { name: Y[0].filename }) : E("attachments.blockedMany", "{{count}} attachments didn't upload. Retry or remove them before sending.", { count: Y.length })
170
- }) : /* @__PURE__ */ p("p", {
173
+ children: Y.length === 1 ? T("attachments.blockedOne", "{{name}} didn't upload. Retry or remove it before sending.", { name: Y[0].filename }) : T("attachments.blockedMany", "{{count}} attachments didn't upload. Retry or remove them before sending.", { count: Y.length })
174
+ }) : /* @__PURE__ */ g("p", {
171
175
  className: "text-text-muted",
172
- children: E("composer.hint", "Enter to send · Shift+Enter for newline · drag or paste files to attach")
176
+ children: T("composer.hint", "Enter to send · Shift+Enter for newline · drag or paste files to attach")
173
177
  })
174
178
  })
175
179
  ]
176
180
  });
177
181
  };
178
182
  //#endregion
179
- export { g as AssistantComposer };
183
+ export { y as AssistantComposer };
@@ -68,69 +68,70 @@ import { TURN_MILESTONES as qa, TURN_SEGMENTS as Ja, TURN_TIMELINE_EVENT as Ya,
68
68
  import { AssistantSpeechProvider as lo, useAssistantSpeech as uo } from "./shared/assistant/ui/AssistantSpeechProvider.js";
69
69
  import { useVoiceSession as fo } from "./shared/assistant/ui/useVoiceSession.js";
70
70
  import { getActorId as po, getOrganizationId as mo, getWorkspaceId as ho } from "./shared/assistant/context.js";
71
- import { SANDBOX_READY_TTL_MS as go, createReadinessTracker as _o, isRecentlyVerified as vo } from "./shared/assistant/sandboxReadiness.js";
72
- import { AssistantAutoSpeakToggle as yo } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
73
- import { AssistantMessageAttachments as bo } from "./shared/assistant/ui/AssistantMessageAttachments.js";
74
- import { AssistantPendingWriteCard as xo } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
75
- import { AssistantLanguageMenu as So } from "./shared/assistant/ui/AssistantLanguageMenu.js";
76
- import { AssistantReplyLanguageSelector as Co } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
77
- import { AssistantSpeakButton as wo } from "./shared/assistant/ui/AssistantSpeakButton.js";
78
- import { AssistantSpokenTurnsNotice as To } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
79
- import { AssistantConnectSourceProvider as Eo, connectSourceHrefRenders as Do, hasConnectSource as Oo, useAssistantConnectSource as ko } from "./shared/assistant/ui/composer/connectSource.js";
80
- import { AssistantConnectSourceItem as Ao, connectSourceActivation as jo } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
81
- import { ASSISTANT_OVERLAY_ATTR as Mo, ASSISTANT_PANEL_ATTR as No, NO_PANEL_OVERLAY as Po, activePanelOverlay as Fo, assistantPanelOwnsEscape as Io, escapeDismisses as Lo, focusIsInsidePanel as Ro, nextPanelOverlays as zo, panelOwnsEscape as Bo } from "./shared/assistant/ui/panelOverlays.js";
82
- import { useDropdownEscape as Vo } from "./shared/assistant/ui/useDropdownEscape.js";
83
- import { AssistantAttachmentButton as Ho } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
84
- import { AssistantAttachmentChips as Uo } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
85
- import { AssistantPreviewProvider as Wo, useAssistantPreview as Go } from "./shared/assistant/preview/context.js";
86
- import { IDLE_PREVIEW_STATE as Ko, isBlankProse as qo, isRunningStatus as Jo, nextPreviewEvents as Yo } from "./shared/assistant/preview/previewTransitions.js";
87
- import { IDLE_PREVIEW as Xo, NO_OWNER as Zo, applyPreviewEvent as Qo, createAssistantPreviewSurface as $o, currentPreviewOwner as es, runBelongsTo as ts, sameOwner as ns } from "./shared/assistant/preview/surfaceState.js";
88
- import { createRunIdentityCache as rs, runIdentities as is } from "./shared/assistant/preview/runIdentity.js";
89
- import { IDLE_ACTIVE_TAB as as, nextActiveTab as os, pinActiveTab as ss, shouldPinOnMove as cs, shouldPinOnSelect as ls, stepsFromToolActivity as us, tabForArrowKey as ds } from "./shared/assistant/preview/entity/entityPreviewState.js";
90
- import { AssistantStepRail as fs } from "./shared/assistant/preview/entity/AssistantStepRail.js";
91
- import { AssistantEntityPreview as ps } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
92
- import { useOverlayFocus as ms } from "./shared/assistant/ui/useOverlayFocus.js";
93
- import { REDUCED_MOTION_ATTRIBUTE as hs, REDUCED_MOTION_QUERY as gs, readReducedMotion as _s, subscribeReducedMotion as vs, usePrefersReducedMotion as ys } from "./shared/assistant/ui/usePrefersReducedMotion.js";
94
- import { useAssistantPreviewBridge as bs } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
95
- import { HostedPreviewBridgeContext as xs, panelOwnedPreviewBridge as Ss, useHostedAssistantPreviewBridge as Cs } from "./shared/assistant/preview/bridgeHostContext.js";
96
- import { AssistantPreviewBridgeHost as ws } from "./shared/assistant/preview/bridgeHost.js";
97
- import { AssistantPreviewOverlay as Ts } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
98
- import { AssistantLanguageSelector as Es, FOLLOW_APP_LOCALE as Ds } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
99
- import { ASSISTANT_MODE_META as Os, AUTO_MODE_OPTION_ID as ks, AssistantModeSelector as As, assistantModeMeta as js, nextModeIndex as Ms } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
100
- import { AssistantVoiceButton as Ns } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
101
- import { AUTO_VOICE as Ps, AssistantVoiceSelector as Fs } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
102
- import { AssistantVoiceOrb as Is } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
103
- import { AssistantVoiceSessionButton as Ls } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
104
- import { CAPTION_SCROLL_ATTR as Rs, VoiceCaption as zs } from "./shared/assistant/ui/voice/VoiceCaption.js";
105
- import { VoiceConversationView as Bs } from "./shared/assistant/ui/voice/VoiceConversationView.js";
106
- import { VoiceWaveform as Vs } from "./shared/assistant/ui/voice/VoiceWaveform.js";
107
- import { VoiceStatusLine as Hs, VoiceStatusText as Us } from "./shared/assistant/ui/voice/VoiceStatusText.js";
108
- import { VoiceMiniController as Ws } from "./shared/assistant/ui/voice/VoiceMiniController.js";
109
- import { VoiceStage as Gs } from "./shared/assistant/ui/voice/VoiceStage.js";
110
- import { VoiceTranscriptDrawer as Ks } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
111
- import { downloadFile as qs, exportConversation as Js } from "./shared/assistant/exportConversation.js";
112
- import { AssistantMoreMenu as Ys } from "./shared/assistant/ui/AssistantMoreMenu.js";
113
- import { AssistantHeader as Xs } from "./shared/assistant/ui/AssistantHeader.js";
114
- import { AssistantConversationList as Zs } from "./shared/assistant/ui/AssistantConversationList.js";
115
- import { AssistantEmptyState as Qs } from "./shared/assistant/ui/AssistantEmptyState.js";
116
- import { AssistantTurnActivity as $s, TurnActivityLine as ec } from "./shared/assistant/ui/AssistantTurnActivity.js";
117
- import { AssistantMessageItem as tc } from "./shared/assistant/ui/AssistantMessageItem.js";
118
- import { AssistantMessageList as nc } from "./shared/assistant/ui/AssistantMessageList.js";
119
- import { AssistantVoiceSession as rc } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
120
- import { useAssistantApiAccess as ic } from "./shared/assistant/useAssistantApiAccess.js";
121
- import { useConversationTurns as ac } from "./shared/assistant/useConversationTurns.js";
122
- import { isMultimodalBodyRejection as oc, isRecoverableAssistantError as sc } from "./shared/assistant/transportErrors.js";
123
- import { aiCreditsUpdatedEventName as cc, dispatchAssistantQuotaExhausted as lc, notifyAiCreditsUpdated as uc } from "./shared/assistant/aiCredits.js";
124
- import { useWorkspaceWriteAccess as dc } from "./shared/assistant/useWorkspaceWriteAccess.js";
125
- import { extractDocumentText as fc } from "./shared/assistant/documentExtract.js";
126
- import { useAssistantAttachments as pc } from "./shared/assistant/useAssistantAttachments.js";
127
- import { AssistantComposer as mc } from "./shared/assistant/ui/composer/AssistantComposer.js";
128
- import { isProdRuntime as hc } from "./shared/assistant/env.js";
129
- import { useAssistantHeartbeat as gc } from "./shared/assistant/useAssistantHeartbeat.js";
130
- import { useAssistantKeyboardShortcuts as _c } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
131
- import { AssistantApiCallsConsentDialog as vc } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
132
- import { AssistantChatArea as yc } from "./shared/assistant/ui/AssistantChatArea.js";
133
- import { AIAssistantPanel as bc } from "./shared/assistant/ui/AIAssistantPanel.js";
134
- import { ASSISTANT_BOTTOM_CHROME_CLEARANCE as xc, ASSISTANT_DIALOG_SELECTOR as Sc, ASSISTANT_DOCKED_DESKTOP_CLASS as Cc, ASSISTANT_DOCK_WIDTH_PX as wc, ASSISTANT_DOCK_WIDTH_VAR as Tc, ASSISTANT_FLOATING_DESKTOP_CLASS as Ec, ASSISTANT_OVERLAY_DEFAULT_TOP_PX as Dc, ASSISTANT_OVERLAY_DESKTOP_QUERY as Oc, ASSISTANT_OVERLAY_TOP_VAR as kc, ASSISTANT_SHEET_BASE_CLASS as Ac, ASSISTANT_SHEET_COMPACT_CLASS as jc, ASSISTANT_SHEET_EXPANDED_CLASS as Mc, ASSISTANT_TOGGLE_SHORTCUT_LABEL as Nc, aboveAssistantBottomChrome as Pc, assistantOverlayClassName as Fc, assistantOverlayEscapeAction as Ic, assistantOverlayKeys as Lc, assistantQuotaKindOf as Rc, createAssistantNavigate as zc, isAssistantToggleShortcut as Bc, nextAssistantOpenState as Vc, publishedAssistantDockWidth as Hc, readAssistantOverlayFlag as Uc, requestedAssistantOpenState as Wc, writeAssistantOverlayFlag as Gc } from "./shared/assistant/ui/assistantOverlayState.js";
135
- import { AssistantOverlay as Kc, AssistantOverlayProvider as qc, useAssistantDockWidth as Jc, useAssistantOverlayOrNull as Yc, useAssistantQuotaExhausted as Xc } from "./shared/assistant/ui/AssistantOverlay.js";
136
- export { Bi as ADMIN_MODE_ACCESS_WAIT_MS, bc as AIAssistantPanel, X as ASSISTANT_API_AUTH_STRATEGY, xc as ASSISTANT_BOTTOM_CHROME_CLEARANCE, Sc as ASSISTANT_DIALOG_SELECTOR, Cc as ASSISTANT_DOCKED_DESKTOP_CLASS, wc as ASSISTANT_DOCK_WIDTH_PX, Tc as ASSISTANT_DOCK_WIDTH_VAR, Ec as ASSISTANT_FLOATING_DESKTOP_CLASS, Ai as ASSISTANT_I18N_COMPUTED_COPY, ji as ASSISTANT_I18N_LITERAL_COPY, Mi as ASSISTANT_I18N_MANIFEST, gr as ASSISTANT_LANGUAGES, B as ASSISTANT_MODE_FALLBACK_LABELS, V as ASSISTANT_MODE_IDS, Os as ASSISTANT_MODE_META, Mo as ASSISTANT_OVERLAY_ATTR, Dc as ASSISTANT_OVERLAY_DEFAULT_TOP_PX, Oc as ASSISTANT_OVERLAY_DESKTOP_QUERY, kc as ASSISTANT_OVERLAY_TOP_VAR, No as ASSISTANT_PANEL_ATTR, Ac as ASSISTANT_SHEET_BASE_CLASS, jc as ASSISTANT_SHEET_COMPACT_CLASS, Mc as ASSISTANT_SHEET_EXPANDED_CLASS, Nc as ASSISTANT_TOGGLE_SHORTCUT_LABEL, Wr as ATTACHMENT_ACCEPT, Di as ATTACHMENT_SOURCES, la as AUTO_CARRY_OVER_MAX_CHARS, ua as AUTO_CARRY_OVER_MAX_CHARS_PER_MESSAGE, da as AUTO_CARRY_OVER_MAX_MESSAGES, ks as AUTO_MODE_OPTION_ID, fa as AUTO_READ_MODE, Ps as AUTO_VOICE, pa as AUTO_WRITE_MODE, vc as AssistantApiCallsConsentDialog, Ho as AssistantAttachmentButton, Uo as AssistantAttachmentChips, yo as AssistantAutoSpeakToggle, Ka as AssistantAvatar, yc as AssistantChatArea, mc as AssistantComposer, Ao as AssistantConnectSourceItem, Eo as AssistantConnectSourceProvider, Zs as AssistantConversationList, Qs as AssistantEmptyState, ps as AssistantEntityPreview, Xs as AssistantHeader, l as AssistantI18nProvider, So as AssistantLanguageMenu, Es as AssistantLanguageSelector, m as AssistantMarkdownImage, _ as AssistantMarkdownRenderer, bo as AssistantMessageAttachments, tc as AssistantMessageItem, nc as AssistantMessageList, As as AssistantModeSelector, Ys as AssistantMoreMenu, v as AssistantNavigateProvider, Kc as AssistantOverlay, qc as AssistantOverlayProvider, xo as AssistantPendingWriteCard, ws as AssistantPreviewBridgeHost, Ts as AssistantPreviewOverlay, Wo as AssistantPreviewProvider, r as AssistantProductProvider, Co as AssistantReplyLanguageSelector, ze as AssistantRuntimeManager, Li as AssistantSendRefusal, wo as AssistantSpeakButton, lo as AssistantSpeechProvider, To as AssistantSpokenTurnsNotice, fs as AssistantStepRail, Ha as AssistantToolActivity, $s as AssistantTurnActivity, Ns as AssistantVoiceButton, Is as AssistantVoiceOrb, Fs as AssistantVoiceSelector, rc as AssistantVoiceSession, Ls as AssistantVoiceSessionButton, Gr as AttachmentRejectedError, wr as BOILERPLATE_PAGE_SHARE, $e as BUILT_IN_MODE_CAPABILITIES, Rs as CAPTION_SCROLL_ATTR, j as CHECK_AI_CREDITS, M as CREATE_SANDBOX, Kr as DEFAULT_INLINE_LIMITS, Yn as DEFAULT_SPEAKABLE_LABELS, _r as DEFAULT_SPEECH_RATE, st as DEFAULT_STREAM_BUDGET_MS, Mn as ENDPOINT_GRACE_MS, N as EXTEND_SANDBOX_TTL, Ds as FOLLOW_APP_LOCALE, P as GET_ACTIVE_SANDBOXES, F as GET_SANDBOX, Tt as HOSTED_DISABLE_MS, Et as HOSTED_TTS_MAX_CHARS, xt as HOSTED_TTS_TIER, St as HOSTED_VOICES, Vt as HOSTED_VOICE_RANK, xs as HostedPreviewBridgeContext, as as IDLE_ACTIVE_TAB, ia as IDLE_PLAYBACK, Xo as IDLE_PREVIEW, Ko as IDLE_PREVIEW_STATE, Dn as IDLE_ROTATION_CLOCK, ct as INCOMPLETE_TURN_NOTICES, Nn as INITIAL_SESSION, qr as INLINE_IMAGE_MAX_DIM, Jr as INLINE_IMAGE_QUALITY, Pn as INTERRUPT_MAX_MS, Fn as INTERRUPT_MIN_MS, Ki as LEGACY_WRITE_CONSENT_KEY, et as MAX_ASSISTANT_STREAM_BUDGET_MS, Yr as MAX_ATTACHMENTS, Tr as MAX_BOILERPLATE_LINE_CHARS, Xr as MAX_CONFIGURABLE_INLINE_CHARS, Er as MAX_EXTRACTED_CHARS, Zr as MAX_FILE_BYTES, Qr as MAX_INLINE_CHARS_PER_FILE, $r as MAX_INLINE_CHARS_TOTAL, se as MAX_INLINE_IMAGE_BASE64_BYTES, ei as MAX_INLINE_IMAGE_BASE64_CHARS, ti as MAX_INLINE_IMAGE_PARTS, ni as MAX_INLINE_TURN_BODY_BYTES, Dr as MAX_PDF_PAGES_SCANNED, ce as MAX_REQUEST_BODY_BYTES, Xn as MAX_SPEAKABLE_CHARS, Zn as MAX_SPOKEN_TABLE_ROWS, ri as MAX_TURN_BODY_BYTES, sr as MINI_CAPTION_BUDGET, Or as MIN_PAGE_TEXT_CHARS, kr as MIN_TEXT_PAGE_SHARE, In as NOTHING_HEARD, Ra as NO_FIRST_TEXT, Zo as NO_OWNER, Po as NO_PANEL_OVERLAY, hn as PHRASE_ROTATE_MS, lr as POLL_FAST_MS, ur as POLL_FAST_UNTIL_MS, dr as POLL_SLOW_MS, fr as POLL_STEADY_MS, pr as POLL_STEADY_UNTIL_MS, ar as PREVIEW_LANGUAGES, W as PRODUCT_ASSISTANT_MODE_ID_MAX_LENGTH, G as PRODUCT_ASSISTANT_MODE_ID_PATTERN, ii as PROMPT_ENVELOPE_RESERVE_BYTES, ai as PROVIDER_READABLE_FILE_MEDIA_TYPES, I as PROXY_SANDBOX_REQUEST, hs as REDUCED_MOTION_ATTRIBUTE, gs as REDUCED_MOTION_QUERY, L as REPORT_AI_TOKEN_USAGE, le as REQUEST_TOO_LARGE_REFUSAL, go as SANDBOX_READY_TTL_MS, Ln as SILENCE_SUBMIT_MS, Dt as SPEAKING_RATE_MAX, Ot as SPEAKING_RATE_MAX_STREAMING, kt as SPEAKING_RATE_MAX_SYNC, At as SPEAKING_RATE_MIN, Qn as SPEECH_CHUNK_CHARS, $n as SPEECH_CHUNK_CJK_CHARS, Ht as SPEECH_LANG, ea as SPOKEN_LABEL_LANGUAGES, gn as STAGE_COPY, e as START_RETRY_COOLDOWN_MS, R as STOP_ASSISTANT_SANDBOX, lt as STREAM_BUDGET_MS, qi as TAKE_ACTION_ENGLISH, _n as THINKING_PHRASES, oi as TURN_BODY_HEADROOM_BYTES, qa as TURN_MILESTONES, Qe as TURN_OUTCOME_COPY, Ja as TURN_SEGMENTS, Ya as TURN_TIMELINE_EVENT, ec as TurnActivityLine, tt as UNAVAILABLE_MODE_REFUSAL, nt as UNDECLARED_MODE_CAPABILITIES, Ut as VOICE_LIST_TIMEOUT_MS, Sn as VOICE_MUTED_LABEL, Cn as VOICE_THINKING_LABEL, zs as VoiceCaption, Bs as VoiceConversationView, Ws as VoiceMiniController, Gs as VoiceStage, Hs as VoiceStatusLine, Us as VoiceStatusText, Ks as VoiceTranscriptDrawer, Vs as VoiceWaveform, z as WAIT_FOR_SANDBOX_RUNNING, ue as abortAssistantTurn, Pc as aboveAssistantBottomChrome, Fo as activePanelOverlay, rt as adminOnlyModeSendRefusal, Vi as adminOnlyModeSendRefusalAfterAccess, Rn as advanceHeardClock, On as advanceRotationClock, cc as aiCreditsUpdatedEventName, Qo as applyPreviewEvent, de as approvePendingWrite, Ni as assistantI18nSeedCopy, H as assistantModeFallbackLabel, Pi as assistantModeI18nCopy, js as assistantModeMeta, Fc as assistantOverlayClassName, Ic as assistantOverlayEscapeAction, Lc as assistantOverlayKeys, Io as assistantPanelOwnsEscape, Rc as assistantQuotaKindOf, y as assistantRoutePath, u as assistantTranslationKey, b as assistantUrlTransform, ma as autoCarryOverFor, ha as autoSuggestions, Oi as availableAttachmentSources, jt as base64ToBytes, Xa as beginTurn, x as browserShouldHandle, bt as browserSpeechEngine, za as buildAssistantProgress, fe as buildAssistantSandboxEnv, si as buildAttachmentPromptBlock, ga as buildAutoCarryOver, Gi as buildBoundedAttachmentTurn, Kn as buildContinuedFromVoiceNote, Be as buildProgress, pe as buildPromptGatewayRequest, ci as buildPromptParts, me as buildPromptRequestBody, li as buildPromptWithAttachments, Mt as buildRequest, k as buildSandboxContextInput, qn as buildVoiceTranscriptMarkdown, K as builtInModeExtendedBy, pt as chatTurns, he as checkAssistantAiCredits, er as chunkForSpeech, S as classifyAssistantHref, _a as classifyAssistantIntent, ui as classifyAttachment, Nt as classifyHttpFailure, w as classifyQuotaError, Ri as classifyTurnFailure, Ar as columnLetterToIndex, wn as composeVoiceStatus, nn as configureSpeechEngine, jo as connectSourceActivation, Do as connectSourceHrefRenders, tr as containsCjk, p as copyToClipboard, di as countInlineImageCandidates, fi as countInlinedImageParts, Wa as countSpokenTurns, Hi as createAdminModeAccessGate, zc as createAssistantNavigate, $o as createAssistantPreviewSurface, ge as createAssistantSandbox, _e as createAssistantSession, zt as createHostedTtsEngine, _o as createReadinessTracker, tn as createRoutingSpeechEngine, rs as createRunIdentityCache, Xe as createSandboxAssistantTransport, rn as createSpeechEngines, es as currentPreviewOwner, q as declareAssistantMode, Pt as decodeAudioResponse, jr as decodeXmlEntities, Fi as describePermissionError, T as describeQuotaError, Za as describeTurn, pi as detectDocumentFormat, na as detectScriptLocale, Qa as detectTurnDevice, ki as deviceHasCamera, Ft as disableDurationMs, lc as dispatchAssistantQuotaExhausted, Mr as docxXmlToText, ve as downloadAssistantArtifact, qs as downloadFile, Na as elapsedSince, va as escalationToUndo, Lo as escapeDismisses, mi as estimateTurnBodyBytes, A as executeSandboxGraphQL, Js as exportConversation, ye as extendAssistantSandboxTTL, E as extensionObjectsIn, fc as extractDocumentText, vr as findAssistantLanguage, it as findAssistantModeConfig, be as findExistingSandbox, xe as findExistingSandboxWithStatus, Sr as findPendingWrite, Nr as fitPdfPages, Ro as focusIsInsidePanel, hi as formatBytes, Pr as formatPageRanges, Se as forwardsUserTokensToSandbox, po as getActorId, Ce as getAssistantArtifacts, Ma as getAssistantDisplayContent, Ve as getAssistantMedia, we as getAssistantMessages, Te as getAssistantSession, Ee as getAssistantStreamAccess, He as getAssistantText, gi as getAttachmentSendBlocker, re as getCapability, _i as getExtension, Z as getImageForMode, Q as getImageTagForMode, mo as getOrganizationId, Ue as getRawMessageCreatedAt, $ as getResourcesForMode, ee as getSandboxImageRegistry, vi as getSendableAttachments, an as getSpeechEngine, We as getToolProgress, ho as getWorkspaceId, mt as groupBySession, ht as groupConsecutiveBySession, yi as hasAttachmentWorkInFlight, Oo as hasConnectSource, Ct as hostedLocaleFor, wt as hostedSupportsLanguage, h as imageHostLabel, ut as incompleteTurnNotice, J as isAssistantModeId, Bc as isAssistantToggleShortcut, ya as isAutoRoutingOffered, qo as isBlankProse, U as isBuiltInAssistantMode, zn as isCapturing, $a as isComparableTurn, Bn as isEcho, Wt as isHostedVoice, Oa as isLegacyFiller, ka as isLegacyStopped, Fr as isMostlyImagePages, oc as isMultimodalBodyRejection, hc as isProdRuntime, Y as isProductAssistantModeId, bi as isProviderReadableFilePart, D as isQuotaExhaustedError, Ge as isReapedSandboxConnectionError, vo as isRecentlyVerified, Ke as isRecoverable, sc as isRecoverableAssistantError, g as isRemoteImageSrc, Jo as isRunningStatus, aa as isSpeakingMessage, Gt as isSpeechBlocked, Aa as isStageCopy, Vn as isSubmittable, Ta as isTurnInFlight, ie as isUnknownFieldError, gt as isVoiceTurn, Ji as isWriteModeAcknowledged, Ir as joinSheets, Kt as languageDisplayName, xi as largestInlineCharsPerFile, qe as mapSessionToHistory, ae as markSupported, eo as markTurn, oe as markUnsupported, Je as mergeMessagesById, Sa as mergePersistedAssistantState, ln as micIsInterrupt, De as modeRequiresConfirmWrites, Pa as msUntilNextPhrase, os as nextActiveTab, Vc as nextAssistantOpenState, Ms as nextModeIndex, zo as nextPanelOverlays, Yo as nextPreviewEvents, qt as normalizeLangTag, uc as notifyAiCreditsUpdated, Hn as orbMode, Lr as pageMarker, Ss as panelOwnedPreviewBridge, Bo as panelOwnsEscape, Cr as parseConfirmationRefusal, Si as parseDataUrl, Rr as parseSharedStrings, Ua as parseToolActivity, zr as parseWorkbookSheets, Br as pdfTextItemsToPage, Ii as permissionRefusalMessage, ss as pinActiveTab, Ea as planAbandonedTurn, Un as planReplyConsumption, Da as planTurnAbort, mr as pollDelayMs, Jt as primaryLanguageSubtag, Oe as promptGatewayRequestBytes, Hc as publishedAssistantDockWidth, oa as publishedChunks, O as quotaExhaustedEventName, Uc as readAssistantOverlayFlag, _s as readReducedMotion, on as readSpeechEngineConfig, to as recentTurnTimelines, ke as releaseSupersededAssistantSandboxes, br as replyFollowsInput, Ae as reportAssistantAiTokenUsage, Wc as requestedAssistantOpenState, sa as requiresCancel, sn as resetSpeechEngine, no as resetTurnTimelines, Ca as resolveActiveModeSandbox, Ci as resolveAssistantInlineLimits, yr as resolveAssistantLanguage, at as resolveAssistantModeCapabilities, Ui as resolveAssistantSendModeAfterAccess, ba as resolveAutoRoute, xr as resolveLanguagePair, i as resolveModeConfig, te as resolveSandboxAssistantMode, ra as resolveSpeechLocale, ro as restartAttempt, Yi as restoreAcknowledgedWriteModes, xa as restoreAutoRouting, Bt as retryDelayMs, kn as rotationElapsedMs, ts as runBelongsTo, is as runIdentities, ns as sameOwner, ne as sandboxBaseModeFor, je as sandboxStatusOf, Ye as sanitize, io as segmentStats, Me as selectExistingAssistantSandbox, Ne as selectSupersededAssistantSandboxes, Yt as selectVoiceForLocale, Pe as sendAssistantPromptAsync, Fe as sendHeartbeat, Vr as sheetXmlToRows, It as shouldDisableEngine, cs as shouldPinOnMove, ls as shouldPinOnSelect, cr as showPreviousChunk, un as showsAssistantCaption, dn as showsUserCaption, Ba as snapshotReplyFloor, Lt as speakableChunks, nr as speakableEmail, Xt as speechGate, ta as speechLabelsFor, Zt as speechLangForLocale, ca as speechPlaybackReducer, Rt as splitForVendor, rr as splitTableRow, Wn as spokenSoFar, Ga as spokenTurnText, vn as stageText, t as startIsCoolingDown, Fa as startPhraseTicker, An as startRotationTicker, yn as statusStageCopy, us as stepsFromToolActivity, Ie as stopReapedAssistantSandbox, dt as streamBudgetMs, ja as stripLegacyFillerPrefix, vs as subscribeReducedMotion, cn as subscribeSpeechEngine, Hr as summarisePageText, ao as summariseTurnTimelines, jn as syncRotationClock, ds as tabForArrowKey, bn as thinkingPhrase, xn as thinkingPhraseEntry, hr as toCaptionText, wi as toMessageAttachment, ir as toSpeakableText, Va as trackFirstText, Ti as truncateForInline, Ur as truncatePagesForInline, Ia as turnActivityCopy, La as turnActivityStage, oo as turnClockMs, zi as turnOutcomeCopy, so as turnSegments, co as turnTimeline, ot as unofferedModeSendRefusal, Wi as unofferedModeSendRefusalAfterAccess, ic as useAssistantApiAccess, pc as useAssistantAttachments, ko as useAssistantConnectSource, Jc as useAssistantDockWidth, gc as useAssistantHeartbeat, d as useAssistantI18nNamespace, _c as useAssistantKeyboardShortcuts, C as useAssistantNavigate, Yc as useAssistantOverlayOrNull, a as useAssistantPageLabel, Go as useAssistantPreview, bs as useAssistantPreviewBridge, o as useAssistantProduct, s as useAssistantProductOrNull, Xc as useAssistantQuotaExhausted, uo as useAssistantSpeech, c as useAssistantStorageFolders, wa as useAssistantStore, f as useAssistantTr, ac as useConversationTurns, Vo as useDropdownEscape, Cs as useHostedAssistantPreviewBridge, ms as useOverlayFocus, ys as usePrefersReducedMotion, Ze as useSandboxAssistantTransport, n as useVoiceInput, fo as useVoiceSession, dc as useWorkspaceWriteAccess, Ei as validateFile, Qt as voiceAvailability, _t as voiceMarker, or as voicePreviewText, $t as voiceQualityRank, vt as voiceSessionIdOf, Gn as voiceSessionReducer, fn as voiceStageState, Tn as voiceStatusParts, En as voiceStatusSuffix, Jn as voiceTranscriptFilename, yt as voiceTurnsOnly, en as voicesForLocale, Le as waitForAssistantServiceReady, Re as waitForSandboxRunning, pn as waveformIsActive, mn as waveformIsSettled, ft as withIncompleteTurnNotice, Xi as withWriteModeAcknowledged, Gc as writeAssistantOverlayFlag, Zi as writeModeConsentCopy, Qi as writeModeSendRefusal, $i as writeModeSendRefusalReason };
71
+ import { isMultimodalBodyRejection as go, isNeverRecoverableAssistantError as _o, isRecoverableAssistantError as vo } from "./shared/assistant/transportErrors.js";
72
+ import { SANDBOX_READY_TTL_MS as yo, createReadinessTracker as bo, isRecentlyVerified as xo, planAfterTransportFailure as So, planTrustedSandboxFailure as Co } from "./shared/assistant/sandboxReadiness.js";
73
+ import { AssistantAutoSpeakToggle as wo } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
74
+ import { AssistantMessageAttachments as To } from "./shared/assistant/ui/AssistantMessageAttachments.js";
75
+ import { AssistantPendingWriteCard as Eo } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
76
+ import { AssistantLanguageMenu as Do } from "./shared/assistant/ui/AssistantLanguageMenu.js";
77
+ import { AssistantReplyLanguageSelector as Oo } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
78
+ import { AssistantSpeakButton as ko } from "./shared/assistant/ui/AssistantSpeakButton.js";
79
+ import { AssistantSpokenTurnsNotice as Ao } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
80
+ import { AssistantConnectSourceProvider as jo, connectSourceHrefRenders as Mo, hasConnectSource as No, useAssistantConnectSource as Po } from "./shared/assistant/ui/composer/connectSource.js";
81
+ import { AssistantConnectSourceItem as Fo, connectSourceActivation as Io } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
82
+ import { ASSISTANT_OVERLAY_ATTR as Lo, ASSISTANT_PANEL_ATTR as Ro, NO_PANEL_OVERLAY as zo, activePanelOverlay as Bo, assistantPanelOwnsEscape as Vo, escapeDismisses as Ho, focusIsInsidePanel as Uo, nextPanelOverlays as Wo, panelOwnsEscape as Go } from "./shared/assistant/ui/panelOverlays.js";
83
+ import { useDropdownEscape as Ko } from "./shared/assistant/ui/useDropdownEscape.js";
84
+ import { AssistantAttachmentButton as qo } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
85
+ import { AssistantAttachmentChips as Jo } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
86
+ import { AssistantPreviewProvider as Yo, useAssistantPreview as Xo } from "./shared/assistant/preview/context.js";
87
+ import { IDLE_PREVIEW_STATE as Zo, isBlankProse as Qo, isRunningStatus as $o, nextPreviewEvents as es } from "./shared/assistant/preview/previewTransitions.js";
88
+ import { IDLE_PREVIEW as ts, NO_OWNER as ns, applyPreviewEvent as rs, createAssistantPreviewSurface as is, currentPreviewOwner as as, runBelongsTo as os, sameOwner as ss } from "./shared/assistant/preview/surfaceState.js";
89
+ import { createRunIdentityCache as cs, runIdentities as ls } from "./shared/assistant/preview/runIdentity.js";
90
+ import { IDLE_ACTIVE_TAB as us, nextActiveTab as ds, pinActiveTab as fs, shouldPinOnMove as ps, shouldPinOnSelect as ms, stepsFromToolActivity as hs, tabForArrowKey as gs } from "./shared/assistant/preview/entity/entityPreviewState.js";
91
+ import { AssistantStepRail as _s } from "./shared/assistant/preview/entity/AssistantStepRail.js";
92
+ import { AssistantEntityPreview as vs } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
93
+ import { useOverlayFocus as ys } from "./shared/assistant/ui/useOverlayFocus.js";
94
+ import { REDUCED_MOTION_ATTRIBUTE as bs, REDUCED_MOTION_QUERY as xs, readReducedMotion as Ss, subscribeReducedMotion as Cs, usePrefersReducedMotion as ws } from "./shared/assistant/ui/usePrefersReducedMotion.js";
95
+ import { useAssistantPreviewBridge as Ts } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
96
+ import { HostedPreviewBridgeContext as Es, panelOwnedPreviewBridge as Ds, useHostedAssistantPreviewBridge as Os } from "./shared/assistant/preview/bridgeHostContext.js";
97
+ import { AssistantPreviewBridgeHost as ks } from "./shared/assistant/preview/bridgeHost.js";
98
+ import { AssistantPreviewOverlay as As } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
99
+ import { AssistantLanguageSelector as js, FOLLOW_APP_LOCALE as Ms } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
100
+ import { ASSISTANT_MODE_META as Ns, AUTO_MODE_OPTION_ID as Ps, AssistantModeSelector as Fs, assistantModeMeta as Is, nextModeIndex as Ls } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
101
+ import { AssistantVoiceButton as Rs } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
102
+ import { AUTO_VOICE as zs, AssistantVoiceSelector as Bs } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
103
+ import { AssistantVoiceOrb as Vs } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
104
+ import { AssistantVoiceSessionButton as Hs } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
105
+ import { CAPTION_SCROLL_ATTR as Us, VoiceCaption as Ws } from "./shared/assistant/ui/voice/VoiceCaption.js";
106
+ import { VoiceConversationView as Gs } from "./shared/assistant/ui/voice/VoiceConversationView.js";
107
+ import { VoiceWaveform as Ks } from "./shared/assistant/ui/voice/VoiceWaveform.js";
108
+ import { VoiceStatusLine as qs, VoiceStatusText as Js } from "./shared/assistant/ui/voice/VoiceStatusText.js";
109
+ import { VoiceMiniController as Ys } from "./shared/assistant/ui/voice/VoiceMiniController.js";
110
+ import { VoiceStage as Xs } from "./shared/assistant/ui/voice/VoiceStage.js";
111
+ import { VoiceTranscriptDrawer as Zs } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
112
+ import { downloadFile as Qs, exportConversation as $s } from "./shared/assistant/exportConversation.js";
113
+ import { AssistantMoreMenu as ec } from "./shared/assistant/ui/AssistantMoreMenu.js";
114
+ import { AssistantHeader as tc } from "./shared/assistant/ui/AssistantHeader.js";
115
+ import { AssistantConversationList as nc } from "./shared/assistant/ui/AssistantConversationList.js";
116
+ import { AssistantEmptyState as rc } from "./shared/assistant/ui/AssistantEmptyState.js";
117
+ import { AssistantTurnActivity as ic, TurnActivityLine as ac } from "./shared/assistant/ui/AssistantTurnActivity.js";
118
+ import { AssistantMessageItem as oc } from "./shared/assistant/ui/AssistantMessageItem.js";
119
+ import { AssistantMessageList as sc } from "./shared/assistant/ui/AssistantMessageList.js";
120
+ import { AssistantVoiceSession as cc } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
121
+ import { useAssistantApiAccess as lc } from "./shared/assistant/useAssistantApiAccess.js";
122
+ import { useConversationTurns as uc } from "./shared/assistant/useConversationTurns.js";
123
+ import { PREWARM_COOLDOWN_MS as dc, WarmCancelled as fc, consumeWarm as pc, prewarmTarget as mc, resetWarmsForTest as hc, settleWarmBeforeSend as gc, startWarm as _c, warmState as vc } from "./shared/assistant/prewarm.js";
124
+ import { aiCreditsUpdatedEventName as yc, dispatchAssistantQuotaExhausted as bc, notifyAiCreditsUpdated as xc } from "./shared/assistant/aiCredits.js";
125
+ import { useWorkspaceWriteAccess as Sc } from "./shared/assistant/useWorkspaceWriteAccess.js";
126
+ import { extractDocumentText as Cc } from "./shared/assistant/documentExtract.js";
127
+ import { useAssistantAttachments as wc } from "./shared/assistant/useAssistantAttachments.js";
128
+ import { AssistantComposer as Tc } from "./shared/assistant/ui/composer/AssistantComposer.js";
129
+ import { isProdRuntime as Ec } from "./shared/assistant/env.js";
130
+ import { useAssistantHeartbeat as Dc } from "./shared/assistant/useAssistantHeartbeat.js";
131
+ import { useAssistantKeyboardShortcuts as Oc } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
132
+ import { AssistantApiCallsConsentDialog as kc } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
133
+ import { AssistantChatArea as Ac } from "./shared/assistant/ui/AssistantChatArea.js";
134
+ import { AIAssistantPanel as jc } from "./shared/assistant/ui/AIAssistantPanel.js";
135
+ import { ASSISTANT_BOTTOM_CHROME_CLEARANCE as Mc, ASSISTANT_DIALOG_SELECTOR as Nc, ASSISTANT_DOCKED_DESKTOP_CLASS as Pc, ASSISTANT_DOCK_WIDTH_PX as Fc, ASSISTANT_DOCK_WIDTH_VAR as Ic, ASSISTANT_FLOATING_DESKTOP_CLASS as Lc, ASSISTANT_OVERLAY_DEFAULT_TOP_PX as Rc, ASSISTANT_OVERLAY_DESKTOP_QUERY as zc, ASSISTANT_OVERLAY_TOP_VAR as Bc, ASSISTANT_SHEET_BASE_CLASS as Vc, ASSISTANT_SHEET_COMPACT_CLASS as Hc, ASSISTANT_SHEET_EXPANDED_CLASS as Uc, ASSISTANT_TOGGLE_SHORTCUT_LABEL as Wc, aboveAssistantBottomChrome as Gc, assistantOverlayClassName as Kc, assistantOverlayEscapeAction as qc, assistantOverlayKeys as Jc, assistantQuotaKindOf as Yc, createAssistantNavigate as Xc, isAssistantToggleShortcut as Zc, nextAssistantOpenState as Qc, publishedAssistantDockWidth as $c, readAssistantOverlayFlag as el, requestedAssistantOpenState as tl, writeAssistantOverlayFlag as nl } from "./shared/assistant/ui/assistantOverlayState.js";
136
+ import { AssistantOverlay as rl, AssistantOverlayProvider as il, useAssistantDockWidth as al, useAssistantOverlayOrNull as ol, useAssistantQuotaExhausted as sl } from "./shared/assistant/ui/AssistantOverlay.js";
137
+ export { Bi as ADMIN_MODE_ACCESS_WAIT_MS, jc as AIAssistantPanel, X as ASSISTANT_API_AUTH_STRATEGY, Mc as ASSISTANT_BOTTOM_CHROME_CLEARANCE, Nc as ASSISTANT_DIALOG_SELECTOR, Pc as ASSISTANT_DOCKED_DESKTOP_CLASS, Fc as ASSISTANT_DOCK_WIDTH_PX, Ic as ASSISTANT_DOCK_WIDTH_VAR, Lc as ASSISTANT_FLOATING_DESKTOP_CLASS, Ai as ASSISTANT_I18N_COMPUTED_COPY, ji as ASSISTANT_I18N_LITERAL_COPY, Mi as ASSISTANT_I18N_MANIFEST, gr as ASSISTANT_LANGUAGES, B as ASSISTANT_MODE_FALLBACK_LABELS, V as ASSISTANT_MODE_IDS, Ns as ASSISTANT_MODE_META, Lo as ASSISTANT_OVERLAY_ATTR, Rc as ASSISTANT_OVERLAY_DEFAULT_TOP_PX, zc as ASSISTANT_OVERLAY_DESKTOP_QUERY, Bc as ASSISTANT_OVERLAY_TOP_VAR, Ro as ASSISTANT_PANEL_ATTR, Vc as ASSISTANT_SHEET_BASE_CLASS, Hc as ASSISTANT_SHEET_COMPACT_CLASS, Uc as ASSISTANT_SHEET_EXPANDED_CLASS, Wc as ASSISTANT_TOGGLE_SHORTCUT_LABEL, Wr as ATTACHMENT_ACCEPT, Di as ATTACHMENT_SOURCES, la as AUTO_CARRY_OVER_MAX_CHARS, ua as AUTO_CARRY_OVER_MAX_CHARS_PER_MESSAGE, da as AUTO_CARRY_OVER_MAX_MESSAGES, Ps as AUTO_MODE_OPTION_ID, fa as AUTO_READ_MODE, zs as AUTO_VOICE, pa as AUTO_WRITE_MODE, kc as AssistantApiCallsConsentDialog, qo as AssistantAttachmentButton, Jo as AssistantAttachmentChips, wo as AssistantAutoSpeakToggle, Ka as AssistantAvatar, Ac as AssistantChatArea, Tc as AssistantComposer, Fo as AssistantConnectSourceItem, jo as AssistantConnectSourceProvider, nc as AssistantConversationList, rc as AssistantEmptyState, vs as AssistantEntityPreview, tc as AssistantHeader, l as AssistantI18nProvider, Do as AssistantLanguageMenu, js as AssistantLanguageSelector, m as AssistantMarkdownImage, _ as AssistantMarkdownRenderer, To as AssistantMessageAttachments, oc as AssistantMessageItem, sc as AssistantMessageList, Fs as AssistantModeSelector, ec as AssistantMoreMenu, v as AssistantNavigateProvider, rl as AssistantOverlay, il as AssistantOverlayProvider, Eo as AssistantPendingWriteCard, ks as AssistantPreviewBridgeHost, As as AssistantPreviewOverlay, Yo as AssistantPreviewProvider, r as AssistantProductProvider, Oo as AssistantReplyLanguageSelector, ze as AssistantRuntimeManager, Li as AssistantSendRefusal, ko as AssistantSpeakButton, lo as AssistantSpeechProvider, Ao as AssistantSpokenTurnsNotice, _s as AssistantStepRail, Ha as AssistantToolActivity, ic as AssistantTurnActivity, Rs as AssistantVoiceButton, Vs as AssistantVoiceOrb, Bs as AssistantVoiceSelector, cc as AssistantVoiceSession, Hs as AssistantVoiceSessionButton, Gr as AttachmentRejectedError, wr as BOILERPLATE_PAGE_SHARE, $e as BUILT_IN_MODE_CAPABILITIES, Us as CAPTION_SCROLL_ATTR, j as CHECK_AI_CREDITS, M as CREATE_SANDBOX, Kr as DEFAULT_INLINE_LIMITS, Yn as DEFAULT_SPEAKABLE_LABELS, _r as DEFAULT_SPEECH_RATE, st as DEFAULT_STREAM_BUDGET_MS, Mn as ENDPOINT_GRACE_MS, N as EXTEND_SANDBOX_TTL, Ms as FOLLOW_APP_LOCALE, P as GET_ACTIVE_SANDBOXES, F as GET_SANDBOX, Tt as HOSTED_DISABLE_MS, Et as HOSTED_TTS_MAX_CHARS, xt as HOSTED_TTS_TIER, St as HOSTED_VOICES, Vt as HOSTED_VOICE_RANK, Es as HostedPreviewBridgeContext, us as IDLE_ACTIVE_TAB, ia as IDLE_PLAYBACK, ts as IDLE_PREVIEW, Zo as IDLE_PREVIEW_STATE, Dn as IDLE_ROTATION_CLOCK, ct as INCOMPLETE_TURN_NOTICES, Nn as INITIAL_SESSION, qr as INLINE_IMAGE_MAX_DIM, Jr as INLINE_IMAGE_QUALITY, Pn as INTERRUPT_MAX_MS, Fn as INTERRUPT_MIN_MS, Ki as LEGACY_WRITE_CONSENT_KEY, et as MAX_ASSISTANT_STREAM_BUDGET_MS, Yr as MAX_ATTACHMENTS, Tr as MAX_BOILERPLATE_LINE_CHARS, Xr as MAX_CONFIGURABLE_INLINE_CHARS, Er as MAX_EXTRACTED_CHARS, Zr as MAX_FILE_BYTES, Qr as MAX_INLINE_CHARS_PER_FILE, $r as MAX_INLINE_CHARS_TOTAL, se as MAX_INLINE_IMAGE_BASE64_BYTES, ei as MAX_INLINE_IMAGE_BASE64_CHARS, ti as MAX_INLINE_IMAGE_PARTS, ni as MAX_INLINE_TURN_BODY_BYTES, Dr as MAX_PDF_PAGES_SCANNED, ce as MAX_REQUEST_BODY_BYTES, Xn as MAX_SPEAKABLE_CHARS, Zn as MAX_SPOKEN_TABLE_ROWS, ri as MAX_TURN_BODY_BYTES, sr as MINI_CAPTION_BUDGET, Or as MIN_PAGE_TEXT_CHARS, kr as MIN_TEXT_PAGE_SHARE, In as NOTHING_HEARD, Ra as NO_FIRST_TEXT, ns as NO_OWNER, zo as NO_PANEL_OVERLAY, hn as PHRASE_ROTATE_MS, lr as POLL_FAST_MS, ur as POLL_FAST_UNTIL_MS, dr as POLL_SLOW_MS, fr as POLL_STEADY_MS, pr as POLL_STEADY_UNTIL_MS, ar as PREVIEW_LANGUAGES, dc as PREWARM_COOLDOWN_MS, W as PRODUCT_ASSISTANT_MODE_ID_MAX_LENGTH, G as PRODUCT_ASSISTANT_MODE_ID_PATTERN, ii as PROMPT_ENVELOPE_RESERVE_BYTES, ai as PROVIDER_READABLE_FILE_MEDIA_TYPES, I as PROXY_SANDBOX_REQUEST, bs as REDUCED_MOTION_ATTRIBUTE, xs as REDUCED_MOTION_QUERY, L as REPORT_AI_TOKEN_USAGE, le as REQUEST_TOO_LARGE_REFUSAL, yo as SANDBOX_READY_TTL_MS, Ln as SILENCE_SUBMIT_MS, Dt as SPEAKING_RATE_MAX, Ot as SPEAKING_RATE_MAX_STREAMING, kt as SPEAKING_RATE_MAX_SYNC, At as SPEAKING_RATE_MIN, Qn as SPEECH_CHUNK_CHARS, $n as SPEECH_CHUNK_CJK_CHARS, Ht as SPEECH_LANG, ea as SPOKEN_LABEL_LANGUAGES, gn as STAGE_COPY, e as START_RETRY_COOLDOWN_MS, R as STOP_ASSISTANT_SANDBOX, lt as STREAM_BUDGET_MS, qi as TAKE_ACTION_ENGLISH, _n as THINKING_PHRASES, oi as TURN_BODY_HEADROOM_BYTES, qa as TURN_MILESTONES, Qe as TURN_OUTCOME_COPY, Ja as TURN_SEGMENTS, Ya as TURN_TIMELINE_EVENT, ac as TurnActivityLine, tt as UNAVAILABLE_MODE_REFUSAL, nt as UNDECLARED_MODE_CAPABILITIES, Ut as VOICE_LIST_TIMEOUT_MS, Sn as VOICE_MUTED_LABEL, Cn as VOICE_THINKING_LABEL, Ws as VoiceCaption, Gs as VoiceConversationView, Ys as VoiceMiniController, Xs as VoiceStage, qs as VoiceStatusLine, Js as VoiceStatusText, Zs as VoiceTranscriptDrawer, Ks as VoiceWaveform, z as WAIT_FOR_SANDBOX_RUNNING, fc as WarmCancelled, ue as abortAssistantTurn, Gc as aboveAssistantBottomChrome, Bo as activePanelOverlay, rt as adminOnlyModeSendRefusal, Vi as adminOnlyModeSendRefusalAfterAccess, Rn as advanceHeardClock, On as advanceRotationClock, yc as aiCreditsUpdatedEventName, rs as applyPreviewEvent, de as approvePendingWrite, Ni as assistantI18nSeedCopy, H as assistantModeFallbackLabel, Pi as assistantModeI18nCopy, Is as assistantModeMeta, Kc as assistantOverlayClassName, qc as assistantOverlayEscapeAction, Jc as assistantOverlayKeys, Vo as assistantPanelOwnsEscape, Yc as assistantQuotaKindOf, y as assistantRoutePath, u as assistantTranslationKey, b as assistantUrlTransform, ma as autoCarryOverFor, ha as autoSuggestions, Oi as availableAttachmentSources, jt as base64ToBytes, Xa as beginTurn, x as browserShouldHandle, bt as browserSpeechEngine, za as buildAssistantProgress, fe as buildAssistantSandboxEnv, si as buildAttachmentPromptBlock, ga as buildAutoCarryOver, Gi as buildBoundedAttachmentTurn, Kn as buildContinuedFromVoiceNote, Be as buildProgress, pe as buildPromptGatewayRequest, ci as buildPromptParts, me as buildPromptRequestBody, li as buildPromptWithAttachments, Mt as buildRequest, k as buildSandboxContextInput, qn as buildVoiceTranscriptMarkdown, K as builtInModeExtendedBy, pt as chatTurns, he as checkAssistantAiCredits, er as chunkForSpeech, S as classifyAssistantHref, _a as classifyAssistantIntent, ui as classifyAttachment, Nt as classifyHttpFailure, w as classifyQuotaError, Ri as classifyTurnFailure, Ar as columnLetterToIndex, wn as composeVoiceStatus, nn as configureSpeechEngine, Io as connectSourceActivation, Mo as connectSourceHrefRenders, pc as consumeWarm, tr as containsCjk, p as copyToClipboard, di as countInlineImageCandidates, fi as countInlinedImageParts, Wa as countSpokenTurns, Hi as createAdminModeAccessGate, Xc as createAssistantNavigate, is as createAssistantPreviewSurface, ge as createAssistantSandbox, _e as createAssistantSession, zt as createHostedTtsEngine, bo as createReadinessTracker, tn as createRoutingSpeechEngine, cs as createRunIdentityCache, Xe as createSandboxAssistantTransport, rn as createSpeechEngines, as as currentPreviewOwner, q as declareAssistantMode, Pt as decodeAudioResponse, jr as decodeXmlEntities, Fi as describePermissionError, T as describeQuotaError, Za as describeTurn, pi as detectDocumentFormat, na as detectScriptLocale, Qa as detectTurnDevice, ki as deviceHasCamera, Ft as disableDurationMs, bc as dispatchAssistantQuotaExhausted, Mr as docxXmlToText, ve as downloadAssistantArtifact, Qs as downloadFile, Na as elapsedSince, va as escalationToUndo, Ho as escapeDismisses, mi as estimateTurnBodyBytes, A as executeSandboxGraphQL, $s as exportConversation, ye as extendAssistantSandboxTTL, E as extensionObjectsIn, Cc as extractDocumentText, vr as findAssistantLanguage, it as findAssistantModeConfig, be as findExistingSandbox, xe as findExistingSandboxWithStatus, Sr as findPendingWrite, Nr as fitPdfPages, Uo as focusIsInsidePanel, hi as formatBytes, Pr as formatPageRanges, Se as forwardsUserTokensToSandbox, po as getActorId, Ce as getAssistantArtifacts, Ma as getAssistantDisplayContent, Ve as getAssistantMedia, we as getAssistantMessages, Te as getAssistantSession, Ee as getAssistantStreamAccess, He as getAssistantText, gi as getAttachmentSendBlocker, re as getCapability, _i as getExtension, Z as getImageForMode, Q as getImageTagForMode, mo as getOrganizationId, Ue as getRawMessageCreatedAt, $ as getResourcesForMode, ee as getSandboxImageRegistry, vi as getSendableAttachments, an as getSpeechEngine, We as getToolProgress, ho as getWorkspaceId, mt as groupBySession, ht as groupConsecutiveBySession, yi as hasAttachmentWorkInFlight, No as hasConnectSource, Ct as hostedLocaleFor, wt as hostedSupportsLanguage, h as imageHostLabel, ut as incompleteTurnNotice, J as isAssistantModeId, Zc as isAssistantToggleShortcut, ya as isAutoRoutingOffered, Qo as isBlankProse, U as isBuiltInAssistantMode, zn as isCapturing, $a as isComparableTurn, Bn as isEcho, Wt as isHostedVoice, Oa as isLegacyFiller, ka as isLegacyStopped, Fr as isMostlyImagePages, go as isMultimodalBodyRejection, _o as isNeverRecoverableAssistantError, Ec as isProdRuntime, Y as isProductAssistantModeId, bi as isProviderReadableFilePart, D as isQuotaExhaustedError, Ge as isReapedSandboxConnectionError, xo as isRecentlyVerified, Ke as isRecoverable, vo as isRecoverableAssistantError, g as isRemoteImageSrc, $o as isRunningStatus, aa as isSpeakingMessage, Gt as isSpeechBlocked, Aa as isStageCopy, Vn as isSubmittable, Ta as isTurnInFlight, ie as isUnknownFieldError, gt as isVoiceTurn, Ji as isWriteModeAcknowledged, Ir as joinSheets, Kt as languageDisplayName, xi as largestInlineCharsPerFile, qe as mapSessionToHistory, ae as markSupported, eo as markTurn, oe as markUnsupported, Je as mergeMessagesById, Sa as mergePersistedAssistantState, ln as micIsInterrupt, De as modeRequiresConfirmWrites, Pa as msUntilNextPhrase, ds as nextActiveTab, Qc as nextAssistantOpenState, Ls as nextModeIndex, Wo as nextPanelOverlays, es as nextPreviewEvents, qt as normalizeLangTag, xc as notifyAiCreditsUpdated, Hn as orbMode, Lr as pageMarker, Ds as panelOwnedPreviewBridge, Go as panelOwnsEscape, Cr as parseConfirmationRefusal, Si as parseDataUrl, Rr as parseSharedStrings, Ua as parseToolActivity, zr as parseWorkbookSheets, Br as pdfTextItemsToPage, Ii as permissionRefusalMessage, fs as pinActiveTab, Ea as planAbandonedTurn, So as planAfterTransportFailure, Un as planReplyConsumption, Co as planTrustedSandboxFailure, Da as planTurnAbort, mr as pollDelayMs, mc as prewarmTarget, Jt as primaryLanguageSubtag, Oe as promptGatewayRequestBytes, $c as publishedAssistantDockWidth, oa as publishedChunks, O as quotaExhaustedEventName, el as readAssistantOverlayFlag, Ss as readReducedMotion, on as readSpeechEngineConfig, to as recentTurnTimelines, ke as releaseSupersededAssistantSandboxes, br as replyFollowsInput, Ae as reportAssistantAiTokenUsage, tl as requestedAssistantOpenState, sa as requiresCancel, sn as resetSpeechEngine, no as resetTurnTimelines, hc as resetWarmsForTest, Ca as resolveActiveModeSandbox, Ci as resolveAssistantInlineLimits, yr as resolveAssistantLanguage, at as resolveAssistantModeCapabilities, Ui as resolveAssistantSendModeAfterAccess, ba as resolveAutoRoute, xr as resolveLanguagePair, i as resolveModeConfig, te as resolveSandboxAssistantMode, ra as resolveSpeechLocale, ro as restartAttempt, Yi as restoreAcknowledgedWriteModes, xa as restoreAutoRouting, Bt as retryDelayMs, kn as rotationElapsedMs, os as runBelongsTo, ls as runIdentities, ss as sameOwner, ne as sandboxBaseModeFor, je as sandboxStatusOf, Ye as sanitize, io as segmentStats, Me as selectExistingAssistantSandbox, Ne as selectSupersededAssistantSandboxes, Yt as selectVoiceForLocale, Pe as sendAssistantPromptAsync, Fe as sendHeartbeat, gc as settleWarmBeforeSend, Vr as sheetXmlToRows, It as shouldDisableEngine, ps as shouldPinOnMove, ms as shouldPinOnSelect, cr as showPreviousChunk, un as showsAssistantCaption, dn as showsUserCaption, Ba as snapshotReplyFloor, Lt as speakableChunks, nr as speakableEmail, Xt as speechGate, ta as speechLabelsFor, Zt as speechLangForLocale, ca as speechPlaybackReducer, Rt as splitForVendor, rr as splitTableRow, Wn as spokenSoFar, Ga as spokenTurnText, vn as stageText, t as startIsCoolingDown, Fa as startPhraseTicker, An as startRotationTicker, _c as startWarm, yn as statusStageCopy, hs as stepsFromToolActivity, Ie as stopReapedAssistantSandbox, dt as streamBudgetMs, ja as stripLegacyFillerPrefix, Cs as subscribeReducedMotion, cn as subscribeSpeechEngine, Hr as summarisePageText, ao as summariseTurnTimelines, jn as syncRotationClock, gs as tabForArrowKey, bn as thinkingPhrase, xn as thinkingPhraseEntry, hr as toCaptionText, wi as toMessageAttachment, ir as toSpeakableText, Va as trackFirstText, Ti as truncateForInline, Ur as truncatePagesForInline, Ia as turnActivityCopy, La as turnActivityStage, oo as turnClockMs, zi as turnOutcomeCopy, so as turnSegments, co as turnTimeline, ot as unofferedModeSendRefusal, Wi as unofferedModeSendRefusalAfterAccess, lc as useAssistantApiAccess, wc as useAssistantAttachments, Po as useAssistantConnectSource, al as useAssistantDockWidth, Dc as useAssistantHeartbeat, d as useAssistantI18nNamespace, Oc as useAssistantKeyboardShortcuts, C as useAssistantNavigate, ol as useAssistantOverlayOrNull, a as useAssistantPageLabel, Xo as useAssistantPreview, Ts as useAssistantPreviewBridge, o as useAssistantProduct, s as useAssistantProductOrNull, sl as useAssistantQuotaExhausted, uo as useAssistantSpeech, c as useAssistantStorageFolders, wa as useAssistantStore, f as useAssistantTr, uc as useConversationTurns, Ko as useDropdownEscape, Os as useHostedAssistantPreviewBridge, ys as useOverlayFocus, ws as usePrefersReducedMotion, Ze as useSandboxAssistantTransport, n as useVoiceInput, fo as useVoiceSession, Sc as useWorkspaceWriteAccess, Ei as validateFile, Qt as voiceAvailability, _t as voiceMarker, or as voicePreviewText, $t as voiceQualityRank, vt as voiceSessionIdOf, Gn as voiceSessionReducer, fn as voiceStageState, Tn as voiceStatusParts, En as voiceStatusSuffix, Jn as voiceTranscriptFilename, yt as voiceTurnsOnly, en as voicesForLocale, Le as waitForAssistantServiceReady, Re as waitForSandboxRunning, vc as warmState, pn as waveformIsActive, mn as waveformIsSettled, ft as withIncompleteTurnNotice, Xi as withWriteModeAcknowledged, nl as writeAssistantOverlayFlag, Zi as writeModeConsentCopy, Qi as writeModeSendRefusal, $i as writeModeSendRefusalReason };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.925.4",
3
+ "version": "2026.925.6",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {