@burdenoff/fe-libs 2026.925.5 → 2026.925.7
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.
- package/dist/chrome/MobileTabBar.js +6 -6
- package/dist/chrome/ProductSideNav.js +9 -9
- package/dist/chrome/sideNavigation/useSideNavigationState.js +3 -3
- package/dist/chrome.js +8 -8
- package/dist/shared/assistant/autoRouting.d.ts +3 -0
- package/dist/shared/assistant/autoRouting.d.ts.map +1 -1
- package/dist/shared/assistant/autoRouting.js +1 -1
- package/dist/shared/assistant/conversation.d.ts +20 -0
- package/dist/shared/assistant/conversation.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.d.ts +11 -0
- package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.js +11 -0
- package/dist/shared/assistant/index.d.ts +3 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/localUiCommandCopy.d.ts +26 -0
- package/dist/shared/assistant/localUiCommandCopy.d.ts.map +1 -0
- package/dist/shared/assistant/localUiCommandCopy.js +37 -0
- package/dist/shared/assistant/localUiCommands.d.ts +124 -0
- package/dist/shared/assistant/localUiCommands.d.ts.map +1 -0
- package/dist/shared/assistant/localUiCommands.js +173 -0
- package/dist/shared/assistant/prewarm.d.ts +139 -0
- package/dist/shared/assistant/prewarm.d.ts.map +1 -0
- package/dist/shared/assistant/prewarm.js +96 -0
- package/dist/shared/assistant/product.d.ts +13 -1
- package/dist/shared/assistant/product.d.ts.map +1 -1
- package/dist/shared/assistant/product.js +8 -6
- package/dist/shared/assistant/turnTimeline.d.ts +7 -0
- package/dist/shared/assistant/turnTimeline.d.ts.map +1 -1
- package/dist/shared/assistant/turnTimeline.js +2 -2
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +663 -482
- package/dist/shared/assistant/ui/AssistantMessageItem.d.ts +6 -0
- package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantMessageItem.js +3 -3
- package/dist/shared/assistant/ui/AssistantMessageList.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantMessageList.js +14 -7
- package/dist/shared/assistant/ui/AssistantSpeechProvider.d.ts +9 -0
- package/dist/shared/assistant/ui/AssistantSpeechProvider.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantSpeechProvider.js +243 -196
- package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts +6 -0
- package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts.map +1 -1
- package/dist/shared/assistant/ui/composer/AssistantComposer.js +110 -106
- package/dist/shared/assistant/ui/useVoiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/ui/useVoiceSession.js +44 -43
- package/dist/shared/assistant/voice/captionText.d.ts.map +1 -1
- package/dist/shared/assistant/voice/captionText.js +1 -1
- package/dist/shared/assistant/voice/speakableText.d.ts.map +1 -1
- package/dist/shared/assistant/voice/speakableText.js +63 -62
- package/dist/shared/hooks/shell/index.d.ts +1 -1
- package/dist/shared/hooks/shell/index.d.ts.map +1 -1
- package/dist/shared/providers/shell/ThemeProvider.d.ts +6 -0
- package/dist/shared/providers/shell/ThemeProvider.d.ts.map +1 -1
- package/dist/shared/providers/shell/ThemeProvider.js +28 -25
- package/dist/shared-assistant.js +17 -14
- package/dist/shared-hooks-shell.js +12 -12
- package/package.json +1 -1
|
@@ -26,6 +26,12 @@ interface Props {
|
|
|
26
26
|
* without ever tripping `isFailed`, and the user still needs a way to re-run.
|
|
27
27
|
*/
|
|
28
28
|
isLastAssistant?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The newest assistant message of ANY kind — including one the panel wrote
|
|
31
|
+
* for a UI command it carried out itself, which `isLastAssistant` skips
|
|
32
|
+
* (BOFF-7802). The speak-disabled reason belongs under the newest bubble.
|
|
33
|
+
*/
|
|
34
|
+
isNewestAssistant?: boolean;
|
|
29
35
|
/** Re-send the last user prompt (wired by AssistantChatArea). */
|
|
30
36
|
onRetry?: () => void;
|
|
31
37
|
}
|
|
@@ -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,
|
|
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;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAyCD,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,KAAK,CAiV1C,CAAC"}
|
|
@@ -34,7 +34,7 @@ function D(e, t, n) {
|
|
|
34
34
|
let a = new Blob([i], { type: n }), o = URL.createObjectURL(a), s = document.createElement("a");
|
|
35
35
|
s.href = o, s.download = t, document.body.appendChild(s), s.click(), document.body.removeChild(s), URL.revokeObjectURL(o);
|
|
36
36
|
}
|
|
37
|
-
var O = ({ onApprovePendingWrite: E, approvingWriteRef: O = null, message: k, processing: A, isStreaming: j, isFailed: M, isLastAssistant: N, onRetry: P }) => {
|
|
37
|
+
var O = ({ onApprovePendingWrite: E, approvingWriteRef: O = null, message: k, processing: A, isStreaming: j, isFailed: M, isLastAssistant: N, isNewestAssistant: ee, onRetry: P }) => {
|
|
38
38
|
let F = n(), I = t(), { getAccessToken: L, getWorkspaceToken: R } = e(), z = u(), [B, V] = _(null), [H, U] = _(!1), W = k.role === "user", G = g(() => w(k), [k]), K = g(() => T(G), [G]), q = A === void 0 ? j ? {
|
|
39
39
|
status: "streaming",
|
|
40
40
|
messageId: k.id,
|
|
@@ -169,7 +169,7 @@ var O = ({ onApprovePendingWrite: E, approvingWriteRef: O = null, message: k, pr
|
|
|
169
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
|
-
let e = z.blockedFor(k.id) ?? z.disabledReason, t = !!e && !!
|
|
172
|
+
let e = z.blockedFor(k.id) ?? z.disabledReason, t = !!e && !!ee, n = t ? `speak-reason-${k.id}` : void 0;
|
|
173
173
|
return /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(p, {
|
|
174
174
|
isSpeaking: z.isSpeaking(k.id),
|
|
175
175
|
disabled: e !== null,
|
|
@@ -183,7 +183,7 @@ var O = ({ onApprovePendingWrite: E, approvingWriteRef: O = null, message: k, pr
|
|
|
183
183
|
children: e
|
|
184
184
|
})] });
|
|
185
185
|
})(),
|
|
186
|
-
(M || N) && P && /* @__PURE__ */ C("button", {
|
|
186
|
+
(M || N) && P && !k.metadata?.localAction && /* @__PURE__ */ C("button", {
|
|
187
187
|
type: "button",
|
|
188
188
|
onClick: P,
|
|
189
189
|
className: `flex items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-colors hover:bg-bg-elevated ${M ? "text-status-error-text" : "text-text-muted hover:text-text-secondary"}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantMessageList.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantMessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGhF,UAAU,KAAK;IACb,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,+BAA+B,GAAG,IAAI,CAAC;IACpD,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"AssistantMessageList.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantMessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGhF,UAAU,KAAK;IACb,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,+BAA+B,GAAG,IAAI,CAAC;IACpD,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,KAAK,CA+F1C,CAAC"}
|
|
@@ -8,17 +8,23 @@ var s = ({ onApprovePendingWrite: s, approvingWriteRef: c = null, messages: l, p
|
|
|
8
8
|
let m = e(), h = (() => {
|
|
9
9
|
for (let e = l.length - 1; e >= 0; --e) if (l[e].role === "assistant") return l[e].id;
|
|
10
10
|
return null;
|
|
11
|
-
})(), g =
|
|
11
|
+
})(), g = (() => {
|
|
12
|
+
for (let e = l.length - 1; e >= 0; --e) {
|
|
13
|
+
let t = l[e];
|
|
14
|
+
if (t.role === "assistant" && !t.metadata?.localAction) return t.id;
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
})(), _ = i(null), v = i(null);
|
|
12
18
|
return r(() => {
|
|
13
|
-
let e =
|
|
19
|
+
let e = v.current;
|
|
14
20
|
if (e && e.scrollHeight - e.scrollTop - e.clientHeight < 100) {
|
|
15
21
|
let e = t();
|
|
16
|
-
|
|
22
|
+
_.current?.scrollIntoView({ behavior: e ? "auto" : "smooth" });
|
|
17
23
|
}
|
|
18
24
|
}, [l, d]), r(() => {
|
|
19
|
-
|
|
25
|
+
_.current?.scrollIntoView({ behavior: "instant" });
|
|
20
26
|
}, []), /* @__PURE__ */ o("div", {
|
|
21
|
-
ref:
|
|
27
|
+
ref: v,
|
|
22
28
|
className: "scrollbar-slim flex-1 space-y-4 overflow-y-auto p-3",
|
|
23
29
|
role: "log",
|
|
24
30
|
"aria-live": "polite",
|
|
@@ -32,9 +38,10 @@ var s = ({ onApprovePendingWrite: s, approvingWriteRef: c = null, messages: l, p
|
|
|
32
38
|
processing: u,
|
|
33
39
|
isStreaming: e.id === d,
|
|
34
40
|
isFailed: e.id === f,
|
|
35
|
-
isLastAssistant: e.id ===
|
|
41
|
+
isLastAssistant: e.id === g,
|
|
42
|
+
isNewestAssistant: e.id === h,
|
|
36
43
|
onRetry: p
|
|
37
|
-
}, e.id)), /* @__PURE__ */ a("div", { ref:
|
|
44
|
+
}, e.id)), /* @__PURE__ */ a("div", { ref: _ })]
|
|
38
45
|
});
|
|
39
46
|
};
|
|
40
47
|
//#endregion
|
|
@@ -98,6 +98,15 @@ export interface AssistantSpeechContextValue {
|
|
|
98
98
|
* in-flight → complete edge the subscription exists to catch.
|
|
99
99
|
*/
|
|
100
100
|
setSessionMicOpen: (open: boolean) => void;
|
|
101
|
+
/**
|
|
102
|
+
* Speak a reply that completed WITHOUT a model turn — a UI command the panel
|
|
103
|
+
* carried out itself (BOFF-7802) — under exactly the rules the auto-speak
|
|
104
|
+
* subscription applies to a turn that ends (auto-speak or a live session,
|
|
105
|
+
* the reply's channel, never into an open microphone). The subscription
|
|
106
|
+
* cannot see it: there is no in-flight → complete edge, and faking one
|
|
107
|
+
* cleared a failed turn's Retry and opened a product's preview panel.
|
|
108
|
+
*/
|
|
109
|
+
speakFinishedReply: (conversationId: string, messageId: string) => void;
|
|
101
110
|
/** Play a short sample in a named voice. No model call, no message, no tokens. */
|
|
102
111
|
previewVoice: (voiceName: string) => void;
|
|
103
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantSpeechProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantSpeechProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAUL,KAAK,EAAE,EACP,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AA2B/D,OAAO,EAQL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"AssistantSpeechProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantSpeechProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAUL,KAAK,EAAE,EACP,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AA2B/D,OAAO,EAQL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAoB/B,MAAM,WAAW,2BAA2B;IAC1C,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,iBAAiB,CAAC;IAChC;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjD;;;;OAIG;IACH,YAAY,EAAE,SAAS,eAAe,EAAE,CAAC;IACzC,8EAA8E;IAC9E;;;;;;OAMG;IACH,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;;;OAQG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mEAAmE;IACnE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C;;;;;;;OAOG;IACH,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;;;;;;;;;;;OAaG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C;;;;;;;;;;;;;OAaG;IACH,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C;;;;;;;OAOG;IACH,kBAAkB,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,kFAAkF;IAClF,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AA6BD,wBAAgB,kBAAkB,IAAI,2BAA2B,CAEhE;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,KAAK,CAw9B7C,CAAC"}
|