@burdenoff/fe-libs 2026.912.6 → 2026.913.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.
@@ -72,6 +72,7 @@ export * from './turnState';
72
72
  export * from './stageCopy';
73
73
  export * from './gatewayLimits';
74
74
  export * from './documentText';
75
+ export * from './ui/AssistantAvatar';
75
76
  export * from './ui/AssistantToolActivity';
76
77
  export * from './ui/AssistantSpeechProvider';
77
78
  export * from './ui/useVoiceSession';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { FC } from 'react';
2
+ /**
3
+ * The assistant's brand mark beside each of its messages.
4
+ *
5
+ * ★★ `active` must be the turn's IN-FLIGHT flag — `isStreaming`, which
6
+ * `AssistantChatArea` derives through `isTurnInFlight`. That flag is already
7
+ * true on the first frame of `provisioning`, so the cold-start wait animates
8
+ * too, and it goes false on complete, on error, on interrupt (the processing
9
+ * entry is deleted) and while an approval is pending (the turn settles to
10
+ * `complete` first). Keying off "has text" would miss the whole wait before the
11
+ * first token; keying off the message id latches forever — the bug recorded
12
+ * beside `activeStreamingMessageId`.
13
+ *
14
+ * ★ Every settled message draws this same avatar, so the motion MUST be gated on
15
+ * `active` or the entire transcript breathes.
16
+ *
17
+ * ★ Motion is `motion-safe:` only. An OS reduced-motion preference reaches this
18
+ * through that media query; the product's own preference through
19
+ * `:root[data-reduce-motion]` in tokens.css. Both paths stop it. It is purely
20
+ * decorative — the transcript's `aria-busy` already conveys the state — so it is
21
+ * hidden from assistive technology.
22
+ */
23
+ export declare const AssistantAvatar: FC<{
24
+ active?: boolean;
25
+ }>;
26
+ //# sourceMappingURL=AssistantAvatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantAvatar.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAcpD,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Sparkles as e } from "lucide-react";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/shared/assistant/ui/AssistantAvatar.tsx
4
+ var n = ({ active: n = !1 }) => /* @__PURE__ */ t("div", {
5
+ "aria-hidden": "true",
6
+ "data-testid": "assistant-avatar",
7
+ "data-active": n ? "true" : void 0,
8
+ className: "mt-0.5 flex size-6 flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-action-primary-bg/25 to-action-primary-bg/5 text-action-primary-bg" + (n ? " motion-safe:animate-pulse" : ""),
9
+ children: /* @__PURE__ */ t(e, { className: "size-3.5" })
10
+ });
11
+ //#endregion
12
+ export { n as AssistantAvatar };
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessageItem.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantMessageItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAqBnD,OAAO,KAAK,EAGV,OAAO,EACR,MAAM,iBAAiB,CAAC;AAIzB,UAAU,KAAK;IACb,mEAAmE;IACnE,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAyCD,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,KAAK,CAqS1C,CAAC"}
1
+ {"version":3,"file":"AssistantMessageItem.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantMessageItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAsBnD,OAAO,KAAK,EAGV,OAAO,EACR,MAAM,iBAAiB,CAAC;AAIzB,UAAU,KAAK;IACb,mEAAmE;IACnE,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAyCD,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,KAAK,CAmS1C,CAAC"}
@@ -5,15 +5,16 @@ import { useAssistantTr as n } from "../i18n.js";
5
5
  import { copyToClipboard as r } from "../clipboard.js";
6
6
  import { AssistantMarkdownRenderer as i } from "./AssistantMarkdownRenderer.js";
7
7
  import { downloadAssistantArtifact as a } from "../api.js";
8
- import { AssistantToolActivity as o, parseToolActivity as s } from "./AssistantToolActivity.js";
9
- import { useAssistantSpeech as c } from "./AssistantSpeechProvider.js";
10
- import { AssistantMessageAttachments as l } from "./AssistantMessageAttachments.js";
11
- import { AssistantPendingWriteCard as u } from "./AssistantPendingWriteCard.js";
12
- import { AssistantSpeakButton as d } from "./AssistantSpeakButton.js";
13
- import { SaveToFilesButton as f } from "../../../storage/SaveToFilesButton.js";
8
+ import { AssistantAvatar as o } from "./AssistantAvatar.js";
9
+ import { AssistantToolActivity as s, parseToolActivity as c } from "./AssistantToolActivity.js";
10
+ import { useAssistantSpeech as l } from "./AssistantSpeechProvider.js";
11
+ import { AssistantMessageAttachments as u } from "./AssistantMessageAttachments.js";
12
+ import { AssistantPendingWriteCard as d } from "./AssistantPendingWriteCard.js";
13
+ import { AssistantSpeakButton as f } from "./AssistantSpeakButton.js";
14
+ import { SaveToFilesButton as p } from "../../../storage/SaveToFilesButton.js";
14
15
  import "../../../storage/index.js";
15
- import { useMemo as p, useState as m } from "react";
16
- import { Check as h, Copy as g, RotateCcw as _, Sparkles as v } from "lucide-react";
16
+ import { useMemo as m, useState as h } from "react";
17
+ import { Check as g, Copy as _, RotateCcw as v } from "lucide-react";
17
18
  import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
18
19
  //#region src/shared/assistant/ui/AssistantMessageItem.tsx
19
20
  function S(e) {
@@ -32,10 +33,10 @@ function T(e, t, n) {
32
33
  s.href = o, s.download = t, document.body.appendChild(s), s.click(), document.body.removeChild(s), URL.revokeObjectURL(o);
33
34
  }
34
35
  var E = ({ onApprovePendingWrite: w, approvingWriteRef: E = null, message: D, isStreaming: O, isFailed: k, isLastAssistant: A, onRetry: j }) => {
35
- let M = n(), N = t(), { getAccessToken: P, getWorkspaceToken: F } = e(), I = c(), [L, R] = m(null), [z, B] = m(!1), V = D.role === "user", H = p(() => S(D), [D]), U = p(() => C(H), [H]), { steps: W, text: G } = p(() => V ? {
36
+ let M = n(), N = t(), { getAccessToken: P, getWorkspaceToken: F } = e(), I = l(), [L, R] = h(null), [z, B] = h(!1), V = D.role === "user", H = m(() => S(D), [D]), U = m(() => C(H), [H]), { steps: W, text: G } = m(() => V ? {
36
37
  steps: [],
37
38
  text: D.content
38
- } : s(D.content), [V, D.content]), K = () => {
39
+ } : c(D.content), [V, D.content]), K = () => {
39
40
  r(G || D.content).then((e) => {
40
41
  e && (B(!0), setTimeout(() => B(!1), 2e3));
41
42
  });
@@ -81,7 +82,7 @@ var E = ({ onApprovePendingWrite: w, approvingWriteRef: E = null, message: D, is
81
82
  children: D.content
82
83
  })
83
84
  }),
84
- /* @__PURE__ */ b(l, { attachments: e }),
85
+ /* @__PURE__ */ b(u, { attachments: e }),
85
86
  /* @__PURE__ */ b("div", {
86
87
  className: "mt-1 pr-1 text-right text-[10px] text-text-muted",
87
88
  children: J
@@ -93,14 +94,11 @@ var E = ({ onApprovePendingWrite: w, approvingWriteRef: E = null, message: D, is
93
94
  return /* @__PURE__ */ x("div", {
94
95
  className: "flex gap-2.5",
95
96
  "data-testid": "assistant-message-assistant",
96
- children: [/* @__PURE__ */ b("div", {
97
- className: "mt-0.5 flex size-6 flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-action-primary-bg/25 to-action-primary-bg/5 text-action-primary-bg",
98
- children: /* @__PURE__ */ b(v, { className: "size-3.5" })
99
- }), /* @__PURE__ */ x("div", {
97
+ children: [/* @__PURE__ */ b(o, { active: O }), /* @__PURE__ */ x("div", {
100
98
  className: "min-w-0 flex-1",
101
99
  children: [
102
- W.length > 0 && /* @__PURE__ */ b(o, { steps: W }),
103
- H?.pendingWrite ? /* @__PURE__ */ b(u, {
100
+ W.length > 0 && /* @__PURE__ */ b(s, { steps: W }),
101
+ H?.pendingWrite ? /* @__PURE__ */ b(d, {
104
102
  pendingWrite: H.pendingWrite,
105
103
  onApprove: w,
106
104
  approving: E !== null && E === H.pendingWrite.reference
@@ -122,7 +120,7 @@ var E = ({ onApprovePendingWrite: w, approvingWriteRef: E = null, message: D, is
122
120
  className: "flex flex-wrap gap-2",
123
121
  children: U.map((e) => {
124
122
  let t = `${e.name}${e.type === "directory" ? ".tar.gz" : ""}`;
125
- return /* @__PURE__ */ b(f, {
123
+ return /* @__PURE__ */ b(p, {
126
124
  label: t,
127
125
  disabled: L === e.path,
128
126
  testId: `assistant-artifact-${e.name}`,
@@ -148,11 +146,11 @@ var E = ({ onApprovePendingWrite: w, approvingWriteRef: E = null, message: D, is
148
146
  className: "flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] text-text-muted transition-colors hover:bg-bg-elevated hover:text-text-secondary",
149
147
  "aria-label": M("message.copy", "Copy message"),
150
148
  "data-testid": "assistant-message-copy",
151
- children: z ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(h, { className: "size-3 text-status-success-text" }), /* @__PURE__ */ b("span", { children: M("message.copied", "Copied") })] }) : /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(g, { className: "size-3" }), /* @__PURE__ */ b("span", { children: M("message.copy", "Copy") })] })
149
+ children: z ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(g, { className: "size-3 text-status-success-text" }), /* @__PURE__ */ b("span", { children: M("message.copied", "Copied") })] }) : /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(_, { className: "size-3" }), /* @__PURE__ */ b("span", { children: M("message.copy", "Copy") })] })
152
150
  }),
153
151
  G && I.isSupported && (() => {
154
152
  let e = I.blockedFor(D.id) ?? I.disabledReason, t = !!e && !!A, n = t ? `speak-reason-${D.id}` : void 0;
155
- return /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(d, {
153
+ return /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(f, {
156
154
  isSpeaking: I.isSpeaking(D.id),
157
155
  disabled: e !== null,
158
156
  disabledReason: e,
@@ -171,7 +169,7 @@ var E = ({ onApprovePendingWrite: w, approvingWriteRef: E = null, message: D, is
171
169
  className: `flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-colors hover:bg-bg-elevated ${k ? "text-status-error-text" : "text-text-muted hover:text-text-secondary"}`,
172
170
  "aria-label": M("message.retry", "Retry"),
173
171
  "data-testid": "assistant-message-retry",
174
- children: [/* @__PURE__ */ b(_, { className: "size-3" }), /* @__PURE__ */ b("span", { children: M("message.retry", "Retry") })]
172
+ children: [/* @__PURE__ */ b(v, { className: "size-3" }), /* @__PURE__ */ b("span", { children: M("message.retry", "Retry") })]
175
173
  })
176
174
  ]
177
175
  }),
@@ -44,7 +44,7 @@ function f({ status: e }) {
44
44
  "aria-hidden": "true"
45
45
  });
46
46
  case "running": return /* @__PURE__ */ o(r, {
47
- className: "size-3.5 animate-spin text-action-primary-bg",
47
+ className: "size-3.5 motion-safe:animate-spin text-action-primary-bg",
48
48
  "aria-hidden": "true"
49
49
  });
50
50
  default: return /* @__PURE__ */ o(n, {
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantAttachmentChips.d.ts","sourceRoot":"","sources":["../../../../../src/shared/assistant/ui/composer/AssistantAttachmentChips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAUhC,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,UAAU,KAAK;IACb,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,qEAAqE;IACrE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,KAAK,CAwH9C,CAAC"}
1
+ {"version":3,"file":"AssistantAttachmentChips.d.ts","sourceRoot":"","sources":["../../../../../src/shared/assistant/ui/composer/AssistantAttachmentChips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAUhC,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,UAAU,KAAK;IACb,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,qEAAqE;IACrE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,KAAK,CA2H9C,CAAC"}
@@ -43,7 +43,7 @@ var u = ({ attachments: u, onRemove: d, onRetry: f, preparingCount: p = 0, disab
43
43
  children: /* @__PURE__ */ c(o, { className: "size-3" })
44
44
  }),
45
45
  u ? /* @__PURE__ */ c(i, {
46
- className: "size-3.5 flex-shrink-0 animate-spin text-text-muted",
46
+ className: "size-3.5 flex-shrink-0 motion-safe:animate-spin text-text-muted",
47
47
  "aria-label": h("attachments.uploading", "Uploading…")
48
48
  }) : /* @__PURE__ */ c("button", {
49
49
  type: "button",
@@ -60,7 +60,7 @@ var u = ({ attachments: u, onRemove: d, onRetry: f, preparingCount: p = 0, disab
60
60
  className: "flex items-center gap-1.5 rounded-lg border border-border-subtle bg-bg-sunken px-2 py-1 text-xs text-text-muted",
61
61
  "data-testid": "assistant-attachment-preparing",
62
62
  children: [/* @__PURE__ */ c(i, {
63
- className: "size-3 animate-spin",
63
+ className: "size-3 motion-safe:animate-spin",
64
64
  "aria-hidden": "true"
65
65
  }), h("attachments.preparing", "Reading file…")]
66
66
  }, `preparing-${t}`))]
@@ -121,7 +121,7 @@ var _ = 200, v = ({ writeAccessDenied: v = !1, onSend: y, disabled: b = !1, plac
121
121
  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
122
  "aria-label": T("chatInput.send", "Send message"),
123
123
  "data-testid": "assistant-send",
124
- children: b || P ? /* @__PURE__ */ h(m, { className: "size-4 animate-spin" }) : /* @__PURE__ */ h(p, { className: "size-4" })
124
+ children: b || P ? /* @__PURE__ */ h(m, { className: "size-4 motion-safe:animate-spin" }) : /* @__PURE__ */ h(p, { className: "size-4" })
125
125
  })
126
126
  ]
127
127
  }),
@@ -17,7 +17,7 @@ var t = [
17
17
  "inline-block rounded-full transition-[height,opacity] duration-300",
18
18
  a ? "w-1.5" : "w-1",
19
19
  r === "speaking" ? "bg-brand-primary" : "bg-text-muted",
20
- n ? i ? "animate-pulse [animation-duration:2.4s] opacity-70" : "animate-pulse" : "opacity-40"
20
+ n ? i ? "motion-safe:animate-pulse [animation-duration:2.4s] opacity-70" : "motion-safe:animate-pulse" : "opacity-40"
21
21
  ].join(" "),
22
22
  style: {
23
23
  height: n ? `${(i ? [
@@ -43,67 +43,68 @@ import { ATTACHMENT_ACCEPT as Zn, AttachmentRejectedError as Qn, INLINE_IMAGE_MA
43
43
  import { useAssistantStore as Ar } from "./shared/assistant/store.js";
44
44
  import { isTurnInFlight as jr, planAbandonedTurn as Mr, planTurnAbort as Nr } from "./shared/assistant/turnState.js";
45
45
  import { PHRASE_ROTATE_MS as Pr, STAGE_COPY as Fr, THINKING_PHRASES as Ir, isStageCopy as Lr, stageText as Rr, statusStageCopy as zr, thinkingPhrase as Br } from "./shared/assistant/stageCopy.js";
46
- import { AssistantToolActivity as Vr, parseToolActivity as Hr } from "./shared/assistant/ui/AssistantToolActivity.js";
47
- import { AssistantSpeechProvider as Ur, useAssistantSpeech as Wr } from "./shared/assistant/ui/AssistantSpeechProvider.js";
48
- import { useVoiceSession as Gr } from "./shared/assistant/ui/useVoiceSession.js";
49
- import { getActorId as Kr, getOrganizationId as qr, getWorkspaceId as Jr } from "./shared/assistant/context.js";
50
- import { ATTACHMENT_SOURCES as Yr, availableAttachmentSources as Xr, deviceHasCamera as Zr } from "./shared/assistant/attachmentSources.js";
51
- import { SANDBOX_READY_TTL_MS as Qr, createReadinessTracker as $r, isRecentlyVerified as ei } from "./shared/assistant/sandboxReadiness.js";
52
- import { AssistantAutoSpeakToggle as ti } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
53
- import { AssistantMessageAttachments as ni } from "./shared/assistant/ui/AssistantMessageAttachments.js";
54
- import { AssistantPendingWriteCard as ri } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
55
- import { AssistantLanguageMenu as ii } from "./shared/assistant/ui/AssistantLanguageMenu.js";
56
- import { AssistantReplyLanguageSelector as ai } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
57
- import { AssistantSpeakButton as oi } from "./shared/assistant/ui/AssistantSpeakButton.js";
58
- import { AssistantSpokenTurnsNotice as si } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
59
- import { AssistantConnectSourceProvider as ci, useAssistantConnectSource as li } from "./shared/assistant/ui/composer/connectSource.js";
60
- import { AssistantConnectSourceItem as ui } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
61
- import { ASSISTANT_OVERLAY_ATTR as di, ASSISTANT_PANEL_ATTR as fi, NO_PANEL_OVERLAY as pi, activePanelOverlay as mi, assistantPanelOwnsEscape as hi, escapeDismisses as gi, focusIsInsidePanel as _i, nextPanelOverlays as vi, panelOwnsEscape as yi } from "./shared/assistant/ui/panelOverlays.js";
62
- import { useDropdownEscape as bi } from "./shared/assistant/ui/useDropdownEscape.js";
63
- import { AssistantAttachmentButton as xi } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
64
- import { AssistantAttachmentChips as Si } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
65
- import { AssistantPreviewProvider as Ci, useAssistantPreview as wi } from "./shared/assistant/preview/context.js";
66
- import { IDLE_PREVIEW_STATE as Ti, isRunningStatus as Ei, nextPreviewEvents as Di } from "./shared/assistant/preview/previewTransitions.js";
67
- import { IDLE_PREVIEW as Oi, NO_OWNER as ki, applyPreviewEvent as Ai, createAssistantPreviewSurface as ji, currentPreviewOwner as Mi, runBelongsTo as Ni, sameOwner as Pi } from "./shared/assistant/preview/surfaceState.js";
68
- import { createRunIdentityCache as Fi, runIdentities as Ii } from "./shared/assistant/preview/runIdentity.js";
69
- import { IDLE_ACTIVE_TAB as Li, nextActiveTab as Ri, pinActiveTab as zi, shouldPinOnMove as Bi, shouldPinOnSelect as Vi, stepsFromToolActivity as Hi, tabForArrowKey as Ui } from "./shared/assistant/preview/entity/entityPreviewState.js";
70
- import { AssistantStepRail as Wi } from "./shared/assistant/preview/entity/AssistantStepRail.js";
71
- import { AssistantEntityPreview as Gi } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
72
- import { useOverlayFocus as Ki } from "./shared/assistant/ui/useOverlayFocus.js";
73
- import { useAssistantPreviewBridge as qi } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
74
- import { AssistantPreviewOverlay as Ji } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
75
- import { AssistantLanguageSelector as Yi, FOLLOW_APP_LOCALE as Xi } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
76
- import { ASSISTANT_MODE_META as Zi, AssistantModeSelector as Qi, nextModeIndex as $i } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
77
- import { AssistantVoiceButton as ea } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
78
- import { AUTO_VOICE as ta, AssistantVoiceSelector as na } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
79
- import { AssistantVoiceOrb as ra } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
80
- import { AssistantVoiceSessionButton as ia } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
81
- import { CAPTION_SCROLL_ATTR as aa, VoiceCaption as oa } from "./shared/assistant/ui/voice/VoiceCaption.js";
82
- import { VoiceConversationView as sa } from "./shared/assistant/ui/voice/VoiceConversationView.js";
83
- import { VoiceWaveform as ca } from "./shared/assistant/ui/voice/VoiceWaveform.js";
84
- import { VoiceMiniController as la } from "./shared/assistant/ui/voice/VoiceMiniController.js";
85
- import { VoiceStage as ua } from "./shared/assistant/ui/voice/VoiceStage.js";
86
- import { VoiceTranscriptDrawer as da } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
87
- import { downloadFile as fa, exportConversation as pa } from "./shared/assistant/exportConversation.js";
88
- import { AssistantMoreMenu as ma } from "./shared/assistant/ui/AssistantMoreMenu.js";
89
- import { AssistantHeader as ha } from "./shared/assistant/ui/AssistantHeader.js";
90
- import { AssistantConversationList as ga } from "./shared/assistant/ui/AssistantConversationList.js";
91
- import { AssistantEmptyState as _a } from "./shared/assistant/ui/AssistantEmptyState.js";
92
- import { AssistantMessageItem as va } from "./shared/assistant/ui/AssistantMessageItem.js";
93
- import { AssistantMessageList as ya } from "./shared/assistant/ui/AssistantMessageList.js";
94
- import { AssistantVoiceSession as ba } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
95
- import { useAssistantApiAccess as xa } from "./shared/assistant/useAssistantApiAccess.js";
96
- import { useConversationTurns as Sa } from "./shared/assistant/useConversationTurns.js";
97
- import { isMultimodalBodyRejection as Ca, isRecoverableAssistantError as wa } from "./shared/assistant/transportErrors.js";
98
- import { aiCreditsUpdatedEventName as Ta, dispatchAssistantQuotaExhausted as Ea, notifyAiCreditsUpdated as Da } from "./shared/assistant/aiCredits.js";
99
- import { useWorkspaceWriteAccess as Oa } from "./shared/assistant/useWorkspaceWriteAccess.js";
100
- import { extractDocumentText as ka } from "./shared/assistant/documentExtract.js";
101
- import { useAssistantAttachments as Aa } from "./shared/assistant/useAssistantAttachments.js";
102
- import { AssistantComposer as ja } from "./shared/assistant/ui/composer/AssistantComposer.js";
103
- import { isProdRuntime as Ma } from "./shared/assistant/env.js";
104
- import { useAssistantHeartbeat as Na } from "./shared/assistant/useAssistantHeartbeat.js";
105
- import { useAssistantKeyboardShortcuts as Pa } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
106
- import { AssistantApiCallsConsentDialog as Fa } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
107
- import { AssistantChatArea as Ia } from "./shared/assistant/ui/AssistantChatArea.js";
108
- import { AIAssistantPanel as La } from "./shared/assistant/ui/AIAssistantPanel.js";
109
- export { La as AIAssistantPanel, L as ASSISTANT_API_AUTH_STRATEGY, fn as ASSISTANT_LANGUAGES, Zi as ASSISTANT_MODE_META, di as ASSISTANT_OVERLAY_ATTR, fi as ASSISTANT_PANEL_ATTR, Zn as ATTACHMENT_ACCEPT, Yr as ATTACHMENT_SOURCES, ta as AUTO_VOICE, Fa as AssistantApiCallsConsentDialog, xi as AssistantAttachmentButton, Si as AssistantAttachmentChips, ti as AssistantAutoSpeakToggle, Ia as AssistantChatArea, ja as AssistantComposer, ui as AssistantConnectSourceItem, ci as AssistantConnectSourceProvider, ga as AssistantConversationList, _a as AssistantEmptyState, Gi as AssistantEntityPreview, ha as AssistantHeader, s as AssistantI18nProvider, ii as AssistantLanguageMenu, Yi as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, ni as AssistantMessageAttachments, va as AssistantMessageItem, ya as AssistantMessageList, Qi as AssistantModeSelector, ma as AssistantMoreMenu, g as AssistantNavigateProvider, ri as AssistantPendingWriteCard, Ji as AssistantPreviewOverlay, Ci as AssistantPreviewProvider, t as AssistantProductProvider, ai as AssistantReplyLanguageSelector, _e as AssistantRuntimeManager, oi as AssistantSpeakButton, Ur as AssistantSpeechProvider, si as AssistantSpokenTurnsNotice, Wi as AssistantStepRail, Vr as AssistantToolActivity, ea as AssistantVoiceButton, ra as AssistantVoiceOrb, na as AssistantVoiceSelector, ba as AssistantVoiceSession, ia as AssistantVoiceSessionButton, Qn as AttachmentRejectedError, jn as BOILERPLATE_PAGE_SHARE, aa as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, Wt as DEFAULT_SPEAKABLE_LABELS, pn as DEFAULT_SPEECH_RATE, Ae as DEFAULT_STREAM_BUDGET_MS, _t as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, Xi 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, Li as IDLE_ACTIVE_TAB, wn as IDLE_PLAYBACK, Oi as IDLE_PREVIEW, Ti as IDLE_PREVIEW_STATE, vt as INITIAL_SESSION, $n as INLINE_IMAGE_MAX_DIM, er as INLINE_IMAGE_QUALITY, yt as INTERRUPT_MAX_MS, bt as INTERRUPT_MIN_MS, tr as MAX_ATTACHMENTS, Mn as MAX_BOILERPLATE_LINE_CHARS, Nn as MAX_EXTRACTED_CHARS, nr as MAX_FILE_BYTES, rr as MAX_INLINE_CHARS_PER_FILE, ir as MAX_INLINE_CHARS_TOTAL, kn as MAX_INLINE_IMAGE_BASE64_BYTES, ar as MAX_INLINE_IMAGE_BASE64_CHARS, or as MAX_INLINE_IMAGE_PARTS, sr as MAX_INLINE_TURN_BODY_BYTES, Pn as MAX_PDF_PAGES_SCANNED, An as MAX_REQUEST_BODY_BYTES, Gt as MAX_SPEAKABLE_CHARS, Kt as MAX_SPOKEN_TABLE_ROWS, cr as MAX_TURN_BODY_BYTES, nn as MINI_CAPTION_BUDGET, Fn as MIN_PAGE_TEXT_CHARS, In as MIN_TEXT_PAGE_SHARE, ki as NO_OWNER, pi as NO_PANEL_OVERLAY, Pr as PHRASE_ROTATE_MS, an as POLL_FAST_MS, on as POLL_FAST_UNTIL_MS, sn as POLL_SLOW_MS, cn as POLL_STEADY_MS, ln as POLL_STEADY_UNTIL_MS, en as PREVIEW_LANGUAGES, lr as PROMPT_ENVELOPE_RESERVE_BYTES, ur as PROVIDER_READABLE_FILE_MEDIA_TYPES, N as PROXY_SANDBOX_REQUEST, P as REPORT_AI_TOKEN_USAGE, Qr as SANDBOX_READY_TTL_MS, xt 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, qt as SPEECH_CHUNK_CHARS, Jt as SPEECH_CHUNK_CJK_CHARS, kt as SPEECH_LANG, bn as SPOKEN_LABEL_LANGUAGES, Fr as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, je as STREAM_BUDGET_MS, Ir as THINKING_PHRASES, dr as TURN_BODY_HEADROOM_BYTES, At as VOICE_LIST_TIMEOUT_MS, oa as VoiceCaption, sa as VoiceConversationView, la as VoiceMiniController, ua as VoiceStage, da as VoiceTranscriptDrawer, ca as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, q as abortAssistantTurn, mi as activePanelOverlay, Ta as aiCreditsUpdatedEventName, Ai as applyPreviewEvent, J as approvePendingWrite, hi as assistantPanelOwnsEscape, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, Xr as availableAttachmentSources, Qe as base64ToBytes, y as browserShouldHandle, He as browserSpeechEngine, Y as buildAssistantSandboxEnv, fr as buildAttachmentPromptBlock, Vt as buildContinuedFromVoiceNote, ve as buildProgress, pr as buildPromptParts, X as buildPromptRequestBody, mr as buildPromptWithAttachments, $e as buildRequest, E as buildSandboxContextInput, Ht as buildVoiceTranscriptMarkdown, Fe as chatTurns, Z as checkAssistantAiCredits, Yt as chunkForSpeech, b as classifyAssistantHref, hr as classifyAttachment, et as classifyHttpFailure, S as classifyQuotaError, Ln as columnLetterToIndex, ot as configureSpeechEngine, Xt as containsCjk, d as copyToClipboard, gr as countInlineImageCandidates, _r as countInlinedImageParts, ji as createAssistantPreviewSurface, Q as createAssistantSandbox, $ as createAssistantSession, it as createHostedTtsEngine, $r as createReadinessTracker, at as createRoutingSpeechEngine, Fi as createRunIdentityCache, Oe as createSandboxAssistantTransport, st as createSpeechEngines, Mi as currentPreviewOwner, tt as decodeAudioResponse, Rn as decodeXmlEntities, C as describeQuotaError, vr as detectDocumentFormat, Sn as detectScriptLocale, Zr as deviceHasCamera, Ea as dispatchAssistantQuotaExhausted, zn as docxXmlToText, ee as downloadAssistantArtifact, fa as downloadFile, gi as escapeDismisses, yr as estimateTurnBodyBytes, D as executeSandboxGraphQL, pa as exportConversation, te as extendAssistantSandboxTTL, ka as extractDocumentText, mn as findAssistantLanguage, ne as findExistingSandbox, vn as findPendingWrite, Bn as fitPdfPages, _i as focusIsInsidePanel, br as formatBytes, Vn as formatPageRanges, Kr as getActorId, re as getAssistantArtifacts, ye as getAssistantMedia, ie as getAssistantMessages, ae as getAssistantSession, oe as getAssistantStreamAccess, be as getAssistantText, xr as getAttachmentSendBlocker, U as getCapability, Sr as getExtension, R as getImageForMode, z as getImageTagForMode, qr as getOrganizationId, xe as getRawMessageCreatedAt, B as getResourcesForMode, V as getSandboxImageRegistry, Cr as getSendableAttachments, ct as getSpeechEngine, Se as getToolProgress, Jr as getWorkspaceId, Ie as groupBySession, Le as groupConsecutiveBySession, wr as hasAttachmentWorkInFlight, Ge as hostedLocaleFor, Ke as hostedSupportsLanguage, p as imageHostLabel, Me as incompleteTurnNotice, St as isCapturing, Ct as isEcho, Hn as isMostlyImagePages, Ca as isMultimodalBodyRejection, Ma as isProdRuntime, Tr as isProviderReadableFilePart, w as isQuotaExhaustedError, Ce as isReapedSandboxConnectionError, ei as isRecentlyVerified, we as isRecoverable, wa as isRecoverableAssistantError, m as isRemoteImageSrc, Ei as isRunningStatus, Tn as isSpeakingMessage, jt as isSpeechBlocked, Lr as isStageCopy, wt as isSubmittable, jr as isTurnInFlight, W as isUnknownFieldError, Re as isVoiceTurn, Un as joinSheets, Mt as languageDisplayName, Te as mapSessionToHistory, G as markSupported, K as markUnsupported, Ee as mergeMessagesById, dt as micIsInterrupt, se as modeRequiresConfirmWrites, Ri as nextActiveTab, $i as nextModeIndex, vi as nextPanelOverlays, Di as nextPreviewEvents, Nt as normalizeLangTag, Da as notifyAiCreditsUpdated, Tt as orbMode, Wn as pageMarker, yi as panelOwnsEscape, yn as parseConfirmationRefusal, Er as parseDataUrl, Gn as parseSharedStrings, Hr as parseToolActivity, Kn as parseWorkbookSheets, qn as pdfTextItemsToPage, zi as pinActiveTab, Mr as planAbandonedTurn, Et as planReplyConsumption, Nr as planTurnAbort, un as pollDelayMs, Pt as primaryLanguageSubtag, En as publishedChunks, T as quotaExhaustedEventName, lt as readSpeechEngineConfig, ce as releaseSupersededAssistantSandboxes, gn as replyFollowsInput, le as reportAssistantAiTokenUsage, Dn as requiresCancel, ut as resetSpeechEngine, hn as resolveAssistantLanguage, _n as resolveLanguagePair, n as resolveModeConfig, H as resolveSandboxAssistantMode, Cn as resolveSpeechLocale, Ni as runBelongsTo, Ii as runIdentities, Pi as sameOwner, De as sanitize, ue as selectExistingAssistantSandbox, de as selectSupersededAssistantSandboxes, Ft as selectVoiceForLocale, fe as sendAssistantPromptAsync, pe as sendHeartbeat, Jn as sheetXmlToRows, nt as shouldDisableEngine, Bi as shouldPinOnMove, Vi as shouldPinOnSelect, rn as showPreviousChunk, ft as showsAssistantCaption, pt as showsUserCaption, Zt as speakableEmail, It as speechGate, xn as speechLabelsFor, Lt as speechLangForLocale, On as speechPlaybackReducer, rt as splitForVendor, Qt as splitTableRow, Dt as spokenSoFar, Rr as stageText, zr as statusStageCopy, Hi as stepsFromToolActivity, me as stopReapedAssistantSandbox, Ne as streamBudgetMs, Yn as summarisePageText, Ui as tabForArrowKey, Br as thinkingPhrase, dn as toCaptionText, Dr as toMessageAttachment, $t as toSpeakableText, Or as truncateForInline, Xn as truncatePagesForInline, xa as useAssistantApiAccess, Aa as useAssistantAttachments, li as useAssistantConnectSource, Na as useAssistantHeartbeat, l as useAssistantI18nNamespace, Pa as useAssistantKeyboardShortcuts, x as useAssistantNavigate, r as useAssistantPageLabel, wi as useAssistantPreview, qi as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, Wr as useAssistantSpeech, o as useAssistantStorageFolders, Ar as useAssistantStore, u as useAssistantTr, Sa as useConversationTurns, bi as useDropdownEscape, Ki as useOverlayFocus, ke as useSandboxAssistantTransport, e as useVoiceInput, Gr as useVoiceSession, Oa as useWorkspaceWriteAccess, kr as validateFile, Rt as voiceAvailability, ze as voiceMarker, tn as voicePreviewText, zt as voiceQualityRank, Be as voiceSessionIdOf, Ot as voiceSessionReducer, mt as voiceStageState, Ut as voiceTranscriptFilename, Ve as voiceTurnsOnly, Bt as voicesForLocale, he as waitForAssistantServiceReady, ge as waitForSandboxRunning, ht as waveformIsActive, gt as waveformIsSettled, Pe as withIncompleteTurnNotice };
46
+ import { AssistantAvatar as Vr } from "./shared/assistant/ui/AssistantAvatar.js";
47
+ import { AssistantToolActivity as Hr, parseToolActivity as Ur } from "./shared/assistant/ui/AssistantToolActivity.js";
48
+ import { AssistantSpeechProvider as Wr, useAssistantSpeech as Gr } from "./shared/assistant/ui/AssistantSpeechProvider.js";
49
+ import { useVoiceSession as Kr } from "./shared/assistant/ui/useVoiceSession.js";
50
+ import { getActorId as qr, getOrganizationId as Jr, getWorkspaceId as Yr } from "./shared/assistant/context.js";
51
+ import { ATTACHMENT_SOURCES as Xr, availableAttachmentSources as Zr, deviceHasCamera as Qr } from "./shared/assistant/attachmentSources.js";
52
+ import { SANDBOX_READY_TTL_MS as $r, createReadinessTracker as ei, isRecentlyVerified as ti } from "./shared/assistant/sandboxReadiness.js";
53
+ import { AssistantAutoSpeakToggle as ni } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
54
+ import { AssistantMessageAttachments as ri } from "./shared/assistant/ui/AssistantMessageAttachments.js";
55
+ import { AssistantPendingWriteCard as ii } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
56
+ import { AssistantLanguageMenu as ai } from "./shared/assistant/ui/AssistantLanguageMenu.js";
57
+ import { AssistantReplyLanguageSelector as oi } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
58
+ import { AssistantSpeakButton as si } from "./shared/assistant/ui/AssistantSpeakButton.js";
59
+ import { AssistantSpokenTurnsNotice as ci } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
60
+ import { AssistantConnectSourceProvider as li, useAssistantConnectSource as ui } from "./shared/assistant/ui/composer/connectSource.js";
61
+ import { AssistantConnectSourceItem as di } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
62
+ import { ASSISTANT_OVERLAY_ATTR as fi, ASSISTANT_PANEL_ATTR as pi, NO_PANEL_OVERLAY as mi, activePanelOverlay as hi, assistantPanelOwnsEscape as gi, escapeDismisses as _i, focusIsInsidePanel as vi, nextPanelOverlays as yi, panelOwnsEscape as bi } from "./shared/assistant/ui/panelOverlays.js";
63
+ import { useDropdownEscape as xi } from "./shared/assistant/ui/useDropdownEscape.js";
64
+ import { AssistantAttachmentButton as Si } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
65
+ import { AssistantAttachmentChips as Ci } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
66
+ import { AssistantPreviewProvider as wi, useAssistantPreview as Ti } from "./shared/assistant/preview/context.js";
67
+ import { IDLE_PREVIEW_STATE as Ei, isRunningStatus as Di, nextPreviewEvents as Oi } from "./shared/assistant/preview/previewTransitions.js";
68
+ import { IDLE_PREVIEW as ki, NO_OWNER as Ai, applyPreviewEvent as ji, createAssistantPreviewSurface as Mi, currentPreviewOwner as Ni, runBelongsTo as Pi, sameOwner as Fi } from "./shared/assistant/preview/surfaceState.js";
69
+ import { createRunIdentityCache as Ii, runIdentities as Li } from "./shared/assistant/preview/runIdentity.js";
70
+ import { IDLE_ACTIVE_TAB as Ri, nextActiveTab as zi, pinActiveTab as Bi, shouldPinOnMove as Vi, shouldPinOnSelect as Hi, stepsFromToolActivity as Ui, tabForArrowKey as Wi } from "./shared/assistant/preview/entity/entityPreviewState.js";
71
+ import { AssistantStepRail as Gi } from "./shared/assistant/preview/entity/AssistantStepRail.js";
72
+ import { AssistantEntityPreview as Ki } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
73
+ import { useOverlayFocus as qi } from "./shared/assistant/ui/useOverlayFocus.js";
74
+ import { useAssistantPreviewBridge as Ji } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
75
+ import { AssistantPreviewOverlay as Yi } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
76
+ import { AssistantLanguageSelector as Xi, FOLLOW_APP_LOCALE as Zi } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
77
+ import { ASSISTANT_MODE_META as Qi, AssistantModeSelector as $i, nextModeIndex as ea } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
78
+ import { AssistantVoiceButton as ta } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
79
+ import { AUTO_VOICE as na, AssistantVoiceSelector as ra } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
80
+ import { AssistantVoiceOrb as ia } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
81
+ import { AssistantVoiceSessionButton as aa } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
82
+ import { CAPTION_SCROLL_ATTR as oa, VoiceCaption as sa } from "./shared/assistant/ui/voice/VoiceCaption.js";
83
+ import { VoiceConversationView as ca } from "./shared/assistant/ui/voice/VoiceConversationView.js";
84
+ import { VoiceWaveform as la } from "./shared/assistant/ui/voice/VoiceWaveform.js";
85
+ import { VoiceMiniController as ua } from "./shared/assistant/ui/voice/VoiceMiniController.js";
86
+ import { VoiceStage as da } from "./shared/assistant/ui/voice/VoiceStage.js";
87
+ import { VoiceTranscriptDrawer as fa } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
88
+ import { downloadFile as pa, exportConversation as ma } from "./shared/assistant/exportConversation.js";
89
+ import { AssistantMoreMenu as ha } from "./shared/assistant/ui/AssistantMoreMenu.js";
90
+ import { AssistantHeader as ga } from "./shared/assistant/ui/AssistantHeader.js";
91
+ import { AssistantConversationList as _a } from "./shared/assistant/ui/AssistantConversationList.js";
92
+ import { AssistantEmptyState as va } from "./shared/assistant/ui/AssistantEmptyState.js";
93
+ import { AssistantMessageItem as ya } from "./shared/assistant/ui/AssistantMessageItem.js";
94
+ import { AssistantMessageList as ba } from "./shared/assistant/ui/AssistantMessageList.js";
95
+ import { AssistantVoiceSession as xa } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
96
+ import { useAssistantApiAccess as Sa } from "./shared/assistant/useAssistantApiAccess.js";
97
+ import { useConversationTurns as Ca } from "./shared/assistant/useConversationTurns.js";
98
+ import { isMultimodalBodyRejection as wa, isRecoverableAssistantError as Ta } from "./shared/assistant/transportErrors.js";
99
+ import { aiCreditsUpdatedEventName as Ea, dispatchAssistantQuotaExhausted as Da, notifyAiCreditsUpdated as Oa } from "./shared/assistant/aiCredits.js";
100
+ import { useWorkspaceWriteAccess as ka } from "./shared/assistant/useWorkspaceWriteAccess.js";
101
+ import { extractDocumentText as Aa } from "./shared/assistant/documentExtract.js";
102
+ import { useAssistantAttachments as ja } from "./shared/assistant/useAssistantAttachments.js";
103
+ import { AssistantComposer as Ma } from "./shared/assistant/ui/composer/AssistantComposer.js";
104
+ import { isProdRuntime as Na } from "./shared/assistant/env.js";
105
+ import { useAssistantHeartbeat as Pa } from "./shared/assistant/useAssistantHeartbeat.js";
106
+ import { useAssistantKeyboardShortcuts as Fa } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
107
+ import { AssistantApiCallsConsentDialog as Ia } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
108
+ import { AssistantChatArea as La } from "./shared/assistant/ui/AssistantChatArea.js";
109
+ import { AIAssistantPanel as Ra } from "./shared/assistant/ui/AIAssistantPanel.js";
110
+ export { Ra as AIAssistantPanel, L as ASSISTANT_API_AUTH_STRATEGY, fn as ASSISTANT_LANGUAGES, Qi as ASSISTANT_MODE_META, fi as ASSISTANT_OVERLAY_ATTR, pi as ASSISTANT_PANEL_ATTR, Zn as ATTACHMENT_ACCEPT, Xr as ATTACHMENT_SOURCES, na as AUTO_VOICE, Ia as AssistantApiCallsConsentDialog, Si as AssistantAttachmentButton, Ci as AssistantAttachmentChips, ni as AssistantAutoSpeakToggle, Vr as AssistantAvatar, La as AssistantChatArea, Ma as AssistantComposer, di as AssistantConnectSourceItem, li as AssistantConnectSourceProvider, _a as AssistantConversationList, va as AssistantEmptyState, Ki as AssistantEntityPreview, ga as AssistantHeader, s as AssistantI18nProvider, ai as AssistantLanguageMenu, Xi as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, ri as AssistantMessageAttachments, ya as AssistantMessageItem, ba as AssistantMessageList, $i as AssistantModeSelector, ha as AssistantMoreMenu, g as AssistantNavigateProvider, ii as AssistantPendingWriteCard, Yi as AssistantPreviewOverlay, wi as AssistantPreviewProvider, t as AssistantProductProvider, oi as AssistantReplyLanguageSelector, _e as AssistantRuntimeManager, si as AssistantSpeakButton, Wr as AssistantSpeechProvider, ci as AssistantSpokenTurnsNotice, Gi as AssistantStepRail, Hr as AssistantToolActivity, ta as AssistantVoiceButton, ia as AssistantVoiceOrb, ra as AssistantVoiceSelector, xa as AssistantVoiceSession, aa as AssistantVoiceSessionButton, Qn as AttachmentRejectedError, jn as BOILERPLATE_PAGE_SHARE, oa as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, Wt as DEFAULT_SPEAKABLE_LABELS, pn as DEFAULT_SPEECH_RATE, Ae as DEFAULT_STREAM_BUDGET_MS, _t as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, Zi 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, Ri as IDLE_ACTIVE_TAB, wn as IDLE_PLAYBACK, ki as IDLE_PREVIEW, Ei as IDLE_PREVIEW_STATE, vt as INITIAL_SESSION, $n as INLINE_IMAGE_MAX_DIM, er as INLINE_IMAGE_QUALITY, yt as INTERRUPT_MAX_MS, bt as INTERRUPT_MIN_MS, tr as MAX_ATTACHMENTS, Mn as MAX_BOILERPLATE_LINE_CHARS, Nn as MAX_EXTRACTED_CHARS, nr as MAX_FILE_BYTES, rr as MAX_INLINE_CHARS_PER_FILE, ir as MAX_INLINE_CHARS_TOTAL, kn as MAX_INLINE_IMAGE_BASE64_BYTES, ar as MAX_INLINE_IMAGE_BASE64_CHARS, or as MAX_INLINE_IMAGE_PARTS, sr as MAX_INLINE_TURN_BODY_BYTES, Pn as MAX_PDF_PAGES_SCANNED, An as MAX_REQUEST_BODY_BYTES, Gt as MAX_SPEAKABLE_CHARS, Kt as MAX_SPOKEN_TABLE_ROWS, cr as MAX_TURN_BODY_BYTES, nn as MINI_CAPTION_BUDGET, Fn as MIN_PAGE_TEXT_CHARS, In as MIN_TEXT_PAGE_SHARE, Ai as NO_OWNER, mi as NO_PANEL_OVERLAY, Pr as PHRASE_ROTATE_MS, an as POLL_FAST_MS, on as POLL_FAST_UNTIL_MS, sn as POLL_SLOW_MS, cn as POLL_STEADY_MS, ln as POLL_STEADY_UNTIL_MS, en as PREVIEW_LANGUAGES, lr as PROMPT_ENVELOPE_RESERVE_BYTES, ur as PROVIDER_READABLE_FILE_MEDIA_TYPES, N as PROXY_SANDBOX_REQUEST, P as REPORT_AI_TOKEN_USAGE, $r as SANDBOX_READY_TTL_MS, xt 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, qt as SPEECH_CHUNK_CHARS, Jt as SPEECH_CHUNK_CJK_CHARS, kt as SPEECH_LANG, bn as SPOKEN_LABEL_LANGUAGES, Fr as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, je as STREAM_BUDGET_MS, Ir as THINKING_PHRASES, dr as TURN_BODY_HEADROOM_BYTES, At as VOICE_LIST_TIMEOUT_MS, sa as VoiceCaption, ca as VoiceConversationView, ua as VoiceMiniController, da as VoiceStage, fa as VoiceTranscriptDrawer, la as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, q as abortAssistantTurn, hi as activePanelOverlay, Ea as aiCreditsUpdatedEventName, ji as applyPreviewEvent, J as approvePendingWrite, gi as assistantPanelOwnsEscape, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, Zr as availableAttachmentSources, Qe as base64ToBytes, y as browserShouldHandle, He as browserSpeechEngine, Y as buildAssistantSandboxEnv, fr as buildAttachmentPromptBlock, Vt as buildContinuedFromVoiceNote, ve as buildProgress, pr as buildPromptParts, X as buildPromptRequestBody, mr as buildPromptWithAttachments, $e as buildRequest, E as buildSandboxContextInput, Ht as buildVoiceTranscriptMarkdown, Fe as chatTurns, Z as checkAssistantAiCredits, Yt as chunkForSpeech, b as classifyAssistantHref, hr as classifyAttachment, et as classifyHttpFailure, S as classifyQuotaError, Ln as columnLetterToIndex, ot as configureSpeechEngine, Xt as containsCjk, d as copyToClipboard, gr as countInlineImageCandidates, _r as countInlinedImageParts, Mi as createAssistantPreviewSurface, Q as createAssistantSandbox, $ as createAssistantSession, it as createHostedTtsEngine, ei as createReadinessTracker, at as createRoutingSpeechEngine, Ii as createRunIdentityCache, Oe as createSandboxAssistantTransport, st as createSpeechEngines, Ni as currentPreviewOwner, tt as decodeAudioResponse, Rn as decodeXmlEntities, C as describeQuotaError, vr as detectDocumentFormat, Sn as detectScriptLocale, Qr as deviceHasCamera, Da as dispatchAssistantQuotaExhausted, zn as docxXmlToText, ee as downloadAssistantArtifact, pa as downloadFile, _i as escapeDismisses, yr as estimateTurnBodyBytes, D as executeSandboxGraphQL, ma as exportConversation, te as extendAssistantSandboxTTL, Aa as extractDocumentText, mn as findAssistantLanguage, ne as findExistingSandbox, vn as findPendingWrite, Bn as fitPdfPages, vi as focusIsInsidePanel, br as formatBytes, Vn as formatPageRanges, qr as getActorId, re as getAssistantArtifacts, ye as getAssistantMedia, ie as getAssistantMessages, ae as getAssistantSession, oe as getAssistantStreamAccess, be as getAssistantText, xr as getAttachmentSendBlocker, U as getCapability, Sr as getExtension, R as getImageForMode, z as getImageTagForMode, Jr as getOrganizationId, xe as getRawMessageCreatedAt, B as getResourcesForMode, V as getSandboxImageRegistry, Cr as getSendableAttachments, ct as getSpeechEngine, Se as getToolProgress, Yr as getWorkspaceId, Ie as groupBySession, Le as groupConsecutiveBySession, wr as hasAttachmentWorkInFlight, Ge as hostedLocaleFor, Ke as hostedSupportsLanguage, p as imageHostLabel, Me as incompleteTurnNotice, St as isCapturing, Ct as isEcho, Hn as isMostlyImagePages, wa as isMultimodalBodyRejection, Na as isProdRuntime, Tr as isProviderReadableFilePart, w as isQuotaExhaustedError, Ce as isReapedSandboxConnectionError, ti as isRecentlyVerified, we as isRecoverable, Ta as isRecoverableAssistantError, m as isRemoteImageSrc, Di as isRunningStatus, Tn as isSpeakingMessage, jt as isSpeechBlocked, Lr as isStageCopy, wt as isSubmittable, jr as isTurnInFlight, W as isUnknownFieldError, Re as isVoiceTurn, Un as joinSheets, Mt as languageDisplayName, Te as mapSessionToHistory, G as markSupported, K as markUnsupported, Ee as mergeMessagesById, dt as micIsInterrupt, se as modeRequiresConfirmWrites, zi as nextActiveTab, ea as nextModeIndex, yi as nextPanelOverlays, Oi as nextPreviewEvents, Nt as normalizeLangTag, Oa as notifyAiCreditsUpdated, Tt as orbMode, Wn as pageMarker, bi as panelOwnsEscape, yn as parseConfirmationRefusal, Er as parseDataUrl, Gn as parseSharedStrings, Ur as parseToolActivity, Kn as parseWorkbookSheets, qn as pdfTextItemsToPage, Bi as pinActiveTab, Mr as planAbandonedTurn, Et as planReplyConsumption, Nr as planTurnAbort, un as pollDelayMs, Pt as primaryLanguageSubtag, En as publishedChunks, T as quotaExhaustedEventName, lt as readSpeechEngineConfig, ce as releaseSupersededAssistantSandboxes, gn as replyFollowsInput, le as reportAssistantAiTokenUsage, Dn as requiresCancel, ut as resetSpeechEngine, hn as resolveAssistantLanguage, _n as resolveLanguagePair, n as resolveModeConfig, H as resolveSandboxAssistantMode, Cn as resolveSpeechLocale, Pi as runBelongsTo, Li as runIdentities, Fi as sameOwner, De as sanitize, ue as selectExistingAssistantSandbox, de as selectSupersededAssistantSandboxes, Ft as selectVoiceForLocale, fe as sendAssistantPromptAsync, pe as sendHeartbeat, Jn as sheetXmlToRows, nt as shouldDisableEngine, Vi as shouldPinOnMove, Hi as shouldPinOnSelect, rn as showPreviousChunk, ft as showsAssistantCaption, pt as showsUserCaption, Zt as speakableEmail, It as speechGate, xn as speechLabelsFor, Lt as speechLangForLocale, On as speechPlaybackReducer, rt as splitForVendor, Qt as splitTableRow, Dt as spokenSoFar, Rr as stageText, zr as statusStageCopy, Ui as stepsFromToolActivity, me as stopReapedAssistantSandbox, Ne as streamBudgetMs, Yn as summarisePageText, Wi as tabForArrowKey, Br as thinkingPhrase, dn as toCaptionText, Dr as toMessageAttachment, $t as toSpeakableText, Or as truncateForInline, Xn as truncatePagesForInline, Sa as useAssistantApiAccess, ja as useAssistantAttachments, ui as useAssistantConnectSource, Pa as useAssistantHeartbeat, l as useAssistantI18nNamespace, Fa as useAssistantKeyboardShortcuts, x as useAssistantNavigate, r as useAssistantPageLabel, Ti as useAssistantPreview, Ji as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, Gr as useAssistantSpeech, o as useAssistantStorageFolders, Ar as useAssistantStore, u as useAssistantTr, Ca as useConversationTurns, xi as useDropdownEscape, qi as useOverlayFocus, ke as useSandboxAssistantTransport, e as useVoiceInput, Kr as useVoiceSession, ka as useWorkspaceWriteAccess, kr as validateFile, Rt as voiceAvailability, ze as voiceMarker, tn as voicePreviewText, zt as voiceQualityRank, Be as voiceSessionIdOf, Ot as voiceSessionReducer, mt as voiceStageState, Ut as voiceTranscriptFilename, Ve as voiceTurnsOnly, Bt as voicesForLocale, he as waitForAssistantServiceReady, ge as waitForSandboxRunning, ht as waveformIsActive, gt as waveformIsSettled, Pe as withIncompleteTurnNotice };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.912.6",
3
+ "version": "2026.913.1",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {