@burdenoff/fe-libs 2026.1007.3 → 2026.1007.5
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/AutoBreadcrumbs.d.ts.map +1 -1
- package/dist/chrome/AutoBreadcrumbs.js +65 -76
- package/dist/chrome/Breadcrumb.d.ts.map +1 -1
- package/dist/chrome/Breadcrumbs.d.ts.map +1 -1
- package/dist/chrome/Breadcrumbs.js +47 -46
- package/dist/chrome/ContextSwitcher.js +86 -86
- package/dist/chrome/HeaderBar.d.ts.map +1 -1
- package/dist/chrome/HeaderBar.js +111 -107
- package/dist/chrome/HeaderThemeSwitcher.d.ts.map +1 -1
- package/dist/chrome/HeaderThemeSwitcher.js +46 -45
- package/dist/chrome/LanguageSwitcher.js +4 -4
- package/dist/chrome/MobileTabBar.js +4 -4
- package/dist/chrome/PageHeader.d.ts.map +1 -1
- package/dist/chrome/PageHeader.js +32 -30
- package/dist/chrome/PersonaSurfaceControls.js +8 -8
- package/dist/chrome/ProductSideNav.js +6 -6
- package/dist/chrome/ProfileSwitcher.d.ts.map +1 -1
- package/dist/chrome/ProfileSwitcher.js +89 -88
- package/dist/chrome/SideNavigation.js +4 -4
- package/dist/chrome/Tabs.d.ts.map +1 -1
- package/dist/chrome/Tabs.js +30 -29
- package/dist/chrome/breadcrumbLabel.d.ts +10 -0
- package/dist/chrome/breadcrumbLabel.d.ts.map +1 -0
- package/dist/chrome/breadcrumbLabel.js +31 -0
- package/dist/chrome/contextSwitcher/TriggerButton.d.ts.map +1 -1
- package/dist/chrome/contextSwitcher/TriggerButton.js +40 -36
- package/dist/chrome/notificationCenter/BellButton.d.ts.map +1 -1
- package/dist/chrome/notificationCenter/BellButton.js +29 -25
- package/dist/chrome/shellLabelManifest.d.ts +27 -0
- package/dist/chrome/shellLabelManifest.d.ts.map +1 -0
- package/dist/chrome/sideNavigation/SidebarHeader.d.ts.map +1 -1
- package/dist/chrome/sideNavigation/SidebarHeader.js +23 -22
- package/dist/shared/assistant/appControls/languageReply.d.ts +6 -1
- package/dist/shared/assistant/appControls/languageReply.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.d.ts +20 -5
- package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.js +30 -22
- package/dist/shared/assistant/index.d.ts +3 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/productCopy.d.ts +78 -0
- package/dist/shared/assistant/productCopy.d.ts.map +1 -0
- package/dist/shared/assistant/productCopy.js +45 -0
- package/dist/shared/assistant/store.d.ts +10 -0
- package/dist/shared/assistant/store.d.ts.map +1 -1
- package/dist/shared/assistant/store.js +19 -8
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +1070 -1067
- package/dist/shared/assistant/ui/AssistantEmptyState.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantEmptyState.js +30 -22
- package/dist/shared/assistant/ui/AssistantHeader.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantHeader.js +46 -45
- package/dist/shared/assistant/ui/useVoiceSession.d.ts +14 -1
- package/dist/shared/assistant/ui/useVoiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/ui/useVoiceSession.js +241 -233
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts +7 -0
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +137 -130
- package/dist/shared/assistant/ui/voice/HandsFreePrivacyNotice.d.ts +27 -0
- package/dist/shared/assistant/ui/voice/HandsFreePrivacyNotice.d.ts.map +1 -0
- package/dist/shared/assistant/ui/voice/HandsFreePrivacyNotice.js +52 -0
- package/dist/shared/assistant/voice/handsfree/backendStreamTransport.d.ts +29 -6
- package/dist/shared/assistant/voice/handsfree/backendStreamTransport.d.ts.map +1 -1
- package/dist/shared/assistant/voice/handsfree/backendStreamTransport.js +138 -63
- package/dist/shared/assistant/voice/handsfree/handsFreeController.d.ts +7 -1
- package/dist/shared/assistant/voice/handsfree/handsFreeController.d.ts.map +1 -1
- package/dist/shared/assistant/voice/handsfree/handsFreeRuntime.d.ts +18 -10
- package/dist/shared/assistant/voice/handsfree/handsFreeRuntime.d.ts.map +1 -1
- package/dist/shared/assistant/voice/handsfree/handsFreeRuntime.js +46 -57
- package/dist/shared/assistant/voice/handsfree/streamingConfig.d.ts +103 -0
- package/dist/shared/assistant/voice/handsfree/streamingConfig.d.ts.map +1 -0
- package/dist/shared/assistant/voice/handsfree/streamingConfig.js +71 -0
- package/dist/shared/assistant/voice/handsfree/sttTransport.d.ts +12 -7
- package/dist/shared/assistant/voice/handsfree/sttTransport.d.ts.map +1 -1
- package/dist/shared/assistant/voice/handsfree/sttTransport.js +1 -1
- package/dist/shared/assistant/voice/handsfree/useHandsFreeInterrupt.d.ts +23 -1
- package/dist/shared/assistant/voice/handsfree/useHandsFreeInterrupt.d.ts.map +1 -1
- package/dist/shared/assistant/voice/handsfree/useHandsFreeInterrupt.js +63 -50
- package/dist/shared/components/ContextConversationWidget.js +1 -1
- package/dist/shared/events/sinks/RybbitSink.d.ts.map +1 -1
- package/dist/shared/events/sinks/RybbitSink.js +66 -69
- package/dist/shared/providers/AppShellProvider.d.ts +17 -0
- package/dist/shared/providers/AppShellProvider.d.ts.map +1 -1
- package/dist/shared/providers/AppShellProvider.js +188 -180
- package/dist/shared/providers/shell/I18nProvider.d.ts +92 -4
- package/dist/shared/providers/shell/I18nProvider.d.ts.map +1 -1
- package/dist/shared/providers/shell/I18nProvider.js +187 -79
- package/dist/shared/providers/shell/ProfileI18nBridge.d.ts +18 -2
- package/dist/shared/providers/shell/ProfileI18nBridge.d.ts.map +1 -1
- package/dist/shared/providers/shell/ProfileI18nBridge.js +55 -41
- package/dist/shared/providers/shell/directionMode.d.ts +25 -0
- package/dist/shared/providers/shell/directionMode.d.ts.map +1 -0
- package/dist/shared/providers/shell/directionMode.js +34 -0
- package/dist/shared/providers/shell/index.d.ts +4 -2
- package/dist/shared/providers/shell/index.d.ts.map +1 -1
- package/dist/shared/providers/shell/translationLayers.d.ts +30 -0
- package/dist/shared/providers/shell/translationLayers.d.ts.map +1 -0
- package/dist/shared/providers/shell/translationLayers.js +35 -0
- package/dist/shared/providers/shell/translationStore.d.ts +55 -0
- package/dist/shared/providers/shell/translationStore.d.ts.map +1 -0
- package/dist/shared/providers/shell/translationStore.js +100 -0
- package/dist/shared/providers/shell/useShellLabel.d.ts +13 -1
- package/dist/shared/providers/shell/useShellLabel.d.ts.map +1 -1
- package/dist/shared/providers/shell/useShellLabel.js +10 -9
- package/dist/shared-assistant.js +190 -187
- package/dist/shared-providers-shell.js +20 -19
- package/dist/ui/boff-ui2.d.ts.map +1 -1
- package/dist/ui/cta-overflow-menu.d.ts.map +1 -1
- package/dist/ui/cta-overflow-menu.js +20 -18
- package/dist/ui/guidance.d.ts +1 -1
- package/dist/ui/guidance.d.ts.map +1 -1
- package/dist/ui/guidance.js +53 -52
- package/package.json +3 -2
|
@@ -1,27 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useShellLabel as e } from "../../shared/providers/shell/useShellLabel.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
3
|
//#region src/chrome/notificationCenter/BellButton.tsx
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
4
|
+
var r = ({ unreadCount: r, isOpen: i, onToggle: a }) => {
|
|
5
|
+
let o = e();
|
|
6
|
+
return /* @__PURE__ */ n("button", {
|
|
7
|
+
type: "button",
|
|
8
|
+
onClick: a,
|
|
9
|
+
className: "relative p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors",
|
|
10
|
+
"aria-label": r > 0 ? o("notifications.bellLabelUnread", "Notifications ({{count}} unread)", { count: r }) : o("notifications.bellLabel", "Notifications"),
|
|
11
|
+
"aria-expanded": i,
|
|
12
|
+
"aria-haspopup": "true",
|
|
13
|
+
children: [/* @__PURE__ */ t("svg", {
|
|
14
|
+
className: "w-icon-md h-icon-md",
|
|
15
|
+
fill: "none",
|
|
16
|
+
stroke: "currentColor",
|
|
17
|
+
viewBox: "0 0 24 24",
|
|
18
|
+
children: /* @__PURE__ */ t("path", {
|
|
19
|
+
strokeLinecap: "round",
|
|
20
|
+
strokeLinejoin: "round",
|
|
21
|
+
strokeWidth: 2,
|
|
22
|
+
d: "M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"
|
|
23
|
+
})
|
|
24
|
+
}), r > 0 && /* @__PURE__ */ t("span", {
|
|
25
|
+
className: "absolute -top-0.5 -right-0.5 flex items-center justify-center min-w-[18px] h-[18px] px-1 text-[10px] font-bold text-action-primary-text bg-action-primary-bg rounded-full border-2 border-bg-elevated",
|
|
26
|
+
children: r > 9 ? "9+" : r
|
|
27
|
+
})]
|
|
28
|
+
});
|
|
29
|
+
};
|
|
26
30
|
//#endregion
|
|
27
|
-
export {
|
|
31
|
+
export { r as BellButton };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every key the shell chrome resolves through `useShellLabel`, with its English
|
|
3
|
+
* (BOFF-8060).
|
|
4
|
+
*
|
|
5
|
+
* WHY. The chrome sits on every page of every product, and its keys live in
|
|
6
|
+
* generic namespaces (`nav.*`, `appShell.*`, `contextSwitcher.*`, …) that each
|
|
7
|
+
* product used to copy into its own dictionary by hand. With the platform
|
|
8
|
+
* dictionary layered under every product (fallback < platform < product), the
|
|
9
|
+
* shared chrome needs these keys ONCE, in the `workspaces` dictionary. This is
|
|
10
|
+
* the list a seed is built from, so nothing has to be hand-extracted again.
|
|
11
|
+
*
|
|
12
|
+
* `src/chrome/__tests__/shellLabelManifest.test.ts` parses every module that
|
|
13
|
+
* calls `useShellLabel` and fails on a key missing here, an English that
|
|
14
|
+
* differs, or an entry nothing requests. Two keys are requested with two
|
|
15
|
+
* spellings of their English (pre-existing; the test lists them); the value
|
|
16
|
+
* here is the one the products already seeded.
|
|
17
|
+
*
|
|
18
|
+
* Pure data, no imports: loadable by any seed or extractor script.
|
|
19
|
+
*/
|
|
20
|
+
export declare const SHELL_LABEL_MANIFEST: Readonly<Record<string, string>>;
|
|
21
|
+
/**
|
|
22
|
+
* The keys this change introduced (BOFF-8060, F1). Their translations are not
|
|
23
|
+
* in any dictionary yet: seed them into `workspaces` (S1). Until then every
|
|
24
|
+
* one renders its English, exactly as before.
|
|
25
|
+
*/
|
|
26
|
+
export declare const SHELL_LABELS_ADDED_BOFF_8060: readonly string[];
|
|
27
|
+
//# sourceMappingURL=shellLabelManifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shellLabelManifest.d.ts","sourceRoot":"","sources":["../../src/chrome/shellLabelManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2DhE,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAqBxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarHeader.d.ts","sourceRoot":"","sources":["../../../src/chrome/sideNavigation/SidebarHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SidebarHeader.d.ts","sourceRoot":"","sources":["../../../src/chrome/sideNavigation/SidebarHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3C,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,oFAAoF;IACpF,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAoDhD,CAAC"}
|
|
@@ -1,37 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { useShellLabel as e } from "../../shared/providers/shell/useShellLabel.js";
|
|
2
|
+
import { ChevronUp as t, PanelLeft as n } from "lucide-react";
|
|
3
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
3
4
|
//#region src/chrome/sideNavigation/SidebarHeader.tsx
|
|
4
|
-
var
|
|
5
|
-
let
|
|
6
|
-
return /* @__PURE__ */
|
|
7
|
-
className: `py-card-padding border-b border-border-subtle ${
|
|
8
|
-
children: /* @__PURE__ */
|
|
9
|
-
className: `flex items-center gap-2 ${
|
|
5
|
+
var a = ({ header: a, collapsed: o, expandedCount: s, onCollapseAll: c, onToggleCollapse: l, collapseLabel: u, expandLabel: d }) => {
|
|
6
|
+
let f = e(), p = o ? d : u;
|
|
7
|
+
return /* @__PURE__ */ r("div", {
|
|
8
|
+
className: `py-card-padding border-b border-border-subtle ${o ? "md:px-2" : "px-card-padding"}`,
|
|
9
|
+
children: /* @__PURE__ */ i("div", {
|
|
10
|
+
className: `flex items-center gap-2 ${o ? "justify-center" : ""}`,
|
|
10
11
|
children: [
|
|
11
|
-
|
|
12
|
+
a && !o && /* @__PURE__ */ r("div", {
|
|
12
13
|
className: "min-w-0 flex-1",
|
|
13
|
-
children:
|
|
14
|
+
children: a
|
|
14
15
|
}),
|
|
15
|
-
!
|
|
16
|
+
!o && s > 0 && /* @__PURE__ */ r("button", {
|
|
16
17
|
type: "button",
|
|
17
|
-
onClick:
|
|
18
|
+
onClick: c,
|
|
18
19
|
className: "shrink-0 rounded-button p-1.5 text-text-secondary transition-colors hover:bg-bg-sunken hover:text-text-primary",
|
|
19
|
-
title: "Collapse all",
|
|
20
|
-
"aria-label": "Collapse all menu items",
|
|
21
|
-
children: /* @__PURE__ */
|
|
20
|
+
title: f("nav.collapseAll", "Collapse all"),
|
|
21
|
+
"aria-label": f("nav.collapseAllHint", "Collapse all menu items"),
|
|
22
|
+
children: /* @__PURE__ */ r(t, { className: "size-4" })
|
|
22
23
|
}),
|
|
23
|
-
|
|
24
|
+
l && /* @__PURE__ */ r("button", {
|
|
24
25
|
type: "button",
|
|
25
|
-
onClick:
|
|
26
|
+
onClick: l,
|
|
26
27
|
className: "hidden shrink-0 rounded-button p-1.5 text-text-secondary transition-colors hover:bg-bg-sunken hover:text-text-primary md:block",
|
|
27
|
-
"aria-label":
|
|
28
|
-
"aria-expanded": !
|
|
29
|
-
title:
|
|
30
|
-
children: /* @__PURE__ */ n
|
|
28
|
+
"aria-label": p,
|
|
29
|
+
"aria-expanded": !o,
|
|
30
|
+
title: p,
|
|
31
|
+
children: /* @__PURE__ */ r(n, { className: "size-5" })
|
|
31
32
|
})
|
|
32
33
|
]
|
|
33
34
|
})
|
|
34
35
|
});
|
|
35
36
|
};
|
|
36
37
|
//#endregion
|
|
37
|
-
export {
|
|
38
|
+
export { a as SidebarHeader };
|
|
@@ -17,7 +17,12 @@ export interface LanguageReplyView {
|
|
|
17
17
|
wanted: string;
|
|
18
18
|
/** The language the i18n provider is in NOW. */
|
|
19
19
|
locale: string;
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* The provider is still fetching THE WANTED language's dictionary
|
|
22
|
+
* (`useI18n().isLocaleLoading(wanted)`). ★ BOFF-8823: not the provider-wide
|
|
23
|
+
* `isLoading` — after A -> B with A still in flight, A settling cleared that
|
|
24
|
+
* flag while B was loading, and the reply fell to English after the grace.
|
|
25
|
+
*/
|
|
21
26
|
isLoading: boolean;
|
|
22
27
|
/** The sentence, made with the translator in force now, came back translated. */
|
|
23
28
|
translatedNow: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languageReply.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/appControls/languageReply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,+DAA+D;AAC/D,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAKhD,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf
|
|
1
|
+
{"version":3,"file":"languageReply.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/appControls/languageReply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,+DAA+D;AAC/D,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAKhD,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAO5E;AAED,0FAA0F;AAC1F,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,WAAW,GACd,gBAAgB,GAAG,IAAI,CAkBzB"}
|
|
@@ -39,8 +39,13 @@ import { AssistantModeConfig } from './conversation';
|
|
|
39
39
|
* and `assistant` pills — the exact defect `AssistantModeSelector` fixed. Use
|
|
40
40
|
* `assistantModeI18nCopy(modes)`, which takes the words from the product.
|
|
41
41
|
* - A mode's `description` and `suggestions`, and the page label from
|
|
42
|
-
* `describeCurrentPage()`, are
|
|
43
|
-
*
|
|
42
|
+
* `describeCurrentPage()`, are the product's words too. Since BOFF-8060 (F5)
|
|
43
|
+
* they are translated AT DISPLAY TIME under keys derived from their English
|
|
44
|
+
* (`suggestion.<mode>.<slug>`, `modeDescription.<mode>`, `page.<slug>`; see
|
|
45
|
+
* `productCopy.ts`). They stay out of the shared manifest, and
|
|
46
|
+
* `assistantI18nSeedCopy` emits them from the product's own modes and the
|
|
47
|
+
* `pageLabels` it passes — so a product passes its ENGLISH, never a
|
|
48
|
+
* pre-translated string (that would key the translation by itself).
|
|
44
49
|
*
|
|
45
50
|
* HOW A PRODUCT'S EXTRACTOR USES IT
|
|
46
51
|
*
|
|
@@ -455,6 +460,9 @@ export declare const ASSISTANT_I18N_LITERAL_COPY: {
|
|
|
455
460
|
readonly "voiceSession.speakerYou": "You";
|
|
456
461
|
readonly "voiceSession.speaking": "Speaking — tap to stop";
|
|
457
462
|
readonly "voiceSession.start": "Start a voice conversation";
|
|
463
|
+
readonly "voiceSession.streamNoticeBody": "Your voice is sent to Google Cloud Speech-to-Text and processed in the EU. We don't store the audio.";
|
|
464
|
+
readonly "voiceSession.streamNoticeContinue": "Continue";
|
|
465
|
+
readonly "voiceSession.streamNoticeNotNow": "Not now";
|
|
458
466
|
readonly "voiceSession.title": "Voice conversation";
|
|
459
467
|
readonly "voiceSession.transcript": "Voice conversation";
|
|
460
468
|
readonly "voiceSession.transcriptClose": "Close the transcript";
|
|
@@ -543,8 +551,11 @@ export declare const ASSISTANT_I18N_SEED_COMPAT_COPY: Readonly<{
|
|
|
543
551
|
* see `overrides` on `assistantI18nSeedCopy`.
|
|
544
552
|
*/
|
|
545
553
|
export declare const ASSISTANT_I18N_MANIFEST: Readonly<Record<string, string>>;
|
|
546
|
-
/**
|
|
547
|
-
|
|
554
|
+
/**
|
|
555
|
+
* The part of a mode that decides its keys and English: the pill, plus (when
|
|
556
|
+
* given) its description and suggestion chips (BOFF-8060, F5).
|
|
557
|
+
*/
|
|
558
|
+
export type AssistantModeCopySource = Pick<AssistantModeConfig, "id" | "label" | "producesArtifacts"> & Partial<Pick<AssistantModeConfig, "description" | "suggestions">>;
|
|
548
559
|
/**
|
|
549
560
|
* `mode.<id>` for each mode a product offers, in the product's own words.
|
|
550
561
|
*
|
|
@@ -561,7 +572,9 @@ export declare function assistantModeI18nCopy(modes: readonly AssistantModeCopyS
|
|
|
561
572
|
/**
|
|
562
573
|
* Everything a product seeds for the shared assistant, as FULL keys under its
|
|
563
574
|
* namespace: the manifest, its own mode labels, and its own English for any
|
|
564
|
-
* shared key it has customised
|
|
575
|
+
* shared key it has customised — plus its own display copy (BOFF-8060, F5):
|
|
576
|
+
* each mode's description and suggestion chips, and the `pageLabels` its
|
|
577
|
+
* `describeCurrentPage()` can return (pass every label it can produce).
|
|
565
578
|
*
|
|
566
579
|
* `namespace` is the id given to `AssistantProductProvider` /
|
|
567
580
|
* `AssistantI18nProvider`; the keys are built by `assistantTranslationKey`, the
|
|
@@ -579,5 +592,7 @@ export declare function assistantI18nSeedCopy(args: {
|
|
|
579
592
|
namespace: string;
|
|
580
593
|
modes: readonly AssistantModeCopySource[];
|
|
581
594
|
overrides?: Readonly<Record<string, string>>;
|
|
595
|
+
/** Every English label the product's `describeCurrentPage()` can return. */
|
|
596
|
+
pageLabels?: readonly string[];
|
|
582
597
|
}): Record<string, string>;
|
|
583
598
|
//# sourceMappingURL=i18nManifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18nManifest.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/i18nManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"i18nManifest.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/i18nManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAc1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+dG,CAAC;AAE5C,mDAAmD;AACnD,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,2BAA2B,CAAC;AAW/E;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgCtE,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,+BAA+B;;EAGjC,CAAC;AAEZ;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKjE,CAAC;AAEL;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,mBAAmB,EACnB,IAAI,GAAG,OAAO,GAAG,mBAAmB,CACrC,GACC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,uBAAuB,EAAE,GACxC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAexB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,4EAA4E;IAC5E,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuCzB"}
|
|
@@ -7,10 +7,11 @@ import { INCOMPLETE_TURN_NOTICES as a } from "./streamBudget.js";
|
|
|
7
7
|
import { STAGE_COPY as o, THINKING_PHRASES as s } from "./stageCopy.js";
|
|
8
8
|
import { VOICE_MUTED_LABEL as c, VOICE_THINKING_LABEL as l } from "./voice/voiceStatus.js";
|
|
9
9
|
import { ATTACHMENT_SOURCES as u } from "./attachmentSources.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
10
|
+
import { assistantProductCopyEntries as d } from "./productCopy.js";
|
|
11
|
+
import { WRITE_PROPOSAL_ERROR_COPY as f } from "./writeProposalErrorCopy.js";
|
|
12
|
+
import { WRITE_PROPOSAL_VOICE_COPY as p } from "./writeProposalVoice.js";
|
|
12
13
|
//#region src/shared/assistant/i18nManifest.ts
|
|
13
|
-
var
|
|
14
|
+
var m = {
|
|
14
15
|
"apiCalls.consentBody": "In Take action mode the assistant can read AND change your data — creating records, logging activity, updating details, and more, on your behalf.",
|
|
15
16
|
"apiCalls.consentBody2": "It will describe what it is about to do and ask you to confirm before making a change. Only continue if you want the assistant to take actions for you.",
|
|
16
17
|
"apiCalls.consentCancel": "Stay in Ask",
|
|
@@ -353,6 +354,9 @@ var p = {
|
|
|
353
354
|
"voiceSession.speakerYou": "You",
|
|
354
355
|
"voiceSession.speaking": "Speaking — tap to stop",
|
|
355
356
|
"voiceSession.start": "Start a voice conversation",
|
|
357
|
+
"voiceSession.streamNoticeBody": "Your voice is sent to Google Cloud Speech-to-Text and processed in the EU. We don't store the audio.",
|
|
358
|
+
"voiceSession.streamNoticeContinue": "Continue",
|
|
359
|
+
"voiceSession.streamNoticeNotNow": "Not now",
|
|
356
360
|
"voiceSession.title": "Voice conversation",
|
|
357
361
|
"voiceSession.transcript": "Voice conversation",
|
|
358
362
|
"voiceSession.transcriptClose": "Close the transcript",
|
|
@@ -418,39 +422,43 @@ var p = {
|
|
|
418
422
|
"writeProposal.values": "Values",
|
|
419
423
|
"writeProposal.variablesOmitted": "{{count}} more values not shown",
|
|
420
424
|
"writeProposal.waitForTurn": "You can confirm once the assistant finishes replying."
|
|
421
|
-
},
|
|
422
|
-
...
|
|
423
|
-
...
|
|
424
|
-
...
|
|
425
|
-
...
|
|
426
|
-
...
|
|
427
|
-
...
|
|
428
|
-
...
|
|
429
|
-
...
|
|
425
|
+
}, h = (e) => Object.fromEntries(e.map((e) => [e.key, e.fallback])), g = Object.freeze({
|
|
426
|
+
...h(Object.values(o)),
|
|
427
|
+
...h(s),
|
|
428
|
+
...h([l, c]),
|
|
429
|
+
...h(a),
|
|
430
|
+
...h(Object.values(i)),
|
|
431
|
+
...h(Object.values(r)),
|
|
432
|
+
...h(Object.values(f)),
|
|
433
|
+
...h(Object.values(p)),
|
|
430
434
|
...Object.fromEntries(u.map((e) => [e.labelKey, e.labelFallback]))
|
|
431
|
-
}),
|
|
432
|
-
...
|
|
433
|
-
...
|
|
434
|
-
...
|
|
435
|
+
}), _ = Object.freeze({ "outcome.usageDailyLimitReachedNoTime": "You've reached today's AI assistant limit. Try again tomorrow." }), v = Object.freeze({
|
|
436
|
+
...m,
|
|
437
|
+
...g,
|
|
438
|
+
..._
|
|
435
439
|
});
|
|
436
|
-
function
|
|
440
|
+
function y(e) {
|
|
437
441
|
let r = e.map((e) => e.id).filter((e) => !n(e));
|
|
438
442
|
if (r.length > 0) throw Error(`assistantModeI18nCopy: malformed mode id ${r.map((e) => JSON.stringify(e)).join(", ")}. Declare product modes with declareAssistantMode().`);
|
|
439
443
|
return Object.fromEntries(e.map((e) => [`mode.${e.id}`, e.label || t(e)]));
|
|
440
444
|
}
|
|
441
|
-
function
|
|
445
|
+
function b(t) {
|
|
442
446
|
let n = {
|
|
443
|
-
...
|
|
444
|
-
...
|
|
447
|
+
...v,
|
|
448
|
+
...y(t.modes)
|
|
445
449
|
}, r = Object.entries(t.overrides ?? {}), i = r.filter(([e]) => !Object.hasOwn(n, e)).map(([e]) => e);
|
|
446
450
|
if (i.length > 0) throw Error(`assistantI18nSeedCopy: no shared assistant key ${i.join(", ")} to override. Check the spelling, or that the key is a mode this product offers; a key fe-libs no longer requests belongs with the product's own keys.`);
|
|
447
451
|
let a = r.filter(([, e]) => e.trim() === "").map(([e]) => e);
|
|
448
452
|
if (a.length > 0) throw Error(`assistantI18nSeedCopy: blank English for ${a.join(", ")}. Omit the override to keep the shared English.`);
|
|
449
453
|
let o = {
|
|
450
454
|
...n,
|
|
451
|
-
...Object.fromEntries(r)
|
|
455
|
+
...Object.fromEntries(r),
|
|
456
|
+
...d({
|
|
457
|
+
modes: t.modes,
|
|
458
|
+
pageLabels: t.pageLabels
|
|
459
|
+
})
|
|
452
460
|
};
|
|
453
461
|
return Object.fromEntries(Object.entries(o).map(([n, r]) => [e(t.namespace, n), r]));
|
|
454
462
|
}
|
|
455
463
|
//#endregion
|
|
456
|
-
export {
|
|
464
|
+
export { g as ASSISTANT_I18N_COMPUTED_COPY, m as ASSISTANT_I18N_LITERAL_COPY, v as ASSISTANT_I18N_MANIFEST, _ as ASSISTANT_I18N_SEED_COMPAT_COPY, b as assistantI18nSeedCopy, y as assistantModeI18nCopy };
|
|
@@ -62,6 +62,7 @@ export * from './voice/handsfree/handsFreeSetting';
|
|
|
62
62
|
export * from './voice/handsfree/micCapture';
|
|
63
63
|
export * from './voice/handsfree/playbackReference';
|
|
64
64
|
export * from './voice/handsfree/preRollRing';
|
|
65
|
+
export * from './voice/handsfree/streamingConfig';
|
|
65
66
|
export * from './voice/handsfree/sttTransport';
|
|
66
67
|
export * from './voice/handsfree/useHandsFreeInterrupt';
|
|
67
68
|
export * from './voice/handsfree/vad';
|
|
@@ -89,6 +90,7 @@ export * from './i18nManifest';
|
|
|
89
90
|
export * from './modeCopy';
|
|
90
91
|
export * from './modeIds';
|
|
91
92
|
export * from './modeCapabilities';
|
|
93
|
+
export * from './productCopy';
|
|
92
94
|
export * from './adminModeSendGate';
|
|
93
95
|
export * from './attachmentTurn';
|
|
94
96
|
export * from './writeModeConsent';
|
|
@@ -209,6 +211,7 @@ export * from './ui/AssistantMessageItem';
|
|
|
209
211
|
export * from './ui/AssistantMessageList';
|
|
210
212
|
export * from './ui/AssistantTurnActivity';
|
|
211
213
|
export * from './ui/voice/AssistantVoiceSession';
|
|
214
|
+
export * from './ui/voice/HandsFreePrivacyNotice';
|
|
212
215
|
export * from './useAssistantApiAccess';
|
|
213
216
|
export * from './useConversationTurns';
|
|
214
217
|
export * from './transportErrors';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AAGxB,cAAc,wBAAwB,CAAC;AAKvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAElC,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,aAAa,CAAC;AAK5B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAG3C,cAAc,QAAQ,CAAC;AAIvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display-time translation of the copy a PRODUCT hands the shared assistant
|
|
3
|
+
* (BOFF-8060, F5): its suggestion chips, its mode descriptions, and the page
|
|
4
|
+
* label from `describeCurrentPage()`.
|
|
5
|
+
*
|
|
6
|
+
* WHY. Products pass these as English constants, and the assistant rendered
|
|
7
|
+
* them exactly as passed, so the chips under "How can I help?" and the
|
|
8
|
+
* "Context: <page>" line stayed English in every locale (production check,
|
|
9
|
+
* 2026-10-07: BigConsole 8 chips / 6 page names, VibeControls 12 / 13).
|
|
10
|
+
*
|
|
11
|
+
* HOW. Each string gets a key DERIVED FROM ITS ENGLISH, under the product's
|
|
12
|
+
* assistant namespace:
|
|
13
|
+
*
|
|
14
|
+
* suggestion.<modeId>.<slug(english)> a suggestion chip
|
|
15
|
+
* modeDescription.<modeId> a mode's description
|
|
16
|
+
* page.<slug(english)> a page label
|
|
17
|
+
*
|
|
18
|
+
* `slug` is the lower-camel ASCII of the English ("Show overdue tasks" ->
|
|
19
|
+
* `showOverdueTasks`). Deriving the key from the words means:
|
|
20
|
+
* - a product needs no key table: `assistantI18nSeedCopy` emits these keys
|
|
21
|
+
* from the same mode list and page labels the product already passes;
|
|
22
|
+
* - when the English CHANGES, the key changes with it, so a stale translation
|
|
23
|
+
* of the old words can never be shown — the new English shows until the new
|
|
24
|
+
* key is translated.
|
|
25
|
+
*
|
|
26
|
+
* ★ Not `mode.<id>.suggestion.*`. `mode.<id>` is already a live LEAF (the
|
|
27
|
+
* pill label). The served dictionary COULD hold it as a branch too: the label
|
|
28
|
+
* would move to the branch's `_` slot, which `resolveTranslationValue` reads.
|
|
29
|
+
* This is a choice, not a limit. Separate families add no child under any
|
|
30
|
+
* live leaf, so no served key changes shape and a seed has no leaf/branch
|
|
31
|
+
* collisions to account for.
|
|
32
|
+
*
|
|
33
|
+
* ★★ THESE IDS ARE THE SEED CONTRACT. The prepared seeds (BigConsole B5,
|
|
34
|
+
* VibeControls V1) are generated by calling `assistantI18nSeedCopy` /
|
|
35
|
+
* `assistantProductCopyEntries`, never by re-deriving the slug elsewhere. The
|
|
36
|
+
* ids are pinned in `productCopy.test.ts` ("seed plan ids"). A change to this
|
|
37
|
+
* derivation re-keys every seeded translation, so regenerate those seeds with
|
|
38
|
+
* it.
|
|
39
|
+
*
|
|
40
|
+
* `modeDescription.<id>` is seeded, but no fe-libs UI displays a mode
|
|
41
|
+
* description yet. The key exists so a description can be translated once it
|
|
42
|
+
* is shown.
|
|
43
|
+
*
|
|
44
|
+
* ★ The model still reads English page context: `describeCurrentPage()` is
|
|
45
|
+
* unchanged and only its DISPLAY is translated. A clicked chip sends the text
|
|
46
|
+
* as displayed, i.e. localized (operator decision D-7, 2026-10-07): it is what
|
|
47
|
+
* the person saw and chose.
|
|
48
|
+
*
|
|
49
|
+
* Pure and import-free, so it loads in any test or extractor script.
|
|
50
|
+
*/
|
|
51
|
+
/** Keys longer than this get a hash suffix instead of the full slug. */
|
|
52
|
+
export declare const MAX_COPY_SLUG_LENGTH = 64;
|
|
53
|
+
/**
|
|
54
|
+
* Lower-camel ASCII slug of an English string; `null` when nothing ASCII
|
|
55
|
+
* alphanumeric is left (such copy is shown as passed, never keyed).
|
|
56
|
+
*
|
|
57
|
+
* Over-long slugs keep a readable prefix plus a hash of the whole English, so
|
|
58
|
+
* two long chips that share a prefix still get different keys.
|
|
59
|
+
*/
|
|
60
|
+
export declare function assistantCopySlug(english: string): string | null;
|
|
61
|
+
/** `suggestion.<modeId>.<slug>`, or null for copy that cannot be keyed. */
|
|
62
|
+
export declare function assistantSuggestionKey(modeId: string, english: string): string | null;
|
|
63
|
+
/** `modeDescription.<modeId>`. */
|
|
64
|
+
export declare function assistantModeDescriptionKey(modeId: string): string;
|
|
65
|
+
/** `page.<slug>`, or null for a label that cannot be keyed. */
|
|
66
|
+
export declare function assistantPageLabelKey(english: string): string | null;
|
|
67
|
+
/** Translate one piece of product copy, or return it unchanged when unkeyable. */
|
|
68
|
+
export declare function translateProductCopy(tr: (key: string, fallback: string) => string, key: string | null, english: string): string;
|
|
69
|
+
/** The relative keys and English for a product's modes and page labels. */
|
|
70
|
+
export declare function assistantProductCopyEntries(args: {
|
|
71
|
+
modes: readonly {
|
|
72
|
+
id: string;
|
|
73
|
+
description?: string;
|
|
74
|
+
suggestions?: readonly string[];
|
|
75
|
+
}[];
|
|
76
|
+
pageLabels?: readonly string[];
|
|
77
|
+
}): Record<string, string>;
|
|
78
|
+
//# sourceMappingURL=productCopy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productCopy.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/productCopy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAcvC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBhE;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAGf;AAED,kCAAkC;AAClC,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,+DAA+D;AAC/D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpE;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAGlC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,EAC7C,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAED,2EAA2E;AAC3E,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,KAAK,EAAE,SAAS;QACd,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACjC,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BzB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/shared/assistant/productCopy.ts
|
|
2
|
+
var e = 64, t = 2166136261, n = 16777619;
|
|
3
|
+
function r(e) {
|
|
4
|
+
let r = t;
|
|
5
|
+
for (let t = 0; t < e.length; t += 1) r ^= e.charCodeAt(t), r = Math.imul(r, n);
|
|
6
|
+
return (r >>> 0).toString(36);
|
|
7
|
+
}
|
|
8
|
+
function i(e) {
|
|
9
|
+
let t = e.normalize("NFKD").replace(/[̀-ͯ]/g, "").split(/[^A-Za-z0-9]+/).filter((e) => e.length > 0).map((e) => e.toLowerCase());
|
|
10
|
+
if (t.length === 0) return null;
|
|
11
|
+
let n = t.map((e, t) => t === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1)).join("");
|
|
12
|
+
if (n.length <= 64) return n;
|
|
13
|
+
let i = r(e.trim());
|
|
14
|
+
return `${n.slice(0, 64 - i.length - 1)}H${i}`;
|
|
15
|
+
}
|
|
16
|
+
function a(e, t) {
|
|
17
|
+
let n = i(t);
|
|
18
|
+
return n === null ? null : `suggestion.${e}.${n}`;
|
|
19
|
+
}
|
|
20
|
+
function o(e) {
|
|
21
|
+
return `modeDescription.${e}`;
|
|
22
|
+
}
|
|
23
|
+
function s(e) {
|
|
24
|
+
let t = i(e);
|
|
25
|
+
return t === null ? null : `page.${t}`;
|
|
26
|
+
}
|
|
27
|
+
function c(e, t, n) {
|
|
28
|
+
return t === null ? n : e(t, n);
|
|
29
|
+
}
|
|
30
|
+
function l(e) {
|
|
31
|
+
let t = {}, n = (e, n) => {
|
|
32
|
+
if (e === null) return;
|
|
33
|
+
let r = t[e];
|
|
34
|
+
if (r !== void 0 && r !== n) throw Error(`assistantProductCopyEntries: ${JSON.stringify(r)} and ${JSON.stringify(n)} both map to ${e}. Reword one of them.`);
|
|
35
|
+
t[e] = n;
|
|
36
|
+
};
|
|
37
|
+
for (let t of e.modes) {
|
|
38
|
+
t.description && t.description.trim() !== "" && n(o(t.id), t.description);
|
|
39
|
+
for (let e of t.suggestions ?? []) n(a(t.id, e), e);
|
|
40
|
+
}
|
|
41
|
+
for (let t of e.pageLabels ?? []) n(s(t), t);
|
|
42
|
+
return t;
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { e as MAX_COPY_SLUG_LENGTH, i as assistantCopySlug, o as assistantModeDescriptionKey, s as assistantPageLabelKey, l as assistantProductCopyEntries, a as assistantSuggestionKey, c as translateProductCopy };
|
|
@@ -97,6 +97,14 @@ interface AssistantState {
|
|
|
97
97
|
voiceGraceMs: VoiceGraceMs;
|
|
98
98
|
/** BOFF-8613 H3: "Hands-free interrupt (beta)" - listen while the assistant answers. Default OFF. */
|
|
99
99
|
handsFreeInterrupt: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* BOFF-8613 H3: the version of the backend speech stream's privacy notice
|
|
102
|
+
* this profile accepted ("Continue"), or null. Persisted per profile, so the
|
|
103
|
+
* notice is shown once per person and again when its wording changes
|
|
104
|
+
* (`HANDS_FREE_STREAM_NOTICE_VERSION`). "Not now" is not stored: it holds
|
|
105
|
+
* for that conversation only.
|
|
106
|
+
*/
|
|
107
|
+
handsFreeStreamNoticeAccepted: string | null;
|
|
100
108
|
/**
|
|
101
109
|
* With no `mode`, a new conversation in whatever is SELECTED: Auto's while
|
|
102
110
|
* Auto is (BOFF-7800), otherwise the mode the person picked — never
|
|
@@ -178,6 +186,8 @@ interface AssistantState {
|
|
|
178
186
|
/** Choose the voice session's end-of-speech grace (H1); other values are ignored. */
|
|
179
187
|
setVoiceGraceMs: (ms: number) => void;
|
|
180
188
|
setHandsFreeInterrupt: (enabled: boolean) => void;
|
|
189
|
+
/** Remember that this profile accepted the backend stream's privacy notice `noticeVersion`. */
|
|
190
|
+
acceptHandsFreeStreamNotice: (noticeVersion: string) => void;
|
|
181
191
|
/**
|
|
182
192
|
* Add a conversation read from the server (a header being opened). A
|
|
183
193
|
* conversation already here is left exactly as it is: its local messages
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,+BAA+B,EAC/B,2BAA2B,EAC3B,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,OAAO,EACP,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAY3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAOjE,UAAU,cAAc;IACtB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB;;;;;;;;;;OAUG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;IAC5E,oBAAoB,EAAE,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACzE;;;;;;;;;;;;OAYG;IACH,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACnE;;;;;OAKG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;;;;;OASG;IACH,sBAAsB,EAAE,SAAS,aAAa,EAAE,CAAC;IACjD;;;;;;;OAOG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;;OAKG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B,qGAAqG;IACrG,kBAAkB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/store.ts"],"names":[],"mappings":"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"}
|