@burdenoff/fe-libs 2026.914.3 → 2026.915.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/shared/assistant/api.d.ts +38 -9
  2. package/dist/shared/assistant/api.d.ts.map +1 -1
  3. package/dist/shared/assistant/api.js +79 -74
  4. package/dist/shared/assistant/createSandboxAssistantTransport.d.ts.map +1 -1
  5. package/dist/shared/assistant/createSandboxAssistantTransport.js +3 -3
  6. package/dist/shared/assistant/i18nManifest.d.ts +335 -0
  7. package/dist/shared/assistant/i18nManifest.d.ts.map +1 -0
  8. package/dist/shared/assistant/i18nManifest.js +210 -0
  9. package/dist/shared/assistant/index.d.ts +2 -0
  10. package/dist/shared/assistant/index.d.ts.map +1 -1
  11. package/dist/shared/assistant/modeCopy.d.ts +27 -0
  12. package/dist/shared/assistant/modeCopy.d.ts.map +1 -0
  13. package/dist/shared/assistant/modeCopy.js +9 -0
  14. package/dist/shared/assistant/runtime.d.ts.map +1 -1
  15. package/dist/shared/assistant/runtime.js +3 -3
  16. package/dist/shared/assistant/store.d.ts +19 -0
  17. package/dist/shared/assistant/store.d.ts.map +1 -1
  18. package/dist/shared/assistant/store.js +9 -2
  19. package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
  20. package/dist/shared/assistant/ui/AssistantChatArea.js +288 -288
  21. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
  22. package/dist/shared/assistant/ui/AssistantMessageItem.js +2 -2
  23. package/dist/shared/assistant/ui/AssistantPendingWriteCard.d.ts.map +1 -1
  24. package/dist/shared/assistant/ui/AssistantPendingWriteCard.js +1 -1
  25. package/dist/shared/assistant/ui/composer/AssistantModeSelector.d.ts +7 -3
  26. package/dist/shared/assistant/ui/composer/AssistantModeSelector.d.ts.map +1 -1
  27. package/dist/shared/assistant/ui/composer/AssistantModeSelector.js +30 -29
  28. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
  29. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +1 -1
  30. package/dist/shared/assistant/useAssistantHeartbeat.d.ts.map +1 -1
  31. package/dist/shared/assistant/useAssistantHeartbeat.js +8 -8
  32. package/dist/shared-assistant.js +111 -109
  33. package/package.json +1 -1
@@ -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;AAwBnD,OAAO,KAAK,EACV,+BAA+B,EAG/B,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;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,+BAA+B,GAAG,IAAI,CAAC;IACpD,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,CAqU1C,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;AAwBnD,OAAO,KAAK,EACV,+BAA+B,EAG/B,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;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,+BAA+B,GAAG,IAAI,CAAC;IACpD,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,CA6U1C,CAAC"}
@@ -60,7 +60,7 @@ var O = ({ onApprovePendingWrite: E, approvingWriteRef: O = null, message: k, pr
60
60
  if (t) {
61
61
  V(e.path);
62
62
  try {
63
- let n = await a(G.sandboxId, t, G.sessionId, e.path, {
63
+ let n = await a(G.sandboxId, t, G.sessionId, e.path, G.mode, {
64
64
  accessToken: L(),
65
65
  workspaceToken: R()
66
66
  });
@@ -166,7 +166,7 @@ var O = ({ onApprovePendingWrite: E, approvingWriteRef: O = null, message: k, pr
166
166
  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",
167
167
  "aria-label": F("message.copy", "Copy message"),
168
168
  "data-testid": "assistant-message-copy",
169
- children: H ? /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(v, { className: "size-3 text-status-success-text" }), /* @__PURE__ */ S("span", { children: F("message.copied", "Copied") })] }) : /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(y, { className: "size-3" }), /* @__PURE__ */ S("span", { children: F("message.copy", "Copy") })] })
169
+ children: H ? /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(v, { className: "size-3 text-status-success-text" }), /* @__PURE__ */ S("span", { children: F("message.copied", "Copied") })] }) : /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(y, { className: "size-3" }), /* @__PURE__ */ S("span", { children: F("message.copyShort", "Copy") })] })
170
170
  }),
171
171
  X && z.isSupported && (() => {
172
172
  let e = z.blockedFor(k.id) ?? z.disabledReason, t = !!e && !!N, n = t ? `speak-reason-${k.id}` : void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantPendingWriteCard.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantPendingWriteCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,UAAU,KAAK;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC,KAAK,CA2F/C,CAAC"}
1
+ {"version":3,"file":"AssistantPendingWriteCard.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantPendingWriteCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,UAAU,KAAK;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC,KAAK,CAkG/C,CAAC"}
@@ -22,7 +22,7 @@ var i = ({ pendingWrite: i, onApprove: a, approving: o = !1 }) => {
22
22
  children: s("pendingWrite.title", "Nothing has changed yet")
23
23
  }), /* @__PURE__ */ n("p", {
24
24
  className: "text-[11px] leading-relaxed text-text-secondary",
25
- children: s("pendingWrite.subtitle", c ? "The assistant asked to make this change and was stopped. Approve it, or say what to change." : "The assistant asked to make this change and was stopped. Reply to approve or decline.")
25
+ children: c ? s("pendingWrite.subtitle", "The assistant asked to make this change and was stopped. Approve it, or say what to change.") : s("pendingWrite.subtitleReply", "The assistant asked to make this change and was stopped. Reply to approve or decline.")
26
26
  })]
27
27
  })]
28
28
  }),
@@ -10,9 +10,13 @@ interface Props {
10
10
  disabled?: boolean;
11
11
  }
12
12
  /**
13
- * Per-mode presentation metadata. The i18n key + English fallback provide the
14
- * relabelled display name ('Ask' / 'Take action') while the mode ID stays the
15
- * transport-level value ('general' / 'api-calls' / 'vibe-plugins').
13
+ * Per-mode presentation metadata: the icon, and the shared English name used
14
+ * when a product's `label` is empty ('Ask' / 'Take action'), while the mode ID
15
+ * stays the transport-level value ('general' / 'api-calls' / 'vibe-plugins').
16
+ *
17
+ * ★ `i18nKey` is NOT the key the pill requests — that is `mode.<id>`, below.
18
+ * Nothing passes `i18nKey` to a translator; it is kept only because this table
19
+ * is published. Seed from `i18nManifest.ts`, never from this field.
16
20
  */
17
21
  export declare const ASSISTANT_MODE_META: Record<AssistantMode, {
18
22
  i18nKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantModeSelector.d.ts","sourceRoot":"","sources":["../../../../../src/shared/assistant/ui/composer/AssistantModeSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,EAAE,EAAsB,MAAM,OAAO,CAAC;AACzE,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,UAAU,KAAK;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,iFAAiF;IACjF,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,aAAa,EACb;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAUxD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAgBf;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,KAAK,CAkI3C,CAAC"}
1
+ {"version":3,"file":"AssistantModeSelector.d.ts","sourceRoot":"","sources":["../../../../../src/shared/assistant/ui/composer/AssistantModeSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,EAAE,EAAsB,MAAM,OAAO,CAAC;AACzE,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,UAAU,KAAK;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,iFAAiF;IACjF,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,aAAa,EACb;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAsBxD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAgBf;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,KAAK,CAkI3C,CAAC"}
@@ -1,31 +1,32 @@
1
1
  import { useAssistantTr as e } from "../../i18n.js";
2
- import { useCallback as t, useRef as n } from "react";
3
- import { ShieldCheck as r, Sparkles as i, Zap as a } from "lucide-react";
4
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
2
+ import { ASSISTANT_MODE_FALLBACK_LABELS as t } from "../../modeCopy.js";
3
+ import { useCallback as n, useRef as r } from "react";
4
+ import { ShieldCheck as i, Sparkles as a, Zap as o } from "lucide-react";
5
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
6
  //#region src/shared/assistant/ui/composer/AssistantModeSelector.tsx
6
- var c = {
7
+ var l = {
7
8
  general: {
8
9
  i18nKey: "mode.ask",
9
- fallback: "Ask",
10
- icon: i
10
+ fallback: t.general,
11
+ icon: a
11
12
  },
12
13
  assistant: {
13
14
  i18nKey: "mode.ask",
14
- fallback: "Ask",
15
- icon: i
15
+ fallback: t.assistant,
16
+ icon: a
16
17
  },
17
18
  "api-calls": {
18
19
  i18nKey: "mode.takeAction",
19
- fallback: "Take action",
20
- icon: r
20
+ fallback: t["api-calls"],
21
+ icon: i
21
22
  },
22
23
  "vibe-plugins": {
23
24
  i18nKey: "mode.build",
24
- fallback: "Build",
25
- icon: a
25
+ fallback: t["vibe-plugins"],
26
+ icon: o
26
27
  }
27
28
  };
28
- function l(e, t, n) {
29
+ function u(e, t, n) {
29
30
  switch (e) {
30
31
  case "Home": return 0;
31
32
  case "End": return n;
@@ -36,21 +37,21 @@ function l(e, t, n) {
36
37
  default: return null;
37
38
  }
38
39
  }
39
- var u = ({ mode: r, availableModes: i, onModeChange: a, disabled: u = !1 }) => {
40
- let d = e(), f = n(null), p = t((e) => {
41
- if (u) return;
42
- let t = e.target?.closest("[data-mode-id]")?.dataset.modeId, n = t ? i.findIndex((e) => e.id === t) : -1, o = n >= 0 ? n : i.findIndex((e) => e.id === r), s = l(e.key, o, i.length - 1);
43
- if (s === null) return;
40
+ var d = ({ mode: t, availableModes: i, onModeChange: a, disabled: o = !1 }) => {
41
+ let d = e(), f = r(null), p = n((e) => {
42
+ if (o) return;
43
+ let n = e.target?.closest("[data-mode-id]")?.dataset.modeId, r = n ? i.findIndex((e) => e.id === n) : -1, s = r >= 0 ? r : i.findIndex((e) => e.id === t), c = u(e.key, s, i.length - 1);
44
+ if (c === null) return;
44
45
  e.preventDefault();
45
- let c = i[s];
46
- c && (f.current?.querySelector(`[data-mode-id="${c.id}"]`)?.focus(), c.id !== r && a(c.id));
46
+ let l = i[c];
47
+ l && (f.current?.querySelector(`[data-mode-id="${l.id}"]`)?.focus(), l.id !== t && a(l.id));
47
48
  }, [
48
49
  i,
49
- u,
50
- r,
50
+ o,
51
+ t,
51
52
  a
52
53
  ]);
53
- return i.length < 2 ? null : /* @__PURE__ */ o("div", {
54
+ return i.length < 2 ? null : /* @__PURE__ */ s("div", {
54
55
  ref: f,
55
56
  role: "radiogroup",
56
57
  "aria-label": d("modeSelector.ariaLabel", "Select assistant mode"),
@@ -58,24 +59,24 @@ var u = ({ mode: r, availableModes: i, onModeChange: a, disabled: u = !1 }) => {
58
59
  className: "inline-flex max-w-full items-center gap-1 overflow-x-auto rounded-full border border-border-subtle bg-bg-elevated p-1 [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
59
60
  "data-testid": "assistant-mode-selector",
60
61
  children: i.map((e) => {
61
- let t = c[e.id], n = t.icon, i = e.id === r;
62
- return /* @__PURE__ */ s("button", {
62
+ let n = l[e.id], r = n.icon, i = e.id === t;
63
+ return /* @__PURE__ */ c("button", {
63
64
  type: "button",
64
65
  role: "radio",
65
66
  "aria-checked": i,
66
67
  tabIndex: i ? 0 : -1,
67
- disabled: u,
68
+ disabled: o,
68
69
  onClick: () => a(e.id),
69
70
  "data-mode-id": e.id,
70
71
  className: `flex shrink-0 items-center gap-1.5 whitespace-nowrap rounded-full px-3 py-1.5 text-[13px] font-medium transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-border-strong disabled:opacity-50 ${i ? "bg-action-primary-bg text-action-primary-text shadow-sm" : "text-text-secondary hover:bg-bg-surface hover:text-text-primary"}`,
71
72
  "data-testid": `assistant-mode-option-${e.id}`,
72
- children: [/* @__PURE__ */ o(n, {
73
+ children: [/* @__PURE__ */ s(r, {
73
74
  className: "size-3.5",
74
75
  "aria-hidden": "true"
75
- }), /* @__PURE__ */ o("span", { children: d(`mode.${e.id}`, e.label || t.fallback) })]
76
+ }), /* @__PURE__ */ s("span", { children: d(`mode.${e.id}`, e.label || n.fallback) })]
76
77
  }, e.id);
77
78
  })
78
79
  });
79
80
  };
80
81
  //#endregion
81
- export { c as ASSISTANT_MODE_META, u as AssistantModeSelector, l as nextModeIndex };
82
+ export { l as ASSISTANT_MODE_META, d as AssistantModeSelector, u as nextModeIndex };
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantVoiceSession.d.ts","sourceRoot":"","sources":["../../../../../src/shared/assistant/ui/voice/AssistantVoiceSession.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAI1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAgB7D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,gFAAgF;AAChF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD,UAAU,KAAK;IACb,OAAO,EAAE,oBAAoB,CAAC;IAC9B,iEAAiE;IACjE,KAAK,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC3C,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,gEAAgE;IAChE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4DAA4D;IAC5D,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,KAAK,CAokB3C,CAAC"}
1
+ {"version":3,"file":"AssistantVoiceSession.d.ts","sourceRoot":"","sources":["../../../../../src/shared/assistant/ui/voice/AssistantVoiceSession.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAI1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAgB7D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,gFAAgF;AAChF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD,UAAU,KAAK;IACb,OAAO,EAAE,oBAAoB,CAAC;IAC9B,iEAAiE;IACjE,KAAK,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC3C,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,gEAAgE;IAChE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4DAA4D;IAC5D,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,KAAK,CAukB3C,CAAC"}
@@ -165,7 +165,7 @@ var _ = ({ session: _, turns: y = [], onSaveTranscript: b, onContinueInChat: x,
165
165
  onClick: () => W((e) => !e),
166
166
  className: `absolute ${B ? "bottom-6 right-6 size-14" : V ? "right-2 top-2 size-8" : "bottom-3 right-3 size-11"} flex items-center justify-center rounded-full bg-bg-elevated text-text-secondary transition-colors hover:bg-bg-raised hover:text-text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-border-strong`,
167
167
  "aria-pressed": U,
168
- "aria-label": N("voiceSession.transcript", "Voice transcript"),
168
+ "aria-label": N("voiceSession.transcriptTitle", "Voice transcript"),
169
169
  "data-testid": "assistant-voice-transcript-toggle",
170
170
  children: /* @__PURE__ */ h(ae, { className: B ? "size-6" : V ? "size-4" : "size-5" })
171
171
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"useAssistantHeartbeat.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/useAssistantHeartbeat.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK7C;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,aAAa,GAAG,IAAI,EAC1B,MAAM,EAAE,OAAO,GACd,IAAI,CA+BN"}
1
+ {"version":3,"file":"useAssistantHeartbeat.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/useAssistantHeartbeat.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK7C;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,aAAa,GAAG,IAAI,EAC1B,MAAM,EAAE,OAAO,GACd,IAAI,CAkCN"}
@@ -10,22 +10,22 @@ function s(s, c, l) {
10
10
  let { getAccessToken: u, getWorkspaceToken: d } = e();
11
11
  a(() => {
12
12
  if (!s || !c || !l) return;
13
- let e = r.getState().sandboxesByMode[c]?.sandboxId;
14
- if (!e) return;
15
- let a = i();
13
+ let e = c, a = r.getState().sandboxesByMode[e]?.sandboxId;
16
14
  if (!a) return;
17
- let f = () => {
15
+ let f = i();
16
+ if (!f) return;
17
+ let p = () => {
18
18
  let r = {
19
19
  accessToken: u(),
20
20
  workspaceToken: d()
21
21
  };
22
- Promise.all([n(e, a, s, r), t(e, a, 600, r)]).catch((e) => {
22
+ Promise.all([n(a, f, s, e, r), t(a, f, 600, r)]).catch((e) => {
23
23
  console.warn("[heartbeat] Failed:", e);
24
24
  });
25
25
  };
26
- f();
27
- let p = setInterval(f, o);
28
- return () => clearInterval(p);
26
+ p();
27
+ let m = setInterval(p, o);
28
+ return () => clearInterval(m);
29
29
  }, [
30
30
  s,
31
31
  c,
@@ -9,112 +9,114 @@ import { buildSandboxContextInput as E, executeSandboxGraphQL as D } from "./sha
9
9
  import { CHECK_AI_CREDITS as O, CREATE_SANDBOX as k, EXTEND_SANDBOX_TTL as A, GET_ACTIVE_SANDBOXES as j, GET_SANDBOX as M, PROXY_SANDBOX_REQUEST as N, REPORT_AI_TOKEN_USAGE as P, STOP_ASSISTANT_SANDBOX as F, WAIT_FOR_SANDBOX_RUNNING as I } from "./shared/assistant/operations.js";
10
10
  import { ASSISTANT_API_AUTH_STRATEGY as L, getImageForMode as R, getImageTagForMode as z, getResourcesForMode as B, getSandboxImageRegistry as V, resolveSandboxAssistantMode as H } from "./shared/assistant/images.js";
11
11
  import { getCapability as U, isUnknownFieldError as W, markSupported as G, markUnsupported as K } from "./shared/assistant/capabilities.js";
12
- import { abortAssistantTurn as q, approvePendingWrite as J, buildAssistantSandboxEnv as Y, buildPromptRequestBody as X, checkAssistantAiCredits as Z, createAssistantSandbox as Q, createAssistantSession as $, downloadAssistantArtifact as ee, extendAssistantSandboxTTL as te, findExistingSandbox as ne, getAssistantArtifacts as re, getAssistantMessages as ie, getAssistantSession as ae, getAssistantStreamAccess as oe, modeRequiresConfirmWrites as se, releaseSupersededAssistantSandboxes as ce, reportAssistantAiTokenUsage as le, selectExistingAssistantSandbox as ue, selectSupersededAssistantSandboxes as de, sendAssistantPromptAsync as fe, sendHeartbeat as pe, stopReapedAssistantSandbox as me, waitForAssistantServiceReady as he, waitForSandboxRunning as ge } from "./shared/assistant/api.js";
13
- import { AssistantRuntimeManager as _e } from "./shared/assistant/runtime.js";
14
- import { buildProgress as ve, getAssistantMedia as ye, getAssistantText as be, getRawMessageCreatedAt as xe, getToolProgress as Se, isReapedSandboxConnectionError as Ce, isRecoverable as we, mapSessionToHistory as Te, mergeMessagesById as Ee, sanitize as De } from "./shared/assistant/progress.js";
15
- import { createSandboxAssistantTransport as Oe } from "./shared/assistant/createSandboxAssistantTransport.js";
16
- import { useSandboxAssistantTransport as ke } from "./shared/assistant/useSandboxAssistantTransport.js";
17
- import { DEFAULT_STREAM_BUDGET_MS as Ae, STREAM_BUDGET_MS as je, incompleteTurnNotice as Me, streamBudgetMs as Ne, withIncompleteTurnNotice as Pe } from "./shared/assistant/streamBudget.js";
18
- import { chatTurns as Fe, groupBySession as Ie, groupConsecutiveBySession as Le, isVoiceTurn as Re, voiceMarker as ze, voiceSessionIdOf as Be, voiceTurnsOnly as Ve } from "./shared/assistant/voice/turnVisibility.js";
19
- import { browserSpeechEngine as He } from "./shared/assistant/speech/browserSpeechEngine.js";
20
- import { HOSTED_TTS_TIER as Ue, HOSTED_VOICES as We, hostedLocaleFor as Ge, hostedSupportsLanguage as Ke } from "./shared/assistant/speech/hostedVoiceCatalogue.js";
21
- import { HOSTED_DISABLE_MS as qe, HOSTED_TTS_MAX_CHARS as Je, SPEAKING_RATE_MAX as Ye, SPEAKING_RATE_MAX_STREAMING as Xe, SPEAKING_RATE_MAX_SYNC as Ze, SPEAKING_RATE_MIN as Qe, base64ToBytes as $e, buildRequest as et, classifyHttpFailure as tt, decodeAudioResponse as nt, disableDurationMs as rt, shouldDisableEngine as it, splitForVendor as at } from "./shared/assistant/speech/hostedTtsProtocol.js";
22
- import { createHostedTtsEngine as ot } from "./shared/assistant/speech/hostedTtsSpeechEngine.js";
23
- import { HOSTED_VOICE_RANK as st, SPEECH_LANG as ct, VOICE_LIST_TIMEOUT_MS as lt, isHostedVoice as ut, isSpeechBlocked as dt, languageDisplayName as ft, normalizeLangTag as pt, primaryLanguageSubtag as mt, selectVoiceForLocale as ht, speechGate as gt, speechLangForLocale as _t, voiceAvailability as vt, voiceQualityRank as yt, voicesForLocale as bt } from "./shared/assistant/voice/speechVoices.js";
24
- import { createRoutingSpeechEngine as xt } from "./shared/assistant/speech/routingSpeechEngine.js";
25
- import { configureSpeechEngine as St, createSpeechEngines as Ct, getSpeechEngine as wt, readSpeechEngineConfig as Tt, resetSpeechEngine as Et, subscribeSpeechEngine as Dt } from "./shared/assistant/speech/createSpeechEngine.js";
26
- import { micIsInterrupt as Ot, showsAssistantCaption as kt, showsUserCaption as At, voiceStageState as jt, waveformIsActive as Mt, waveformIsSettled as Nt } from "./shared/assistant/voice/voiceStageState.js";
27
- import { PHRASE_ROTATE_MS as Pt, STAGE_COPY as Ft, THINKING_PHRASES as It, stageText as Lt, statusStageCopy as Rt, thinkingPhrase as zt, thinkingPhraseEntry as Bt } from "./shared/assistant/stageCopy.js";
28
- import { VOICE_MUTED_LABEL as Vt, VOICE_THINKING_LABEL as Ht, composeVoiceStatus as Ut, voiceStatusParts as Wt, voiceStatusSuffix as Gt } from "./shared/assistant/voice/voiceStatus.js";
29
- import { IDLE_ROTATION_CLOCK as Kt, advanceRotationClock as qt, rotationElapsedMs as Jt, startRotationTicker as Yt, syncRotationClock as Xt } from "./shared/assistant/voice/rotationClock.js";
30
- import { ENDPOINT_GRACE_MS as Zt, INITIAL_SESSION as Qt, INTERRUPT_MAX_MS as $t, INTERRUPT_MIN_MS as en, SILENCE_SUBMIT_MS as tn, isCapturing as nn, isEcho as rn, isSubmittable as an, orbMode as on, planReplyConsumption as sn, spokenSoFar as cn, voiceSessionReducer as ln } from "./shared/assistant/voice/voiceSession.js";
31
- import { buildContinuedFromVoiceNote as un, buildVoiceTranscriptMarkdown as dn, voiceTranscriptFilename as fn } from "./shared/assistant/voice/voiceTranscript.js";
32
- import { DEFAULT_SPEAKABLE_LABELS as pn, MAX_SPEAKABLE_CHARS as mn, MAX_SPOKEN_TABLE_ROWS as hn, SPEECH_CHUNK_CHARS as gn, SPEECH_CHUNK_CJK_CHARS as _n, chunkForSpeech as vn, containsCjk as yn, speakableEmail as bn, splitTableRow as xn, toSpeakableText as Sn } from "./shared/assistant/voice/speakableText.js";
33
- import { PREVIEW_LANGUAGES as Cn, voicePreviewText as wn } from "./shared/assistant/voice/voicePreview.js";
34
- import { MINI_CAPTION_BUDGET as Tn, showPreviousChunk as En } from "./shared/assistant/voice/miniCaptionBudget.js";
35
- import { POLL_FAST_MS as Dn, POLL_FAST_UNTIL_MS as On, POLL_SLOW_MS as kn, POLL_STEADY_MS as An, POLL_STEADY_UNTIL_MS as jn, pollDelayMs as Mn } from "./shared/assistant/voice/assistantPollSchedule.js";
36
- import { toCaptionText as Nn } from "./shared/assistant/voice/captionText.js";
37
- import { ASSISTANT_LANGUAGES as Pn, DEFAULT_SPEECH_RATE as Fn, findAssistantLanguage as In, resolveAssistantLanguage as Ln } from "./shared/assistant/voice/languages.js";
38
- import { replyFollowsInput as Rn, resolveLanguagePair as zn } from "./shared/assistant/voice/languagePair.js";
39
- import { findPendingWrite as Bn, parseConfirmationRefusal as Vn } from "./shared/assistant/pendingWrite.js";
40
- import { SPOKEN_LABEL_LANGUAGES as Hn, speechLabelsFor as Un } from "./shared/assistant/voice/speechLabels.js";
41
- import { detectScriptLocale as Wn, resolveSpeechLocale as Gn } from "./shared/assistant/voice/replyLanguage.js";
42
- import { IDLE_PLAYBACK as Kn, isSpeakingMessage as qn, publishedChunks as Jn, requiresCancel as Yn, speechPlaybackReducer as Xn } from "./shared/assistant/voice/speechPlayback.js";
43
- import { MAX_INLINE_IMAGE_BASE64_BYTES as Zn, MAX_REQUEST_BODY_BYTES as Qn } from "./shared/assistant/gatewayLimits.js";
44
- import { BOILERPLATE_PAGE_SHARE as $n, MAX_BOILERPLATE_LINE_CHARS as er, MAX_EXTRACTED_CHARS as tr, MAX_PDF_PAGES_SCANNED as nr, MIN_PAGE_TEXT_CHARS as rr, MIN_TEXT_PAGE_SHARE as ir, columnLetterToIndex as ar, decodeXmlEntities as or, docxXmlToText as sr, fitPdfPages as cr, formatPageRanges as lr, isMostlyImagePages as ur, joinSheets as dr, pageMarker as fr, parseSharedStrings as pr, parseWorkbookSheets as mr, pdfTextItemsToPage as hr, sheetXmlToRows as gr, summarisePageText as _r, truncatePagesForInline as vr } from "./shared/assistant/documentText.js";
45
- import { ATTACHMENT_ACCEPT as yr, AttachmentRejectedError as br, INLINE_IMAGE_MAX_DIM as xr, INLINE_IMAGE_QUALITY as Sr, MAX_ATTACHMENTS as Cr, MAX_FILE_BYTES as wr, MAX_INLINE_CHARS_PER_FILE as Tr, MAX_INLINE_CHARS_TOTAL as Er, MAX_INLINE_IMAGE_BASE64_CHARS as Dr, MAX_INLINE_IMAGE_PARTS as Or, MAX_INLINE_TURN_BODY_BYTES as kr, MAX_TURN_BODY_BYTES as Ar, PROMPT_ENVELOPE_RESERVE_BYTES as jr, PROVIDER_READABLE_FILE_MEDIA_TYPES as Mr, TURN_BODY_HEADROOM_BYTES as Nr, buildAttachmentPromptBlock as Pr, buildPromptParts as Fr, buildPromptWithAttachments as Ir, classifyAttachment as Lr, countInlineImageCandidates as Rr, countInlinedImageParts as zr, detectDocumentFormat as Br, estimateTurnBodyBytes as Vr, formatBytes as Hr, getAttachmentSendBlocker as Ur, getExtension as Wr, getSendableAttachments as Gr, hasAttachmentWorkInFlight as Kr, isProviderReadableFilePart as qr, parseDataUrl as Jr, toMessageAttachment as Yr, truncateForInline as Xr, validateFile as Zr } from "./shared/assistant/attachments.js";
46
- import { useAssistantStore as Qr } from "./shared/assistant/store.js";
47
- import { isTurnInFlight as $r, planAbandonedTurn as ei, planTurnAbort as ti } from "./shared/assistant/turnState.js";
48
- import { isLegacyFiller as ni, isLegacyStopped as ri, isStageCopy as ii, stripLegacyFillerPrefix as ai } from "./shared/assistant/legacyFiller.js";
49
- import { getAssistantDisplayContent as oi } from "./shared/assistant/displayContent.js";
50
- import { elapsedSince as si, msUntilNextPhrase as ci, startPhraseTicker as li, turnActivityCopy as ui, turnActivityStage as di } from "./shared/assistant/turnActivity.js";
51
- import { buildAssistantProgress as fi } from "./shared/assistant/turnProgress.js";
52
- import { AssistantToolActivity as pi, parseToolActivity as mi } from "./shared/assistant/ui/AssistantToolActivity.js";
53
- import { countSpokenTurns as hi, spokenTurnText as gi } from "./shared/assistant/spokenTurns.js";
54
- import { AssistantAvatar as _i } from "./shared/assistant/ui/AssistantAvatar.js";
55
- import { AssistantSpeechProvider as vi, useAssistantSpeech as yi } from "./shared/assistant/ui/AssistantSpeechProvider.js";
56
- import { useVoiceSession as bi } from "./shared/assistant/ui/useVoiceSession.js";
57
- import { getActorId as xi, getOrganizationId as Si, getWorkspaceId as Ci } from "./shared/assistant/context.js";
58
- import { ATTACHMENT_SOURCES as wi, availableAttachmentSources as Ti, deviceHasCamera as Ei } from "./shared/assistant/attachmentSources.js";
59
- import { SANDBOX_READY_TTL_MS as Di, createReadinessTracker as Oi, isRecentlyVerified as ki } from "./shared/assistant/sandboxReadiness.js";
60
- import { AssistantAutoSpeakToggle as Ai } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
61
- import { AssistantMessageAttachments as ji } from "./shared/assistant/ui/AssistantMessageAttachments.js";
62
- import { AssistantPendingWriteCard as Mi } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
63
- import { AssistantLanguageMenu as Ni } from "./shared/assistant/ui/AssistantLanguageMenu.js";
64
- import { AssistantReplyLanguageSelector as Pi } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
65
- import { AssistantSpeakButton as Fi } from "./shared/assistant/ui/AssistantSpeakButton.js";
66
- import { AssistantSpokenTurnsNotice as Ii } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
67
- import { AssistantConnectSourceProvider as Li, useAssistantConnectSource as Ri } from "./shared/assistant/ui/composer/connectSource.js";
68
- import { AssistantConnectSourceItem as zi } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
69
- import { ASSISTANT_OVERLAY_ATTR as Bi, ASSISTANT_PANEL_ATTR as Vi, NO_PANEL_OVERLAY as Hi, activePanelOverlay as Ui, assistantPanelOwnsEscape as Wi, escapeDismisses as Gi, focusIsInsidePanel as Ki, nextPanelOverlays as qi, panelOwnsEscape as Ji } from "./shared/assistant/ui/panelOverlays.js";
70
- import { useDropdownEscape as Yi } from "./shared/assistant/ui/useDropdownEscape.js";
71
- import { AssistantAttachmentButton as Xi } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
72
- import { AssistantAttachmentChips as Zi } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
73
- import { AssistantPreviewProvider as Qi, useAssistantPreview as $i } from "./shared/assistant/preview/context.js";
74
- import { IDLE_PREVIEW_STATE as ea, isBlankProse as ta, isRunningStatus as na, nextPreviewEvents as ra } from "./shared/assistant/preview/previewTransitions.js";
75
- import { IDLE_PREVIEW as ia, NO_OWNER as aa, applyPreviewEvent as oa, createAssistantPreviewSurface as sa, currentPreviewOwner as ca, runBelongsTo as la, sameOwner as ua } from "./shared/assistant/preview/surfaceState.js";
76
- import { createRunIdentityCache as da, runIdentities as fa } from "./shared/assistant/preview/runIdentity.js";
77
- import { IDLE_ACTIVE_TAB as pa, nextActiveTab as ma, pinActiveTab as ha, shouldPinOnMove as ga, shouldPinOnSelect as _a, stepsFromToolActivity as va, tabForArrowKey as ya } from "./shared/assistant/preview/entity/entityPreviewState.js";
78
- import { AssistantStepRail as ba } from "./shared/assistant/preview/entity/AssistantStepRail.js";
79
- import { AssistantEntityPreview as xa } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
80
- import { useOverlayFocus as Sa } from "./shared/assistant/ui/useOverlayFocus.js";
81
- import { REDUCED_MOTION_ATTRIBUTE as Ca, REDUCED_MOTION_QUERY as wa, readReducedMotion as Ta, subscribeReducedMotion as Ea, usePrefersReducedMotion as Da } from "./shared/assistant/ui/usePrefersReducedMotion.js";
82
- import { useAssistantPreviewBridge as Oa } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
83
- import { AssistantPreviewOverlay as ka } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
84
- import { AssistantLanguageSelector as Aa, FOLLOW_APP_LOCALE as ja } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
85
- import { ASSISTANT_MODE_META as Ma, AssistantModeSelector as Na, nextModeIndex as Pa } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
86
- import { AssistantVoiceButton as Fa } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
87
- import { AUTO_VOICE as Ia, AssistantVoiceSelector as La } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
88
- import { AssistantVoiceOrb as Ra } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
89
- import { AssistantVoiceSessionButton as za } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
90
- import { CAPTION_SCROLL_ATTR as Ba, VoiceCaption as Va } from "./shared/assistant/ui/voice/VoiceCaption.js";
91
- import { VoiceConversationView as Ha } from "./shared/assistant/ui/voice/VoiceConversationView.js";
92
- import { VoiceWaveform as Ua } from "./shared/assistant/ui/voice/VoiceWaveform.js";
93
- import { VoiceStatusLine as Wa, VoiceStatusText as Ga } from "./shared/assistant/ui/voice/VoiceStatusText.js";
94
- import { VoiceMiniController as Ka } from "./shared/assistant/ui/voice/VoiceMiniController.js";
95
- import { VoiceStage as qa } from "./shared/assistant/ui/voice/VoiceStage.js";
96
- import { VoiceTranscriptDrawer as Ja } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
97
- import { downloadFile as Ya, exportConversation as Xa } from "./shared/assistant/exportConversation.js";
98
- import { AssistantMoreMenu as Za } from "./shared/assistant/ui/AssistantMoreMenu.js";
99
- import { AssistantHeader as Qa } from "./shared/assistant/ui/AssistantHeader.js";
100
- import { AssistantConversationList as $a } from "./shared/assistant/ui/AssistantConversationList.js";
101
- import { AssistantEmptyState as eo } from "./shared/assistant/ui/AssistantEmptyState.js";
102
- import { AssistantTurnActivity as to, TurnActivityLine as no } from "./shared/assistant/ui/AssistantTurnActivity.js";
103
- import { AssistantMessageItem as ro } from "./shared/assistant/ui/AssistantMessageItem.js";
104
- import { AssistantMessageList as io } from "./shared/assistant/ui/AssistantMessageList.js";
105
- import { AssistantVoiceSession as ao } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
106
- import { useAssistantApiAccess as oo } from "./shared/assistant/useAssistantApiAccess.js";
107
- import { useConversationTurns as so } from "./shared/assistant/useConversationTurns.js";
108
- import { isMultimodalBodyRejection as co, isRecoverableAssistantError as lo } from "./shared/assistant/transportErrors.js";
109
- import { aiCreditsUpdatedEventName as uo, dispatchAssistantQuotaExhausted as fo, notifyAiCreditsUpdated as po } from "./shared/assistant/aiCredits.js";
110
- import { useWorkspaceWriteAccess as mo } from "./shared/assistant/useWorkspaceWriteAccess.js";
111
- import { extractDocumentText as ho } from "./shared/assistant/documentExtract.js";
112
- import { useAssistantAttachments as go } from "./shared/assistant/useAssistantAttachments.js";
113
- import { AssistantComposer as _o } from "./shared/assistant/ui/composer/AssistantComposer.js";
114
- import { isProdRuntime as vo } from "./shared/assistant/env.js";
115
- import { useAssistantHeartbeat as yo } from "./shared/assistant/useAssistantHeartbeat.js";
116
- import { useAssistantKeyboardShortcuts as bo } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
117
- import { AssistantApiCallsConsentDialog as xo } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
118
- import { AssistantChatArea as So } from "./shared/assistant/ui/AssistantChatArea.js";
119
- import { AIAssistantPanel as Co } from "./shared/assistant/ui/AIAssistantPanel.js";
120
- export { Co as AIAssistantPanel, L as ASSISTANT_API_AUTH_STRATEGY, Pn as ASSISTANT_LANGUAGES, Ma as ASSISTANT_MODE_META, Bi as ASSISTANT_OVERLAY_ATTR, Vi as ASSISTANT_PANEL_ATTR, yr as ATTACHMENT_ACCEPT, wi as ATTACHMENT_SOURCES, Ia as AUTO_VOICE, xo as AssistantApiCallsConsentDialog, Xi as AssistantAttachmentButton, Zi as AssistantAttachmentChips, Ai as AssistantAutoSpeakToggle, _i as AssistantAvatar, So as AssistantChatArea, _o as AssistantComposer, zi as AssistantConnectSourceItem, Li as AssistantConnectSourceProvider, $a as AssistantConversationList, eo as AssistantEmptyState, xa as AssistantEntityPreview, Qa as AssistantHeader, s as AssistantI18nProvider, Ni as AssistantLanguageMenu, Aa as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, ji as AssistantMessageAttachments, ro as AssistantMessageItem, io as AssistantMessageList, Na as AssistantModeSelector, Za as AssistantMoreMenu, g as AssistantNavigateProvider, Mi as AssistantPendingWriteCard, ka as AssistantPreviewOverlay, Qi as AssistantPreviewProvider, t as AssistantProductProvider, Pi as AssistantReplyLanguageSelector, _e as AssistantRuntimeManager, Fi as AssistantSpeakButton, vi as AssistantSpeechProvider, Ii as AssistantSpokenTurnsNotice, ba as AssistantStepRail, pi as AssistantToolActivity, to as AssistantTurnActivity, Fa as AssistantVoiceButton, Ra as AssistantVoiceOrb, La as AssistantVoiceSelector, ao as AssistantVoiceSession, za as AssistantVoiceSessionButton, br as AttachmentRejectedError, $n as BOILERPLATE_PAGE_SHARE, Ba as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, pn as DEFAULT_SPEAKABLE_LABELS, Fn as DEFAULT_SPEECH_RATE, Ae as DEFAULT_STREAM_BUDGET_MS, Zt as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, ja as FOLLOW_APP_LOCALE, j as GET_ACTIVE_SANDBOXES, M as GET_SANDBOX, qe as HOSTED_DISABLE_MS, Je as HOSTED_TTS_MAX_CHARS, Ue as HOSTED_TTS_TIER, We as HOSTED_VOICES, st as HOSTED_VOICE_RANK, pa as IDLE_ACTIVE_TAB, Kn as IDLE_PLAYBACK, ia as IDLE_PREVIEW, ea as IDLE_PREVIEW_STATE, Kt as IDLE_ROTATION_CLOCK, Qt as INITIAL_SESSION, xr as INLINE_IMAGE_MAX_DIM, Sr as INLINE_IMAGE_QUALITY, $t as INTERRUPT_MAX_MS, en as INTERRUPT_MIN_MS, Cr as MAX_ATTACHMENTS, er as MAX_BOILERPLATE_LINE_CHARS, tr as MAX_EXTRACTED_CHARS, wr as MAX_FILE_BYTES, Tr as MAX_INLINE_CHARS_PER_FILE, Er as MAX_INLINE_CHARS_TOTAL, Zn as MAX_INLINE_IMAGE_BASE64_BYTES, Dr as MAX_INLINE_IMAGE_BASE64_CHARS, Or as MAX_INLINE_IMAGE_PARTS, kr as MAX_INLINE_TURN_BODY_BYTES, nr as MAX_PDF_PAGES_SCANNED, Qn as MAX_REQUEST_BODY_BYTES, mn as MAX_SPEAKABLE_CHARS, hn as MAX_SPOKEN_TABLE_ROWS, Ar as MAX_TURN_BODY_BYTES, Tn as MINI_CAPTION_BUDGET, rr as MIN_PAGE_TEXT_CHARS, ir as MIN_TEXT_PAGE_SHARE, aa as NO_OWNER, Hi as NO_PANEL_OVERLAY, Pt as PHRASE_ROTATE_MS, Dn as POLL_FAST_MS, On as POLL_FAST_UNTIL_MS, kn as POLL_SLOW_MS, An as POLL_STEADY_MS, jn as POLL_STEADY_UNTIL_MS, Cn as PREVIEW_LANGUAGES, jr as PROMPT_ENVELOPE_RESERVE_BYTES, Mr as PROVIDER_READABLE_FILE_MEDIA_TYPES, N as PROXY_SANDBOX_REQUEST, Ca as REDUCED_MOTION_ATTRIBUTE, wa as REDUCED_MOTION_QUERY, P as REPORT_AI_TOKEN_USAGE, Di as SANDBOX_READY_TTL_MS, tn as SILENCE_SUBMIT_MS, Ye as SPEAKING_RATE_MAX, Xe as SPEAKING_RATE_MAX_STREAMING, Ze as SPEAKING_RATE_MAX_SYNC, Qe as SPEAKING_RATE_MIN, gn as SPEECH_CHUNK_CHARS, _n as SPEECH_CHUNK_CJK_CHARS, ct as SPEECH_LANG, Hn as SPOKEN_LABEL_LANGUAGES, Ft as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, je as STREAM_BUDGET_MS, It as THINKING_PHRASES, Nr as TURN_BODY_HEADROOM_BYTES, no as TurnActivityLine, lt as VOICE_LIST_TIMEOUT_MS, Vt as VOICE_MUTED_LABEL, Ht as VOICE_THINKING_LABEL, Va as VoiceCaption, Ha as VoiceConversationView, Ka as VoiceMiniController, qa as VoiceStage, Wa as VoiceStatusLine, Ga as VoiceStatusText, Ja as VoiceTranscriptDrawer, Ua as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, q as abortAssistantTurn, Ui as activePanelOverlay, qt as advanceRotationClock, uo as aiCreditsUpdatedEventName, oa as applyPreviewEvent, J as approvePendingWrite, Wi as assistantPanelOwnsEscape, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, Ti as availableAttachmentSources, $e as base64ToBytes, y as browserShouldHandle, He as browserSpeechEngine, fi as buildAssistantProgress, Y as buildAssistantSandboxEnv, Pr as buildAttachmentPromptBlock, un as buildContinuedFromVoiceNote, ve as buildProgress, Fr as buildPromptParts, X as buildPromptRequestBody, Ir as buildPromptWithAttachments, et as buildRequest, E as buildSandboxContextInput, dn as buildVoiceTranscriptMarkdown, Fe as chatTurns, Z as checkAssistantAiCredits, vn as chunkForSpeech, b as classifyAssistantHref, Lr as classifyAttachment, tt as classifyHttpFailure, S as classifyQuotaError, ar as columnLetterToIndex, Ut as composeVoiceStatus, St as configureSpeechEngine, yn as containsCjk, d as copyToClipboard, Rr as countInlineImageCandidates, zr as countInlinedImageParts, hi as countSpokenTurns, sa as createAssistantPreviewSurface, Q as createAssistantSandbox, $ as createAssistantSession, ot as createHostedTtsEngine, Oi as createReadinessTracker, xt as createRoutingSpeechEngine, da as createRunIdentityCache, Oe as createSandboxAssistantTransport, Ct as createSpeechEngines, ca as currentPreviewOwner, nt as decodeAudioResponse, or as decodeXmlEntities, C as describeQuotaError, Br as detectDocumentFormat, Wn as detectScriptLocale, Ei as deviceHasCamera, rt as disableDurationMs, fo as dispatchAssistantQuotaExhausted, sr as docxXmlToText, ee as downloadAssistantArtifact, Ya as downloadFile, si as elapsedSince, Gi as escapeDismisses, Vr as estimateTurnBodyBytes, D as executeSandboxGraphQL, Xa as exportConversation, te as extendAssistantSandboxTTL, ho as extractDocumentText, In as findAssistantLanguage, ne as findExistingSandbox, Bn as findPendingWrite, cr as fitPdfPages, Ki as focusIsInsidePanel, Hr as formatBytes, lr as formatPageRanges, xi as getActorId, re as getAssistantArtifacts, oi as getAssistantDisplayContent, ye as getAssistantMedia, ie as getAssistantMessages, ae as getAssistantSession, oe as getAssistantStreamAccess, be as getAssistantText, Ur as getAttachmentSendBlocker, U as getCapability, Wr as getExtension, R as getImageForMode, z as getImageTagForMode, Si as getOrganizationId, xe as getRawMessageCreatedAt, B as getResourcesForMode, V as getSandboxImageRegistry, Gr as getSendableAttachments, wt as getSpeechEngine, Se as getToolProgress, Ci as getWorkspaceId, Ie as groupBySession, Le as groupConsecutiveBySession, Kr as hasAttachmentWorkInFlight, Ge as hostedLocaleFor, Ke as hostedSupportsLanguage, p as imageHostLabel, Me as incompleteTurnNotice, ta as isBlankProse, nn as isCapturing, rn as isEcho, ut as isHostedVoice, ni as isLegacyFiller, ri as isLegacyStopped, ur as isMostlyImagePages, co as isMultimodalBodyRejection, vo as isProdRuntime, qr as isProviderReadableFilePart, w as isQuotaExhaustedError, Ce as isReapedSandboxConnectionError, ki as isRecentlyVerified, we as isRecoverable, lo as isRecoverableAssistantError, m as isRemoteImageSrc, na as isRunningStatus, qn as isSpeakingMessage, dt as isSpeechBlocked, ii as isStageCopy, an as isSubmittable, $r as isTurnInFlight, W as isUnknownFieldError, Re as isVoiceTurn, dr as joinSheets, ft as languageDisplayName, Te as mapSessionToHistory, G as markSupported, K as markUnsupported, Ee as mergeMessagesById, Ot as micIsInterrupt, se as modeRequiresConfirmWrites, ci as msUntilNextPhrase, ma as nextActiveTab, Pa as nextModeIndex, qi as nextPanelOverlays, ra as nextPreviewEvents, pt as normalizeLangTag, po as notifyAiCreditsUpdated, on as orbMode, fr as pageMarker, Ji as panelOwnsEscape, Vn as parseConfirmationRefusal, Jr as parseDataUrl, pr as parseSharedStrings, mi as parseToolActivity, mr as parseWorkbookSheets, hr as pdfTextItemsToPage, ha as pinActiveTab, ei as planAbandonedTurn, sn as planReplyConsumption, ti as planTurnAbort, Mn as pollDelayMs, mt as primaryLanguageSubtag, Jn as publishedChunks, T as quotaExhaustedEventName, Ta as readReducedMotion, Tt as readSpeechEngineConfig, ce as releaseSupersededAssistantSandboxes, Rn as replyFollowsInput, le as reportAssistantAiTokenUsage, Yn as requiresCancel, Et as resetSpeechEngine, Ln as resolveAssistantLanguage, zn as resolveLanguagePair, n as resolveModeConfig, H as resolveSandboxAssistantMode, Gn as resolveSpeechLocale, Jt as rotationElapsedMs, la as runBelongsTo, fa as runIdentities, ua as sameOwner, De as sanitize, ue as selectExistingAssistantSandbox, de as selectSupersededAssistantSandboxes, ht as selectVoiceForLocale, fe as sendAssistantPromptAsync, pe as sendHeartbeat, gr as sheetXmlToRows, it as shouldDisableEngine, ga as shouldPinOnMove, _a as shouldPinOnSelect, En as showPreviousChunk, kt as showsAssistantCaption, At as showsUserCaption, bn as speakableEmail, gt as speechGate, Un as speechLabelsFor, _t as speechLangForLocale, Xn as speechPlaybackReducer, at as splitForVendor, xn as splitTableRow, cn as spokenSoFar, gi as spokenTurnText, Lt as stageText, li as startPhraseTicker, Yt as startRotationTicker, Rt as statusStageCopy, va as stepsFromToolActivity, me as stopReapedAssistantSandbox, Ne as streamBudgetMs, ai as stripLegacyFillerPrefix, Ea as subscribeReducedMotion, Dt as subscribeSpeechEngine, _r as summarisePageText, Xt as syncRotationClock, ya as tabForArrowKey, zt as thinkingPhrase, Bt as thinkingPhraseEntry, Nn as toCaptionText, Yr as toMessageAttachment, Sn as toSpeakableText, Xr as truncateForInline, vr as truncatePagesForInline, ui as turnActivityCopy, di as turnActivityStage, oo as useAssistantApiAccess, go as useAssistantAttachments, Ri as useAssistantConnectSource, yo as useAssistantHeartbeat, l as useAssistantI18nNamespace, bo as useAssistantKeyboardShortcuts, x as useAssistantNavigate, r as useAssistantPageLabel, $i as useAssistantPreview, Oa as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, yi as useAssistantSpeech, o as useAssistantStorageFolders, Qr as useAssistantStore, u as useAssistantTr, so as useConversationTurns, Yi as useDropdownEscape, Sa as useOverlayFocus, Da as usePrefersReducedMotion, ke as useSandboxAssistantTransport, e as useVoiceInput, bi as useVoiceSession, mo as useWorkspaceWriteAccess, Zr as validateFile, vt as voiceAvailability, ze as voiceMarker, wn as voicePreviewText, yt as voiceQualityRank, Be as voiceSessionIdOf, ln as voiceSessionReducer, jt as voiceStageState, Wt as voiceStatusParts, Gt as voiceStatusSuffix, fn as voiceTranscriptFilename, Ve as voiceTurnsOnly, bt as voicesForLocale, he as waitForAssistantServiceReady, ge as waitForSandboxRunning, Mt as waveformIsActive, Nt as waveformIsSettled, Pe as withIncompleteTurnNotice };
12
+ import { abortAssistantTurn as q, approvePendingWrite as J, buildAssistantSandboxEnv as Y, buildPromptRequestBody as X, checkAssistantAiCredits as Z, createAssistantSandbox as Q, createAssistantSession as $, downloadAssistantArtifact as ee, extendAssistantSandboxTTL as te, findExistingSandbox as ne, forwardsUserTokensToSandbox as re, getAssistantArtifacts as ie, getAssistantMessages as ae, getAssistantSession as oe, getAssistantStreamAccess as se, modeRequiresConfirmWrites as ce, releaseSupersededAssistantSandboxes as le, reportAssistantAiTokenUsage as ue, selectExistingAssistantSandbox as de, selectSupersededAssistantSandboxes as fe, sendAssistantPromptAsync as pe, sendHeartbeat as me, stopReapedAssistantSandbox as he, waitForAssistantServiceReady as ge, waitForSandboxRunning as _e } from "./shared/assistant/api.js";
13
+ import { AssistantRuntimeManager as ve } from "./shared/assistant/runtime.js";
14
+ import { buildProgress as ye, getAssistantMedia as be, getAssistantText as xe, getRawMessageCreatedAt as Se, getToolProgress as Ce, isReapedSandboxConnectionError as we, isRecoverable as Te, mapSessionToHistory as Ee, mergeMessagesById as De, sanitize as Oe } from "./shared/assistant/progress.js";
15
+ import { createSandboxAssistantTransport as ke } from "./shared/assistant/createSandboxAssistantTransport.js";
16
+ import { useSandboxAssistantTransport as Ae } from "./shared/assistant/useSandboxAssistantTransport.js";
17
+ import { DEFAULT_STREAM_BUDGET_MS as je, STREAM_BUDGET_MS as Me, incompleteTurnNotice as Ne, streamBudgetMs as Pe, withIncompleteTurnNotice as Fe } from "./shared/assistant/streamBudget.js";
18
+ import { chatTurns as Ie, groupBySession as Le, groupConsecutiveBySession as Re, isVoiceTurn as ze, voiceMarker as Be, voiceSessionIdOf as Ve, voiceTurnsOnly as He } from "./shared/assistant/voice/turnVisibility.js";
19
+ import { browserSpeechEngine as Ue } from "./shared/assistant/speech/browserSpeechEngine.js";
20
+ import { HOSTED_TTS_TIER as We, HOSTED_VOICES as Ge, hostedLocaleFor as Ke, hostedSupportsLanguage as qe } from "./shared/assistant/speech/hostedVoiceCatalogue.js";
21
+ import { HOSTED_DISABLE_MS as Je, HOSTED_TTS_MAX_CHARS as Ye, SPEAKING_RATE_MAX as Xe, SPEAKING_RATE_MAX_STREAMING as Ze, SPEAKING_RATE_MAX_SYNC as Qe, SPEAKING_RATE_MIN as $e, base64ToBytes as et, buildRequest as tt, classifyHttpFailure as nt, decodeAudioResponse as rt, disableDurationMs as it, shouldDisableEngine as at, splitForVendor as ot } from "./shared/assistant/speech/hostedTtsProtocol.js";
22
+ import { createHostedTtsEngine as st } from "./shared/assistant/speech/hostedTtsSpeechEngine.js";
23
+ import { HOSTED_VOICE_RANK as ct, SPEECH_LANG as lt, VOICE_LIST_TIMEOUT_MS as ut, isHostedVoice as dt, isSpeechBlocked as ft, languageDisplayName as pt, normalizeLangTag as mt, primaryLanguageSubtag as ht, selectVoiceForLocale as gt, speechGate as _t, speechLangForLocale as vt, voiceAvailability as yt, voiceQualityRank as bt, voicesForLocale as xt } from "./shared/assistant/voice/speechVoices.js";
24
+ import { createRoutingSpeechEngine as St } from "./shared/assistant/speech/routingSpeechEngine.js";
25
+ import { configureSpeechEngine as Ct, createSpeechEngines as wt, getSpeechEngine as Tt, readSpeechEngineConfig as Et, resetSpeechEngine as Dt, subscribeSpeechEngine as Ot } from "./shared/assistant/speech/createSpeechEngine.js";
26
+ import { micIsInterrupt as kt, showsAssistantCaption as At, showsUserCaption as jt, voiceStageState as Mt, waveformIsActive as Nt, waveformIsSettled as Pt } from "./shared/assistant/voice/voiceStageState.js";
27
+ import { PHRASE_ROTATE_MS as Ft, STAGE_COPY as It, THINKING_PHRASES as Lt, stageText as Rt, statusStageCopy as zt, thinkingPhrase as Bt, thinkingPhraseEntry as Vt } from "./shared/assistant/stageCopy.js";
28
+ import { VOICE_MUTED_LABEL as Ht, VOICE_THINKING_LABEL as Ut, composeVoiceStatus as Wt, voiceStatusParts as Gt, voiceStatusSuffix as Kt } from "./shared/assistant/voice/voiceStatus.js";
29
+ import { IDLE_ROTATION_CLOCK as qt, advanceRotationClock as Jt, rotationElapsedMs as Yt, startRotationTicker as Xt, syncRotationClock as Zt } from "./shared/assistant/voice/rotationClock.js";
30
+ import { ENDPOINT_GRACE_MS as Qt, INITIAL_SESSION as $t, INTERRUPT_MAX_MS as en, INTERRUPT_MIN_MS as tn, SILENCE_SUBMIT_MS as nn, isCapturing as rn, isEcho as an, isSubmittable as on, orbMode as sn, planReplyConsumption as cn, spokenSoFar as ln, voiceSessionReducer as un } from "./shared/assistant/voice/voiceSession.js";
31
+ import { buildContinuedFromVoiceNote as dn, buildVoiceTranscriptMarkdown as fn, voiceTranscriptFilename as pn } from "./shared/assistant/voice/voiceTranscript.js";
32
+ import { DEFAULT_SPEAKABLE_LABELS as mn, MAX_SPEAKABLE_CHARS as hn, MAX_SPOKEN_TABLE_ROWS as gn, SPEECH_CHUNK_CHARS as _n, SPEECH_CHUNK_CJK_CHARS as vn, chunkForSpeech as yn, containsCjk as bn, speakableEmail as xn, splitTableRow as Sn, toSpeakableText as Cn } from "./shared/assistant/voice/speakableText.js";
33
+ import { PREVIEW_LANGUAGES as wn, voicePreviewText as Tn } from "./shared/assistant/voice/voicePreview.js";
34
+ import { MINI_CAPTION_BUDGET as En, showPreviousChunk as Dn } from "./shared/assistant/voice/miniCaptionBudget.js";
35
+ import { POLL_FAST_MS as On, POLL_FAST_UNTIL_MS as kn, POLL_SLOW_MS as An, POLL_STEADY_MS as jn, POLL_STEADY_UNTIL_MS as Mn, pollDelayMs as Nn } from "./shared/assistant/voice/assistantPollSchedule.js";
36
+ import { toCaptionText as Pn } from "./shared/assistant/voice/captionText.js";
37
+ import { ASSISTANT_LANGUAGES as Fn, DEFAULT_SPEECH_RATE as In, findAssistantLanguage as Ln, resolveAssistantLanguage as Rn } from "./shared/assistant/voice/languages.js";
38
+ import { replyFollowsInput as zn, resolveLanguagePair as Bn } from "./shared/assistant/voice/languagePair.js";
39
+ import { findPendingWrite as Vn, parseConfirmationRefusal as Hn } from "./shared/assistant/pendingWrite.js";
40
+ import { MAX_INLINE_IMAGE_BASE64_BYTES as Un, MAX_REQUEST_BODY_BYTES as Wn } from "./shared/assistant/gatewayLimits.js";
41
+ import { BOILERPLATE_PAGE_SHARE as Gn, MAX_BOILERPLATE_LINE_CHARS as Kn, MAX_EXTRACTED_CHARS as qn, MAX_PDF_PAGES_SCANNED as Jn, MIN_PAGE_TEXT_CHARS as Yn, MIN_TEXT_PAGE_SHARE as Xn, columnLetterToIndex as Zn, decodeXmlEntities as Qn, docxXmlToText as $n, fitPdfPages as er, formatPageRanges as tr, isMostlyImagePages as nr, joinSheets as rr, pageMarker as ir, parseSharedStrings as ar, parseWorkbookSheets as or, pdfTextItemsToPage as sr, sheetXmlToRows as cr, summarisePageText as lr, truncatePagesForInline as ur } from "./shared/assistant/documentText.js";
42
+ import { ATTACHMENT_ACCEPT as dr, AttachmentRejectedError as fr, INLINE_IMAGE_MAX_DIM as pr, INLINE_IMAGE_QUALITY as mr, MAX_ATTACHMENTS as hr, MAX_FILE_BYTES as gr, MAX_INLINE_CHARS_PER_FILE as _r, MAX_INLINE_CHARS_TOTAL as vr, MAX_INLINE_IMAGE_BASE64_CHARS as yr, MAX_INLINE_IMAGE_PARTS as br, MAX_INLINE_TURN_BODY_BYTES as xr, MAX_TURN_BODY_BYTES as Sr, PROMPT_ENVELOPE_RESERVE_BYTES as Cr, PROVIDER_READABLE_FILE_MEDIA_TYPES as wr, TURN_BODY_HEADROOM_BYTES as Tr, buildAttachmentPromptBlock as Er, buildPromptParts as Dr, buildPromptWithAttachments as Or, classifyAttachment as kr, countInlineImageCandidates as Ar, countInlinedImageParts as jr, detectDocumentFormat as Mr, estimateTurnBodyBytes as Nr, formatBytes as Pr, getAttachmentSendBlocker as Fr, getExtension as Ir, getSendableAttachments as Lr, hasAttachmentWorkInFlight as Rr, isProviderReadableFilePart as zr, parseDataUrl as Br, toMessageAttachment as Vr, truncateForInline as Hr, validateFile as Ur } from "./shared/assistant/attachments.js";
43
+ import { ATTACHMENT_SOURCES as Wr, availableAttachmentSources as Gr, deviceHasCamera as Kr } from "./shared/assistant/attachmentSources.js";
44
+ import { ASSISTANT_MODE_FALLBACK_LABELS as qr, ASSISTANT_MODE_IDS as Jr } from "./shared/assistant/modeCopy.js";
45
+ import { ASSISTANT_I18N_COMPUTED_COPY as Yr, ASSISTANT_I18N_LITERAL_COPY as Xr, ASSISTANT_I18N_MANIFEST as Zr, assistantI18nSeedCopy as Qr, assistantModeI18nCopy as $r } from "./shared/assistant/i18nManifest.js";
46
+ import { SPOKEN_LABEL_LANGUAGES as ei, speechLabelsFor as ti } from "./shared/assistant/voice/speechLabels.js";
47
+ import { detectScriptLocale as ni, resolveSpeechLocale as ri } from "./shared/assistant/voice/replyLanguage.js";
48
+ import { IDLE_PLAYBACK as ii, isSpeakingMessage as ai, publishedChunks as oi, requiresCancel as si, speechPlaybackReducer as ci } from "./shared/assistant/voice/speechPlayback.js";
49
+ import { resolveActiveModeSandbox as li, useAssistantStore as ui } from "./shared/assistant/store.js";
50
+ import { isTurnInFlight as di, planAbandonedTurn as fi, planTurnAbort as pi } from "./shared/assistant/turnState.js";
51
+ import { isLegacyFiller as mi, isLegacyStopped as hi, isStageCopy as gi, stripLegacyFillerPrefix as _i } from "./shared/assistant/legacyFiller.js";
52
+ import { getAssistantDisplayContent as vi } from "./shared/assistant/displayContent.js";
53
+ import { elapsedSince as yi, msUntilNextPhrase as bi, startPhraseTicker as xi, turnActivityCopy as Si, turnActivityStage as Ci } from "./shared/assistant/turnActivity.js";
54
+ import { buildAssistantProgress as wi } from "./shared/assistant/turnProgress.js";
55
+ import { AssistantToolActivity as Ti, parseToolActivity as Ei } from "./shared/assistant/ui/AssistantToolActivity.js";
56
+ import { countSpokenTurns as Di, spokenTurnText as Oi } from "./shared/assistant/spokenTurns.js";
57
+ import { AssistantAvatar as ki } from "./shared/assistant/ui/AssistantAvatar.js";
58
+ import { AssistantSpeechProvider as Ai, useAssistantSpeech as ji } from "./shared/assistant/ui/AssistantSpeechProvider.js";
59
+ import { useVoiceSession as Mi } from "./shared/assistant/ui/useVoiceSession.js";
60
+ import { getActorId as Ni, getOrganizationId as Pi, getWorkspaceId as Fi } from "./shared/assistant/context.js";
61
+ import { SANDBOX_READY_TTL_MS as Ii, createReadinessTracker as Li, isRecentlyVerified as Ri } from "./shared/assistant/sandboxReadiness.js";
62
+ import { AssistantAutoSpeakToggle as zi } from "./shared/assistant/ui/AssistantAutoSpeakToggle.js";
63
+ import { AssistantMessageAttachments as Bi } from "./shared/assistant/ui/AssistantMessageAttachments.js";
64
+ import { AssistantPendingWriteCard as Vi } from "./shared/assistant/ui/AssistantPendingWriteCard.js";
65
+ import { AssistantLanguageMenu as Hi } from "./shared/assistant/ui/AssistantLanguageMenu.js";
66
+ import { AssistantReplyLanguageSelector as Ui } from "./shared/assistant/ui/AssistantReplyLanguageSelector.js";
67
+ import { AssistantSpeakButton as Wi } from "./shared/assistant/ui/AssistantSpeakButton.js";
68
+ import { AssistantSpokenTurnsNotice as Gi } from "./shared/assistant/ui/AssistantSpokenTurnsNotice.js";
69
+ import { AssistantConnectSourceProvider as Ki, useAssistantConnectSource as qi } from "./shared/assistant/ui/composer/connectSource.js";
70
+ import { AssistantConnectSourceItem as Ji } from "./shared/assistant/ui/composer/AssistantConnectSourceItem.js";
71
+ import { ASSISTANT_OVERLAY_ATTR as Yi, ASSISTANT_PANEL_ATTR as Xi, NO_PANEL_OVERLAY as Zi, activePanelOverlay as Qi, assistantPanelOwnsEscape as $i, escapeDismisses as ea, focusIsInsidePanel as ta, nextPanelOverlays as na, panelOwnsEscape as ra } from "./shared/assistant/ui/panelOverlays.js";
72
+ import { useDropdownEscape as ia } from "./shared/assistant/ui/useDropdownEscape.js";
73
+ import { AssistantAttachmentButton as aa } from "./shared/assistant/ui/composer/AssistantAttachmentButton.js";
74
+ import { AssistantAttachmentChips as oa } from "./shared/assistant/ui/composer/AssistantAttachmentChips.js";
75
+ import { AssistantPreviewProvider as sa, useAssistantPreview as ca } from "./shared/assistant/preview/context.js";
76
+ import { IDLE_PREVIEW_STATE as la, isBlankProse as ua, isRunningStatus as da, nextPreviewEvents as fa } from "./shared/assistant/preview/previewTransitions.js";
77
+ import { IDLE_PREVIEW as pa, NO_OWNER as ma, applyPreviewEvent as ha, createAssistantPreviewSurface as ga, currentPreviewOwner as _a, runBelongsTo as va, sameOwner as ya } from "./shared/assistant/preview/surfaceState.js";
78
+ import { createRunIdentityCache as ba, runIdentities as xa } from "./shared/assistant/preview/runIdentity.js";
79
+ import { IDLE_ACTIVE_TAB as Sa, nextActiveTab as Ca, pinActiveTab as wa, shouldPinOnMove as Ta, shouldPinOnSelect as Ea, stepsFromToolActivity as Da, tabForArrowKey as Oa } from "./shared/assistant/preview/entity/entityPreviewState.js";
80
+ import { AssistantStepRail as ka } from "./shared/assistant/preview/entity/AssistantStepRail.js";
81
+ import { AssistantEntityPreview as Aa } from "./shared/assistant/preview/entity/AssistantEntityPreview.js";
82
+ import { useOverlayFocus as ja } from "./shared/assistant/ui/useOverlayFocus.js";
83
+ import { REDUCED_MOTION_ATTRIBUTE as Ma, REDUCED_MOTION_QUERY as Na, readReducedMotion as Pa, subscribeReducedMotion as Fa, usePrefersReducedMotion as Ia } from "./shared/assistant/ui/usePrefersReducedMotion.js";
84
+ import { useAssistantPreviewBridge as La } from "./shared/assistant/preview/useAssistantPreviewBridge.js";
85
+ import { AssistantPreviewOverlay as Ra } from "./shared/assistant/preview/AssistantPreviewOverlay.js";
86
+ import { AssistantLanguageSelector as za, FOLLOW_APP_LOCALE as Ba } from "./shared/assistant/ui/composer/AssistantLanguageSelector.js";
87
+ import { ASSISTANT_MODE_META as Va, AssistantModeSelector as Ha, nextModeIndex as Ua } from "./shared/assistant/ui/composer/AssistantModeSelector.js";
88
+ import { AssistantVoiceButton as Wa } from "./shared/assistant/ui/composer/AssistantVoiceButton.js";
89
+ import { AUTO_VOICE as Ga, AssistantVoiceSelector as Ka } from "./shared/assistant/ui/composer/AssistantVoiceSelector.js";
90
+ import { AssistantVoiceOrb as qa } from "./shared/assistant/ui/voice/AssistantVoiceOrb.js";
91
+ import { AssistantVoiceSessionButton as Ja } from "./shared/assistant/ui/voice/AssistantVoiceSessionButton.js";
92
+ import { CAPTION_SCROLL_ATTR as Ya, VoiceCaption as Xa } from "./shared/assistant/ui/voice/VoiceCaption.js";
93
+ import { VoiceConversationView as Za } from "./shared/assistant/ui/voice/VoiceConversationView.js";
94
+ import { VoiceWaveform as Qa } from "./shared/assistant/ui/voice/VoiceWaveform.js";
95
+ import { VoiceStatusLine as $a, VoiceStatusText as eo } from "./shared/assistant/ui/voice/VoiceStatusText.js";
96
+ import { VoiceMiniController as to } from "./shared/assistant/ui/voice/VoiceMiniController.js";
97
+ import { VoiceStage as no } from "./shared/assistant/ui/voice/VoiceStage.js";
98
+ import { VoiceTranscriptDrawer as ro } from "./shared/assistant/ui/voice/VoiceTranscriptDrawer.js";
99
+ import { downloadFile as io, exportConversation as ao } from "./shared/assistant/exportConversation.js";
100
+ import { AssistantMoreMenu as oo } from "./shared/assistant/ui/AssistantMoreMenu.js";
101
+ import { AssistantHeader as so } from "./shared/assistant/ui/AssistantHeader.js";
102
+ import { AssistantConversationList as co } from "./shared/assistant/ui/AssistantConversationList.js";
103
+ import { AssistantEmptyState as lo } from "./shared/assistant/ui/AssistantEmptyState.js";
104
+ import { AssistantTurnActivity as uo, TurnActivityLine as fo } from "./shared/assistant/ui/AssistantTurnActivity.js";
105
+ import { AssistantMessageItem as po } from "./shared/assistant/ui/AssistantMessageItem.js";
106
+ import { AssistantMessageList as mo } from "./shared/assistant/ui/AssistantMessageList.js";
107
+ import { AssistantVoiceSession as ho } from "./shared/assistant/ui/voice/AssistantVoiceSession.js";
108
+ import { useAssistantApiAccess as go } from "./shared/assistant/useAssistantApiAccess.js";
109
+ import { useConversationTurns as _o } from "./shared/assistant/useConversationTurns.js";
110
+ import { isMultimodalBodyRejection as vo, isRecoverableAssistantError as yo } from "./shared/assistant/transportErrors.js";
111
+ import { aiCreditsUpdatedEventName as bo, dispatchAssistantQuotaExhausted as xo, notifyAiCreditsUpdated as So } from "./shared/assistant/aiCredits.js";
112
+ import { useWorkspaceWriteAccess as Co } from "./shared/assistant/useWorkspaceWriteAccess.js";
113
+ import { extractDocumentText as wo } from "./shared/assistant/documentExtract.js";
114
+ import { useAssistantAttachments as To } from "./shared/assistant/useAssistantAttachments.js";
115
+ import { AssistantComposer as Eo } from "./shared/assistant/ui/composer/AssistantComposer.js";
116
+ import { isProdRuntime as Do } from "./shared/assistant/env.js";
117
+ import { useAssistantHeartbeat as Oo } from "./shared/assistant/useAssistantHeartbeat.js";
118
+ import { useAssistantKeyboardShortcuts as ko } from "./shared/assistant/useAssistantKeyboardShortcuts.js";
119
+ import { AssistantApiCallsConsentDialog as Ao } from "./shared/assistant/ui/AssistantApiCallsConsentDialog.js";
120
+ import { AssistantChatArea as jo } from "./shared/assistant/ui/AssistantChatArea.js";
121
+ import { AIAssistantPanel as Mo } from "./shared/assistant/ui/AIAssistantPanel.js";
122
+ export { Mo as AIAssistantPanel, L as ASSISTANT_API_AUTH_STRATEGY, Yr as ASSISTANT_I18N_COMPUTED_COPY, Xr as ASSISTANT_I18N_LITERAL_COPY, Zr as ASSISTANT_I18N_MANIFEST, Fn as ASSISTANT_LANGUAGES, qr as ASSISTANT_MODE_FALLBACK_LABELS, Jr as ASSISTANT_MODE_IDS, Va as ASSISTANT_MODE_META, Yi as ASSISTANT_OVERLAY_ATTR, Xi as ASSISTANT_PANEL_ATTR, dr as ATTACHMENT_ACCEPT, Wr as ATTACHMENT_SOURCES, Ga as AUTO_VOICE, Ao as AssistantApiCallsConsentDialog, aa as AssistantAttachmentButton, oa as AssistantAttachmentChips, zi as AssistantAutoSpeakToggle, ki as AssistantAvatar, jo as AssistantChatArea, Eo as AssistantComposer, Ji as AssistantConnectSourceItem, Ki as AssistantConnectSourceProvider, co as AssistantConversationList, lo as AssistantEmptyState, Aa as AssistantEntityPreview, so as AssistantHeader, s as AssistantI18nProvider, Hi as AssistantLanguageMenu, za as AssistantLanguageSelector, f as AssistantMarkdownImage, h as AssistantMarkdownRenderer, Bi as AssistantMessageAttachments, po as AssistantMessageItem, mo as AssistantMessageList, Ha as AssistantModeSelector, oo as AssistantMoreMenu, g as AssistantNavigateProvider, Vi as AssistantPendingWriteCard, Ra as AssistantPreviewOverlay, sa as AssistantPreviewProvider, t as AssistantProductProvider, Ui as AssistantReplyLanguageSelector, ve as AssistantRuntimeManager, Wi as AssistantSpeakButton, Ai as AssistantSpeechProvider, Gi as AssistantSpokenTurnsNotice, ka as AssistantStepRail, Ti as AssistantToolActivity, uo as AssistantTurnActivity, Wa as AssistantVoiceButton, qa as AssistantVoiceOrb, Ka as AssistantVoiceSelector, ho as AssistantVoiceSession, Ja as AssistantVoiceSessionButton, fr as AttachmentRejectedError, Gn as BOILERPLATE_PAGE_SHARE, Ya as CAPTION_SCROLL_ATTR, O as CHECK_AI_CREDITS, k as CREATE_SANDBOX, mn as DEFAULT_SPEAKABLE_LABELS, In as DEFAULT_SPEECH_RATE, je as DEFAULT_STREAM_BUDGET_MS, Qt as ENDPOINT_GRACE_MS, A as EXTEND_SANDBOX_TTL, Ba as FOLLOW_APP_LOCALE, j as GET_ACTIVE_SANDBOXES, M as GET_SANDBOX, Je as HOSTED_DISABLE_MS, Ye as HOSTED_TTS_MAX_CHARS, We as HOSTED_TTS_TIER, Ge as HOSTED_VOICES, ct as HOSTED_VOICE_RANK, Sa as IDLE_ACTIVE_TAB, ii as IDLE_PLAYBACK, pa as IDLE_PREVIEW, la as IDLE_PREVIEW_STATE, qt as IDLE_ROTATION_CLOCK, $t as INITIAL_SESSION, pr as INLINE_IMAGE_MAX_DIM, mr as INLINE_IMAGE_QUALITY, en as INTERRUPT_MAX_MS, tn as INTERRUPT_MIN_MS, hr as MAX_ATTACHMENTS, Kn as MAX_BOILERPLATE_LINE_CHARS, qn as MAX_EXTRACTED_CHARS, gr as MAX_FILE_BYTES, _r as MAX_INLINE_CHARS_PER_FILE, vr as MAX_INLINE_CHARS_TOTAL, Un as MAX_INLINE_IMAGE_BASE64_BYTES, yr as MAX_INLINE_IMAGE_BASE64_CHARS, br as MAX_INLINE_IMAGE_PARTS, xr as MAX_INLINE_TURN_BODY_BYTES, Jn as MAX_PDF_PAGES_SCANNED, Wn as MAX_REQUEST_BODY_BYTES, hn as MAX_SPEAKABLE_CHARS, gn as MAX_SPOKEN_TABLE_ROWS, Sr as MAX_TURN_BODY_BYTES, En as MINI_CAPTION_BUDGET, Yn as MIN_PAGE_TEXT_CHARS, Xn as MIN_TEXT_PAGE_SHARE, ma as NO_OWNER, Zi as NO_PANEL_OVERLAY, Ft as PHRASE_ROTATE_MS, On as POLL_FAST_MS, kn as POLL_FAST_UNTIL_MS, An as POLL_SLOW_MS, jn as POLL_STEADY_MS, Mn as POLL_STEADY_UNTIL_MS, wn as PREVIEW_LANGUAGES, Cr as PROMPT_ENVELOPE_RESERVE_BYTES, wr as PROVIDER_READABLE_FILE_MEDIA_TYPES, N as PROXY_SANDBOX_REQUEST, Ma as REDUCED_MOTION_ATTRIBUTE, Na as REDUCED_MOTION_QUERY, P as REPORT_AI_TOKEN_USAGE, Ii as SANDBOX_READY_TTL_MS, nn as SILENCE_SUBMIT_MS, Xe as SPEAKING_RATE_MAX, Ze as SPEAKING_RATE_MAX_STREAMING, Qe as SPEAKING_RATE_MAX_SYNC, $e as SPEAKING_RATE_MIN, _n as SPEECH_CHUNK_CHARS, vn as SPEECH_CHUNK_CJK_CHARS, lt as SPEECH_LANG, ei as SPOKEN_LABEL_LANGUAGES, It as STAGE_COPY, F as STOP_ASSISTANT_SANDBOX, Me as STREAM_BUDGET_MS, Lt as THINKING_PHRASES, Tr as TURN_BODY_HEADROOM_BYTES, fo as TurnActivityLine, ut as VOICE_LIST_TIMEOUT_MS, Ht as VOICE_MUTED_LABEL, Ut as VOICE_THINKING_LABEL, Xa as VoiceCaption, Za as VoiceConversationView, to as VoiceMiniController, no as VoiceStage, $a as VoiceStatusLine, eo as VoiceStatusText, ro as VoiceTranscriptDrawer, Qa as VoiceWaveform, I as WAIT_FOR_SANDBOX_RUNNING, q as abortAssistantTurn, Qi as activePanelOverlay, Jt as advanceRotationClock, bo as aiCreditsUpdatedEventName, ha as applyPreviewEvent, J as approvePendingWrite, Qr as assistantI18nSeedCopy, $r as assistantModeI18nCopy, $i as assistantPanelOwnsEscape, _ as assistantRoutePath, c as assistantTranslationKey, v as assistantUrlTransform, Gr as availableAttachmentSources, et as base64ToBytes, y as browserShouldHandle, Ue as browserSpeechEngine, wi as buildAssistantProgress, Y as buildAssistantSandboxEnv, Er as buildAttachmentPromptBlock, dn as buildContinuedFromVoiceNote, ye as buildProgress, Dr as buildPromptParts, X as buildPromptRequestBody, Or as buildPromptWithAttachments, tt as buildRequest, E as buildSandboxContextInput, fn as buildVoiceTranscriptMarkdown, Ie as chatTurns, Z as checkAssistantAiCredits, yn as chunkForSpeech, b as classifyAssistantHref, kr as classifyAttachment, nt as classifyHttpFailure, S as classifyQuotaError, Zn as columnLetterToIndex, Wt as composeVoiceStatus, Ct as configureSpeechEngine, bn as containsCjk, d as copyToClipboard, Ar as countInlineImageCandidates, jr as countInlinedImageParts, Di as countSpokenTurns, ga as createAssistantPreviewSurface, Q as createAssistantSandbox, $ as createAssistantSession, st as createHostedTtsEngine, Li as createReadinessTracker, St as createRoutingSpeechEngine, ba as createRunIdentityCache, ke as createSandboxAssistantTransport, wt as createSpeechEngines, _a as currentPreviewOwner, rt as decodeAudioResponse, Qn as decodeXmlEntities, C as describeQuotaError, Mr as detectDocumentFormat, ni as detectScriptLocale, Kr as deviceHasCamera, it as disableDurationMs, xo as dispatchAssistantQuotaExhausted, $n as docxXmlToText, ee as downloadAssistantArtifact, io as downloadFile, yi as elapsedSince, ea as escapeDismisses, Nr as estimateTurnBodyBytes, D as executeSandboxGraphQL, ao as exportConversation, te as extendAssistantSandboxTTL, wo as extractDocumentText, Ln as findAssistantLanguage, ne as findExistingSandbox, Vn as findPendingWrite, er as fitPdfPages, ta as focusIsInsidePanel, Pr as formatBytes, tr as formatPageRanges, re as forwardsUserTokensToSandbox, Ni as getActorId, ie as getAssistantArtifacts, vi as getAssistantDisplayContent, be as getAssistantMedia, ae as getAssistantMessages, oe as getAssistantSession, se as getAssistantStreamAccess, xe as getAssistantText, Fr as getAttachmentSendBlocker, U as getCapability, Ir as getExtension, R as getImageForMode, z as getImageTagForMode, Pi as getOrganizationId, Se as getRawMessageCreatedAt, B as getResourcesForMode, V as getSandboxImageRegistry, Lr as getSendableAttachments, Tt as getSpeechEngine, Ce as getToolProgress, Fi as getWorkspaceId, Le as groupBySession, Re as groupConsecutiveBySession, Rr as hasAttachmentWorkInFlight, Ke as hostedLocaleFor, qe as hostedSupportsLanguage, p as imageHostLabel, Ne as incompleteTurnNotice, ua as isBlankProse, rn as isCapturing, an as isEcho, dt as isHostedVoice, mi as isLegacyFiller, hi as isLegacyStopped, nr as isMostlyImagePages, vo as isMultimodalBodyRejection, Do as isProdRuntime, zr as isProviderReadableFilePart, w as isQuotaExhaustedError, we as isReapedSandboxConnectionError, Ri as isRecentlyVerified, Te as isRecoverable, yo as isRecoverableAssistantError, m as isRemoteImageSrc, da as isRunningStatus, ai as isSpeakingMessage, ft as isSpeechBlocked, gi as isStageCopy, on as isSubmittable, di as isTurnInFlight, W as isUnknownFieldError, ze as isVoiceTurn, rr as joinSheets, pt as languageDisplayName, Ee as mapSessionToHistory, G as markSupported, K as markUnsupported, De as mergeMessagesById, kt as micIsInterrupt, ce as modeRequiresConfirmWrites, bi as msUntilNextPhrase, Ca as nextActiveTab, Ua as nextModeIndex, na as nextPanelOverlays, fa as nextPreviewEvents, mt as normalizeLangTag, So as notifyAiCreditsUpdated, sn as orbMode, ir as pageMarker, ra as panelOwnsEscape, Hn as parseConfirmationRefusal, Br as parseDataUrl, ar as parseSharedStrings, Ei as parseToolActivity, or as parseWorkbookSheets, sr as pdfTextItemsToPage, wa as pinActiveTab, fi as planAbandonedTurn, cn as planReplyConsumption, pi as planTurnAbort, Nn as pollDelayMs, ht as primaryLanguageSubtag, oi as publishedChunks, T as quotaExhaustedEventName, Pa as readReducedMotion, Et as readSpeechEngineConfig, le as releaseSupersededAssistantSandboxes, zn as replyFollowsInput, ue as reportAssistantAiTokenUsage, si as requiresCancel, Dt as resetSpeechEngine, li as resolveActiveModeSandbox, Rn as resolveAssistantLanguage, Bn as resolveLanguagePair, n as resolveModeConfig, H as resolveSandboxAssistantMode, ri as resolveSpeechLocale, Yt as rotationElapsedMs, va as runBelongsTo, xa as runIdentities, ya as sameOwner, Oe as sanitize, de as selectExistingAssistantSandbox, fe as selectSupersededAssistantSandboxes, gt as selectVoiceForLocale, pe as sendAssistantPromptAsync, me as sendHeartbeat, cr as sheetXmlToRows, at as shouldDisableEngine, Ta as shouldPinOnMove, Ea as shouldPinOnSelect, Dn as showPreviousChunk, At as showsAssistantCaption, jt as showsUserCaption, xn as speakableEmail, _t as speechGate, ti as speechLabelsFor, vt as speechLangForLocale, ci as speechPlaybackReducer, ot as splitForVendor, Sn as splitTableRow, ln as spokenSoFar, Oi as spokenTurnText, Rt as stageText, xi as startPhraseTicker, Xt as startRotationTicker, zt as statusStageCopy, Da as stepsFromToolActivity, he as stopReapedAssistantSandbox, Pe as streamBudgetMs, _i as stripLegacyFillerPrefix, Fa as subscribeReducedMotion, Ot as subscribeSpeechEngine, lr as summarisePageText, Zt as syncRotationClock, Oa as tabForArrowKey, Bt as thinkingPhrase, Vt as thinkingPhraseEntry, Pn as toCaptionText, Vr as toMessageAttachment, Cn as toSpeakableText, Hr as truncateForInline, ur as truncatePagesForInline, Si as turnActivityCopy, Ci as turnActivityStage, go as useAssistantApiAccess, To as useAssistantAttachments, qi as useAssistantConnectSource, Oo as useAssistantHeartbeat, l as useAssistantI18nNamespace, ko as useAssistantKeyboardShortcuts, x as useAssistantNavigate, r as useAssistantPageLabel, ca as useAssistantPreview, La as useAssistantPreviewBridge, i as useAssistantProduct, a as useAssistantProductOrNull, ji as useAssistantSpeech, o as useAssistantStorageFolders, ui as useAssistantStore, u as useAssistantTr, _o as useConversationTurns, ia as useDropdownEscape, ja as useOverlayFocus, Ia as usePrefersReducedMotion, Ae as useSandboxAssistantTransport, e as useVoiceInput, Mi as useVoiceSession, Co as useWorkspaceWriteAccess, Ur as validateFile, yt as voiceAvailability, Be as voiceMarker, Tn as voicePreviewText, bt as voiceQualityRank, Ve as voiceSessionIdOf, un as voiceSessionReducer, Mt as voiceStageState, Gt as voiceStatusParts, Kt as voiceStatusSuffix, pn as voiceTranscriptFilename, He as voiceTurnsOnly, xt as voicesForLocale, ge as waitForAssistantServiceReady, _e as waitForSandboxRunning, Nt as waveformIsActive, Pt as waveformIsSettled, Fe as withIncompleteTurnNotice };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.914.3",
3
+ "version": "2026.915.2",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {