@burdenoff/fe-libs 2026.925.6 → 2026.925.8
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/Footer.d.ts +1 -1
- package/dist/chrome/Footer.js +2 -2
- package/dist/chrome/MobileTabBar.js +6 -6
- package/dist/chrome/ProductSideNav.js +9 -9
- package/dist/chrome/ProductSwitcher.d.ts +1 -1
- 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 +2 -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/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/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +615 -524
- 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/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/config/products.js +1 -1
- 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/types/index.d.ts +1 -1
- package/dist/shared-assistant.js +16 -14
- package/dist/shared-hooks-shell.js +12 -12
- package/package.json +1 -1
package/dist/chrome/Footer.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface FooterLink {
|
|
|
13
13
|
external?: boolean;
|
|
14
14
|
/**
|
|
15
15
|
* Brand/product name — never translated. `DynamicFooter` runs every other
|
|
16
|
-
* label through the i18n service; names like "FluidGrids" or "
|
|
16
|
+
* label through the i18n service; names like "FluidGrids" or "BotManor" must
|
|
17
17
|
* render identically in every locale.
|
|
18
18
|
*/
|
|
19
19
|
brand?: boolean;
|
package/dist/chrome/Footer.js
CHANGED
|
@@ -3,9 +3,9 @@ import { BottomSheet as t, BottomSheetContent as n, BottomSheetHeader as r, Bott
|
|
|
3
3
|
import { getNativeBridge as a } from "../shared/native/bridge.js";
|
|
4
4
|
import { appendContextToPath as o, useCurrentContextSearchParams as s } from "../shared/hooks/useCurrentContextSearchParams.js";
|
|
5
5
|
import { useShellLabel as c } from "../shared/providers/shell/useShellLabel.js";
|
|
6
|
-
import { isItemOrChildActive as l } from "./sideNavigation/helpers.js";
|
|
7
6
|
import "./sideNavigation/navVisibility.js";
|
|
8
|
-
import { useVisibleNavItems as
|
|
7
|
+
import { useVisibleNavItems as l } from "./mobileTabBar/useVisibleNavItems.js";
|
|
8
|
+
import { isItemOrChildActive as u } from "./sideNavigation/helpers.js";
|
|
9
9
|
import { resolveTabPath as d, selectMobileTabs as f } from "./mobileTabBar/selectTabs.js";
|
|
10
10
|
import "./mobileTabBar/useMobileTabBarVisible.js";
|
|
11
11
|
import { useCallback as p, useEffect as m, useLayoutEffect as h, useMemo as g, useRef as _, useState as v } from "react";
|
|
@@ -40,7 +40,7 @@ function D(e, t, n) {
|
|
|
40
40
|
}));
|
|
41
41
|
}
|
|
42
42
|
function O({ appName: a, groupOrder: O = [], groupLabels: A = {}, maxTabs: j = 4, moreLabel: M, mobileActions: N, hideWhenKeyboardOpen: P = !0, className: F }) {
|
|
43
|
-
let I = c(), L = M ?? I("nav.more", "More"), R = w(), z = C(), B = s(), { items: V } =
|
|
43
|
+
let I = c(), L = M ?? I("nav.more", "More"), R = w(), z = C(), B = s(), { items: V } = l(), [H, U] = v(!1), W = _(null), { tabs: G, more: K, hasMore: q } = g(() => f(V, j), [V, j]), J = g(() => D(K, O, A), [
|
|
44
44
|
K,
|
|
45
45
|
O,
|
|
46
46
|
A
|
|
@@ -59,7 +59,7 @@ function O({ appName: a, groupOrder: O = [], groupLabels: A = {}, maxTabs: j = 4
|
|
|
59
59
|
}, [z.pathname]);
|
|
60
60
|
let Z = p((e) => {
|
|
61
61
|
E(), R(o(e, B));
|
|
62
|
-
}, [R, B]), Q = g(() => !!q && K.some((e) =>
|
|
62
|
+
}, [R, B]), Q = g(() => !!q && K.some((e) => u(e, z.pathname)), [
|
|
63
63
|
q,
|
|
64
64
|
K,
|
|
65
65
|
z.pathname
|
|
@@ -73,7 +73,7 @@ function O({ appName: a, groupOrder: O = [], groupLabels: A = {}, maxTabs: j = 4
|
|
|
73
73
|
"data-keyboard-keep": P ? void 0 : "",
|
|
74
74
|
className: e("fixed inset-x-0 bottom-0 z-[60] flex items-stretch", "bg-bg-surface text-text-primary", F),
|
|
75
75
|
children: [G.map((t) => {
|
|
76
|
-
let n =
|
|
76
|
+
let n = u(t, z.pathname);
|
|
77
77
|
return /* @__PURE__ */ S("button", {
|
|
78
78
|
type: "button",
|
|
79
79
|
role: "tab",
|
|
@@ -136,7 +136,7 @@ function O({ appName: a, groupOrder: O = [], groupLabels: A = {}, maxTabs: j = 4
|
|
|
136
136
|
}) : null, /* @__PURE__ */ x("ul", {
|
|
137
137
|
className: "flex flex-col",
|
|
138
138
|
children: e.items.map((e) => {
|
|
139
|
-
let t =
|
|
139
|
+
let t = u(e, z.pathname);
|
|
140
140
|
return /* @__PURE__ */ x("li", { children: /* @__PURE__ */ x(k, {
|
|
141
141
|
icon: e.icon,
|
|
142
142
|
label: e.label,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { useShellUi as e } from "../shared/providers/shell/ShellUiProvider.js";
|
|
2
2
|
import { appendContextToPath as t, useCurrentContextSearchParams as n } from "../shared/hooks/useCurrentContextSearchParams.js";
|
|
3
3
|
import { useShellLabel as r } from "../shared/providers/shell/useShellLabel.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { useVisibleNavItems as i } from "./mobileTabBar/useVisibleNavItems.js";
|
|
5
|
+
import { SideNavigation as a } from "./SideNavigation.js";
|
|
6
|
+
import { NavCustomizeDialog as o } from "./NavCustomizeDialog.js";
|
|
7
|
+
import { PersonaSimulationPill as s, PersonaSurfaceControls as c } from "./PersonaSurfaceControls.js";
|
|
8
8
|
import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
9
9
|
import { useLocation as f, useNavigate as p } from "react-router";
|
|
10
10
|
//#region src/chrome/ProductSideNav.tsx
|
|
11
11
|
function m({ logo: m, appName: h, groupOrder: g, groupLabels: _, mobileActions: v, customHeader: y, homeAriaLabel: b, collapseLabel: x }) {
|
|
12
|
-
let S = r(), C = b ?? S("nav.goToDashboard", "Go to dashboard"), w = x ?? S("nav.collapse", "Collapse"), T = p(), E = f(), { sidebarCollapsed: D, toggleSidebar: O } = e(), k = n(), { items: A, persona: j } =
|
|
12
|
+
let S = r(), C = b ?? S("nav.goToDashboard", "Go to dashboard"), w = x ?? S("nav.collapse", "Collapse"), T = p(), E = f(), { sidebarCollapsed: D, toggleSidebar: O } = e(), k = n(), { items: A, persona: j } = i(), M = j?.simulation ?? null, N = j?.activeSurface ?? null, P = (e) => {
|
|
13
13
|
T(t(e, k));
|
|
14
14
|
}, F = () => {
|
|
15
15
|
T(t("/", k));
|
|
@@ -39,7 +39,7 @@ function m({ logo: m, appName: h, groupOrder: g, groupLabels: _, mobileActions:
|
|
|
39
39
|
return /* @__PURE__ */ d("div", {
|
|
40
40
|
"data-tour": "sidenav",
|
|
41
41
|
className: "h-full",
|
|
42
|
-
children: [/* @__PURE__ */ u(
|
|
42
|
+
children: [/* @__PURE__ */ u(a, {
|
|
43
43
|
items: A,
|
|
44
44
|
currentPath: E.pathname,
|
|
45
45
|
collapsed: D,
|
|
@@ -50,12 +50,12 @@ function m({ logo: m, appName: h, groupOrder: g, groupLabels: _, mobileActions:
|
|
|
50
50
|
collapseLabel: w,
|
|
51
51
|
mobileActions: v,
|
|
52
52
|
header: y ?? I,
|
|
53
|
-
footer: j ? /* @__PURE__ */ u(
|
|
53
|
+
footer: j ? /* @__PURE__ */ u(c, {}) : void 0,
|
|
54
54
|
contextSearchParams: k
|
|
55
|
-
}, j ? `${N?.id ?? "everything"}:${M?.roleId ?? ""}` : void 0), j && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(
|
|
55
|
+
}, j ? `${N?.id ?? "everything"}:${M?.roleId ?? ""}` : void 0), j && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(o, {
|
|
56
56
|
groupLabels: _,
|
|
57
57
|
groupOrder: g
|
|
58
|
-
}), /* @__PURE__ */ u(
|
|
58
|
+
}), /* @__PURE__ */ u(s, {})] })]
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { NAV_MORE_ID_PREFIX as e } from "./navVisibility.js";
|
|
2
|
+
import { findAncestorIds as t } from "./helpers.js";
|
|
3
3
|
import { useCallback as n, useEffect as r, useRef as i, useState as a } from "react";
|
|
4
4
|
//#region src/chrome/sideNavigation/useSideNavigationState.ts
|
|
5
5
|
function o({ items: o, currentPath: s, collapsed: c, onToggleCollapse: l }) {
|
|
@@ -7,7 +7,7 @@ function o({ items: o, currentPath: s, collapsed: c, onToggleCollapse: l }) {
|
|
|
7
7
|
return r(() => {
|
|
8
8
|
f.current = c;
|
|
9
9
|
}, [c]), r(() => {
|
|
10
|
-
let n = new Set([...
|
|
10
|
+
let n = new Set([...t(o, s)].filter((t) => !t.startsWith(e)));
|
|
11
11
|
n.size > 0 && d((e) => {
|
|
12
12
|
let t = new Set(e), r = !1;
|
|
13
13
|
return n.forEach((e) => {
|
package/dist/chrome.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ShortcutHelpDialog as e } from "./chrome/ShortcutHelpDialog.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
2
|
+
import { NAV_MORE_ID_PREFIX as t, applyNavVisibility as n, applyPermissionFilter as r, applySurfaceVisibility as i, isItemEffectivelyShown as a } from "./chrome/sideNavigation/navVisibility.js";
|
|
3
|
+
import { AppShellLayout as o } from "./chrome/AppShellLayout.js";
|
|
4
|
+
import { PageHeader as s } from "./chrome/PageHeader.js";
|
|
5
|
+
import { HeaderBar as c } from "./chrome/HeaderBar.js";
|
|
6
|
+
import { FooterBar as l } from "./chrome/FooterBar.js";
|
|
7
|
+
import { PluginFooterStrip as u } from "./chrome/PluginFooterStrip.js";
|
|
8
|
+
import { DEFAULT_FOOTER_COLUMNS as d, DEFAULT_SOCIAL_LINKS as f, Footer as p } from "./chrome/Footer.js";
|
|
9
9
|
import { SideNavigation as m } from "./chrome/SideNavigation.js";
|
|
10
10
|
import { GlobalSearch as h } from "./chrome/GlobalSearch.js";
|
|
11
11
|
import { CommandPalette as g } from "./chrome/CommandPalette.js";
|
|
@@ -44,4 +44,4 @@ import { NativeTopBar as Z } from "./chrome/NativeTopBar.js";
|
|
|
44
44
|
import { SwipeNavigation as Q } from "./chrome/SwipeNavigation.js";
|
|
45
45
|
import { NativePageTransition as $ } from "./chrome/NativePageTransition.js";
|
|
46
46
|
import { findNavTitle as ee, useNativeTopBarTitle as te } from "./chrome/nativeTopBarTitle.js";
|
|
47
|
-
export { k as AccountSwitcher,
|
|
47
|
+
export { k as AccountSwitcher, o as AppShellLayout, A as AutoBreadcrumbs, L as BrandMark, _ as Breadcrumbs, g as CommandPalette, w as ContextSwitcher, d as DEFAULT_FOOTER_COLUMNS, f as DEFAULT_SOCIAL_LINKS, R as DynamicFooter, p as Footer, l as FooterBar, T as GeographySwitcher, h as GlobalSearch, c as HeaderBar, D as LanguagePickerSheet, C as LanguageSwitcher, X as MobileTabBar, t as NAV_MORE_ID_PREFIX, $ as NativePageTransition, Z as NativeTopBar, N as NavCustomizeDialog, v as NavLink, E as NotificationCenter, s as PageHeader, B as PanelContainer, z as PanelTabs, P as PersonaSimulationPill, F as PersonaSurfaceControls, K as PluginContextMenuTarget, u as PluginFooterStrip, H as PluginRoutes, U as PluginSettingsPage, W as PluginToolbar, G as PluginWidgetGrid, O as ProductPickerSheet, I as ProductSideNav, S as ProductSwitcher, x as ProfileSwitcher, e as ShortcutHelpDialog, m as SideNavigation, b as Sidebar, V as StatusBar, Q as SwipeNavigation, y as Tabs, q as ThemePreferences, n as applyNavVisibility, r as applyPermissionFilter, i as applySurfaceVisibility, ee as findNavTitle, a as isItemEffectivelyShown, j as registerBreadcrumbName, J as selectMobileTabs, M as unregisterBreadcrumbName, Y as useMobileTabBarVisible, te as useNativeTopBarTitle };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoRouting.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/autoRouting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,SAAS,CAAC;AAEnE,gFAAgF;AAChF,eAAO,MAAM,cAAc,cAA6C,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,cAA6C,CAAC;AAE1E,sEAAsE;AACtE,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,GAChD,OAAO,CAKT;AAslBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAmBrE;AA+BD,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,+EAA+E;IAC/E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC5C;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,YAAY,GACb,EAAE,cAAc,GAAG,SAAS,CAU5B;AAED,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAC/B,WAAW,EAAE,aAAa,EAC1B,KAAK,EACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,GACD,SAAS,EACb,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,GAC7C,gBAAgB,GAAG,IAAI,CAQzB;AAMD,2EAA2E;AAC3E,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,2DAA2D;AAC3D,eAAO,MAAM,qCAAqC,MAAM,CAAC;AACzD,sEAAsE;AACtE,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAY/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,OAAO,EAAE,MAAM,GACd,MAAM,CA2BR;AAED,uDAAuD;AACvD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,QAAQ,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"autoRouting.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/autoRouting.ts"],"names":[],"mappings":"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"}
|
|
@@ -828,7 +828,7 @@ function X(e, t) {
|
|
|
828
828
|
].join("\n");
|
|
829
829
|
}
|
|
830
830
|
function Z(e, t, n) {
|
|
831
|
-
return !e || e.routedBy !== "auto" || !n ? "" : X(e.messages.filter((e) => e.role === "user").map((e) => e.content), t);
|
|
831
|
+
return !e || e.routedBy !== "auto" || !n ? "" : X(e.messages.filter((e) => e.role === "user" && !e.metadata?.localAction).map((e) => e.content), t);
|
|
832
832
|
}
|
|
833
833
|
function Q(e, t, n = 4) {
|
|
834
834
|
let r = [], i = /* @__PURE__ */ new Set(), a = (e, t) => {
|
|
@@ -20,6 +20,20 @@ export interface AssistantPanelArtifact {
|
|
|
20
20
|
size: number;
|
|
21
21
|
downloadPath?: string;
|
|
22
22
|
}
|
|
23
|
+
/** What a locally handled UI command did (see `localUiCommands`). */
|
|
24
|
+
export type AssistantLocalAction = {
|
|
25
|
+
kind: "theme";
|
|
26
|
+
mode: string;
|
|
27
|
+
alreadyApplied: boolean;
|
|
28
|
+
} | {
|
|
29
|
+
kind: "navigate";
|
|
30
|
+
destinationId: string;
|
|
31
|
+
path: string;
|
|
32
|
+
alreadyHere: boolean;
|
|
33
|
+
} | {
|
|
34
|
+
kind: "choose-destination";
|
|
35
|
+
candidateIds: string[];
|
|
36
|
+
};
|
|
23
37
|
export interface AssistantMessageMetadata {
|
|
24
38
|
artifacts?: AssistantPanelArtifact[];
|
|
25
39
|
mode?: AssistantMode;
|
|
@@ -100,6 +114,12 @@ export interface AssistantMessageMetadata {
|
|
|
100
114
|
* localStorage or rendered. See `utils/pendingWrite`.
|
|
101
115
|
*/
|
|
102
116
|
pendingWrite?: PendingWrite;
|
|
117
|
+
/**
|
|
118
|
+
* ★ BOFF-7802: this reply is a UI command the panel carried out ITSELF — a
|
|
119
|
+
* theme set, a page opened — with no model turn and no sandbox. A record of
|
|
120
|
+
* what was done; nothing re-runs it when the conversation is reopened.
|
|
121
|
+
*/
|
|
122
|
+
localAction?: AssistantLocalAction;
|
|
103
123
|
[key: string]: unknown;
|
|
104
124
|
}
|
|
105
125
|
export interface Message {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/conversation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -183,6 +183,17 @@ export declare const ASSISTANT_I18N_LITERAL_COPY: {
|
|
|
183
183
|
readonly "language.inputLabel": "Language";
|
|
184
184
|
readonly "language.replyLabel": "Assistant replies in";
|
|
185
185
|
readonly "language.replyMatch": "Match my language";
|
|
186
|
+
readonly "localCommand.alreadyFollowingDevice": "The theme already follows your device.";
|
|
187
|
+
readonly "localCommand.alreadyHere": "You're already on {{page}}.";
|
|
188
|
+
readonly "localCommand.choose": "More than one page is called “{{page}}”. Which one?";
|
|
189
|
+
readonly "localCommand.followingDevice": "The theme now follows your device.";
|
|
190
|
+
readonly "localCommand.opened": "Opened {{page}}.";
|
|
191
|
+
readonly "localCommand.themeAlreadyFamily": "You're already on a {{theme}} theme.";
|
|
192
|
+
readonly "localCommand.themeAlreadyNamed": "The {{theme}} theme is already on.";
|
|
193
|
+
readonly "localCommand.themeDark": "dark";
|
|
194
|
+
readonly "localCommand.themeHighContrast": "high-contrast";
|
|
195
|
+
readonly "localCommand.themeLight": "light";
|
|
196
|
+
readonly "localCommand.themeSet": "Switched to the {{theme}} theme.";
|
|
186
197
|
readonly "markdown.closePreview": "Close image preview";
|
|
187
198
|
readonly "markdown.copied": "Copied";
|
|
188
199
|
readonly "markdown.copy": "Copy";
|
|
@@ -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;AAU1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0GG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B
|
|
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;AAU1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0GG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkOG,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,CAsBtE,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIjE,CAAC;AAEL,kEAAkE;AAClE,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,mBAAmB,EACnB,IAAI,GAAG,OAAO,GAAG,mBAAmB,CACrC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,uBAAuB,EAAE,GACxC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAexB;AAED;;;;;;;;;;;;;;;;GAgBG;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;CAC9C,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiCzB"}
|
|
@@ -78,6 +78,17 @@ var u = {
|
|
|
78
78
|
"language.inputLabel": "Language",
|
|
79
79
|
"language.replyLabel": "Assistant replies in",
|
|
80
80
|
"language.replyMatch": "Match my language",
|
|
81
|
+
"localCommand.alreadyFollowingDevice": "The theme already follows your device.",
|
|
82
|
+
"localCommand.alreadyHere": "You're already on {{page}}.",
|
|
83
|
+
"localCommand.choose": "More than one page is called “{{page}}”. Which one?",
|
|
84
|
+
"localCommand.followingDevice": "The theme now follows your device.",
|
|
85
|
+
"localCommand.opened": "Opened {{page}}.",
|
|
86
|
+
"localCommand.themeAlreadyFamily": "You're already on a {{theme}} theme.",
|
|
87
|
+
"localCommand.themeAlreadyNamed": "The {{theme}} theme is already on.",
|
|
88
|
+
"localCommand.themeDark": "dark",
|
|
89
|
+
"localCommand.themeHighContrast": "high-contrast",
|
|
90
|
+
"localCommand.themeLight": "light",
|
|
91
|
+
"localCommand.themeSet": "Switched to the {{theme}} theme.",
|
|
81
92
|
"markdown.closePreview": "Close image preview",
|
|
82
93
|
"markdown.copied": "Copied",
|
|
83
94
|
"markdown.copy": "Copy",
|
|
@@ -155,6 +155,8 @@ export * from './autoRouting';
|
|
|
155
155
|
export * from './turnOutcome';
|
|
156
156
|
export * from './turnTimeline';
|
|
157
157
|
export * from './prewarm';
|
|
158
|
+
export * from './localUiCommands';
|
|
159
|
+
export * from './localUiCommandCopy';
|
|
158
160
|
export * from './turnOutcomeCopy';
|
|
159
161
|
export * from './aiCredits';
|
|
160
162
|
export * from './useWorkspaceWriteAccess';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AssistantTr } from './i18n';
|
|
2
|
+
import { LocalDestination, ThemeModeValue } from './localUiCommands';
|
|
3
|
+
/**
|
|
4
|
+
* ★ BOFF-7802: what the panel says after carrying out a UI command itself.
|
|
5
|
+
*
|
|
6
|
+
* All-or-nothing on translation, like `turnOutcomeCopy`: the reply is stamped
|
|
7
|
+
* with ONE language and read aloud in that voice, so unless every part came
|
|
8
|
+
* back translated, every part is English. Page labels are the product's own
|
|
9
|
+
* words (already in the app's language) and are not part of that decision.
|
|
10
|
+
*/
|
|
11
|
+
export interface LocalCommandCopy {
|
|
12
|
+
text: string;
|
|
13
|
+
translated: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function themeCommandCopy(tr: AssistantTr, plan: {
|
|
16
|
+
alreadyApplied: boolean;
|
|
17
|
+
mode: ThemeModeValue;
|
|
18
|
+
}, familyRequest: boolean): LocalCommandCopy;
|
|
19
|
+
export declare function navigationCommandCopy(tr: AssistantTr, page: string, alreadyHere: boolean): LocalCommandCopy;
|
|
20
|
+
/**
|
|
21
|
+
* More than one place has that name: offer each as a link. The links route
|
|
22
|
+
* through the panel's `onNavigate` like any other in the thread; nothing is
|
|
23
|
+
* opened until the person picks one.
|
|
24
|
+
*/
|
|
25
|
+
export declare function chooseDestinationCopy(tr: AssistantTr, page: string, candidates: readonly LocalDestination[]): LocalCommandCopy;
|
|
26
|
+
//# sourceMappingURL=localUiCommandCopy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localUiCommandCopy.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/localUiCommandCopy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AA8CD,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,WAAW,EACf,IAAI,EAAE;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,EACvD,aAAa,EAAE,OAAO,GACrB,gBAAgB,CAiClB;AAaD,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,GACnB,gBAAgB,CAOlB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,SAAS,gBAAgB,EAAE,GACtC,gBAAgB,CAYlB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { interpolate as e } from "../providers/shell/interpolate.js";
|
|
2
|
+
//#region src/shared/assistant/localUiCommandCopy.ts
|
|
3
|
+
function t(e, t) {
|
|
4
|
+
switch (t) {
|
|
5
|
+
case "light": return [e("localCommand.themeLight", "light"), "light"];
|
|
6
|
+
case "dark": return [e("localCommand.themeDark", "dark"), "dark"];
|
|
7
|
+
case "high-contrast": return [e("localCommand.themeHighContrast", "high-contrast"), "high-contrast"];
|
|
8
|
+
case "forest": return "Forest";
|
|
9
|
+
case "ocean": return "Ocean";
|
|
10
|
+
case "sunset": return "Sunset";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function n(e, t) {
|
|
14
|
+
let n = e.every(([e, t]) => e !== t);
|
|
15
|
+
return {
|
|
16
|
+
text: t(e.map(([e, t]) => n ? e : t)),
|
|
17
|
+
translated: n
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
var r = (t, n) => e(t, n);
|
|
21
|
+
function i(e, i, a) {
|
|
22
|
+
if (i.mode === "system") return n([i.alreadyApplied ? [e("localCommand.alreadyFollowingDevice", "The theme already follows your device."), "The theme already follows your device."] : [e("localCommand.followingDevice", "The theme now follows your device."), "The theme now follows your device."]], ([e]) => e ?? "");
|
|
23
|
+
let o = t(e, i.mode), s = i.alreadyApplied ? a ? [e("localCommand.themeAlreadyFamily", "You're already on a {{theme}} theme."), "You're already on a {{theme}} theme."] : [e("localCommand.themeAlreadyNamed", "The {{theme}} theme is already on."), "The {{theme}} theme is already on."] : [e("localCommand.themeSet", "Switched to the {{theme}} theme."), "Switched to the {{theme}} theme."];
|
|
24
|
+
return typeof o == "string" ? n([s], ([e]) => r(e ?? "", { theme: o })) : n([s, o], ([e, t]) => r(e ?? "", { theme: t ?? "" }));
|
|
25
|
+
}
|
|
26
|
+
var a = (e) => e.replace(/\s+/g, " ").replace(/([\\`*_{}[\]()<>#+!|~])/g, "\\$1"), o = (e) => encodeURI(e).replace(/\(/g, "%28").replace(/\)/g, "%29");
|
|
27
|
+
function s(e, t, i) {
|
|
28
|
+
return n([i ? [e("localCommand.alreadyHere", "You're already on {{page}}."), "You're already on {{page}}."] : [e("localCommand.opened", "Opened {{page}}."), "Opened {{page}}."]], ([e]) => r(e ?? "", { page: a(t) }));
|
|
29
|
+
}
|
|
30
|
+
function c(e, t, i) {
|
|
31
|
+
return n([[e("localCommand.choose", "More than one page is called “{{page}}”. Which one?"), "More than one page is called “{{page}}”. Which one?"]], ([e]) => {
|
|
32
|
+
let n = i.map((e) => `- [${a(e.label)}](${o(e.path)})${e.context ? ` — ${a(e.context)}` : ""}`);
|
|
33
|
+
return `${r(e ?? "", { page: a(t) })}\n\n${n.join("\n")}`;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { c as chooseDestinationCopy, s as navigationCommandCopy, i as themeCommandCopy };
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ★ BOFF-7802 (Phase 6 v1) — UI commands the panel carries out ITSELF.
|
|
3
|
+
*
|
|
4
|
+
* "dark mode" or "go to settings" used to provision a sandbox, cold-start a
|
|
5
|
+
* model and wait ~25s for an answer that could only describe the change or
|
|
6
|
+
* link to the page. These are recognised here, on the WHOLE utterance, and
|
|
7
|
+
* executed in the page with no turn at all.
|
|
8
|
+
*
|
|
9
|
+
* The grammar is strict on purpose. A miss costs only latency — the text goes
|
|
10
|
+
* to the sandbox exactly as before — but a false match acts on a sentence that
|
|
11
|
+
* meant something else. So:
|
|
12
|
+
*
|
|
13
|
+
* - the whole utterance must be the command: "dark mode and show my fields"
|
|
14
|
+
* falls through;
|
|
15
|
+
* - navigation reaches only a destination the SIDEBAR offers (what
|
|
16
|
+
* `useVisibleNavItems` shows this person), by its exact label. A label no
|
|
17
|
+
* destination has is never guessed at — it falls through, and the model can
|
|
18
|
+
* still answer with a link. Paths come from the registry, never from text;
|
|
19
|
+
* - "open a task" / "open new tasks" name no page, so they reach the model
|
|
20
|
+
* ("a"/"an" are never stripped — only "the"/"my"/"our");
|
|
21
|
+
* - English only for now; other languages fall through;
|
|
22
|
+
* - ★★ a bare "yes"/"ok"/"go ahead" is NEVER matched: the sandbox reads a reply
|
|
23
|
+
* as approval of a pending write (`consumeRepliedTurnApproval`), and
|
|
24
|
+
* swallowing it here would bring back the write deadlock.
|
|
25
|
+
*/
|
|
26
|
+
export type ThemeFamily = "light" | "dark";
|
|
27
|
+
/** Named themes a person can ask for, beyond the plain light/dark family. */
|
|
28
|
+
export type NamedTheme = "forest" | "ocean" | "sunset" | "high-contrast" | "system";
|
|
29
|
+
export type ThemeRequest = {
|
|
30
|
+
kind: "family";
|
|
31
|
+
family: ThemeFamily;
|
|
32
|
+
} | {
|
|
33
|
+
kind: "named";
|
|
34
|
+
theme: NamedTheme;
|
|
35
|
+
};
|
|
36
|
+
/** A place the person can be taken: an entry in the app's navigation. */
|
|
37
|
+
export interface LocalDestination {
|
|
38
|
+
id: string;
|
|
39
|
+
label: string;
|
|
40
|
+
path: string;
|
|
41
|
+
/** The parent entry's label, shown when two destinations share a label. */
|
|
42
|
+
context?: string;
|
|
43
|
+
/** The sidebar group's id: a word a person may say ("workspace settings"), never shown. */
|
|
44
|
+
group?: string;
|
|
45
|
+
}
|
|
46
|
+
export type LocalUiCommand = {
|
|
47
|
+
kind: "theme";
|
|
48
|
+
request: ThemeRequest;
|
|
49
|
+
} | {
|
|
50
|
+
kind: "navigate";
|
|
51
|
+
destination: LocalDestination;
|
|
52
|
+
} | {
|
|
53
|
+
kind: "choose-destination";
|
|
54
|
+
query: string;
|
|
55
|
+
candidates: LocalDestination[];
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* `canonical`, with courtesy words at either end removed, so "Could you switch
|
|
59
|
+
* to dark mode, please?" and "switch to dark mode" are one command. Only ever
|
|
60
|
+
* applied to what was SAID — a label like "Buy Now" is matched as written.
|
|
61
|
+
*/
|
|
62
|
+
export declare function normaliseUtterance(text: string, options?: {
|
|
63
|
+
keepEnding?: boolean;
|
|
64
|
+
}): string;
|
|
65
|
+
/** Per-product tuning of the grammar (see `AssistantProductCapabilities`). */
|
|
66
|
+
export interface LocalUiCommandOptions {
|
|
67
|
+
/**
|
|
68
|
+
* `mode-only`: the product's CONTENT has themes of its own (a BigConsole
|
|
69
|
+
* dashboard: "use the dark theme"), so only "<name> mode" — or a theme
|
|
70
|
+
* qualified as the app's ("change the app theme to dark") — sets the APP
|
|
71
|
+
* theme. Default `any`.
|
|
72
|
+
*/
|
|
73
|
+
themeWords?: "any" | "mode-only";
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The command this whole utterance is, or null to send it to the model.
|
|
77
|
+
* `destinations` is what the person can see in the app's navigation.
|
|
78
|
+
*/
|
|
79
|
+
export declare function matchLocalUiCommand(text: string, destinations: readonly LocalDestination[], options?: LocalUiCommandOptions): LocalUiCommand | null;
|
|
80
|
+
/** The shape of a navigation entry this needs (`VisibleNavItem` fits it). */
|
|
81
|
+
export interface NavEntryLike {
|
|
82
|
+
id: string;
|
|
83
|
+
label: string;
|
|
84
|
+
path: string;
|
|
85
|
+
group?: string;
|
|
86
|
+
children?: readonly NavEntryLike[];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Every in-app place in a navigation tree, children included. Only real
|
|
90
|
+
* in-app paths: a container without one, an external link and the sidebar's
|
|
91
|
+
* synthetic "N more…" rows are not destinations (their children are).
|
|
92
|
+
*/
|
|
93
|
+
export declare function navDestinations(entries: readonly NavEntryLike[], parent?: string): LocalDestination[];
|
|
94
|
+
/** The concrete theme `setMode` takes. */
|
|
95
|
+
export type ThemeModeValue = "light" | "dark" | NamedTheme;
|
|
96
|
+
/**
|
|
97
|
+
* What a theme request does given the current theme — SET semantics, never a
|
|
98
|
+
* toggle. A family request is already satisfied by any theme of that family:
|
|
99
|
+
* "dark mode" while on Ocean changes nothing, rather than replacing Ocean.
|
|
100
|
+
*/
|
|
101
|
+
export declare function planThemeChange(request: ThemeRequest, current: {
|
|
102
|
+
mode: string;
|
|
103
|
+
resolvedTheme: ThemeFamily;
|
|
104
|
+
}): {
|
|
105
|
+
alreadyApplied: boolean;
|
|
106
|
+
mode: ThemeModeValue;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Is the person already there? `current` is the pathname PLUS search. Paths
|
|
110
|
+
* compare without a trailing slash; a destination with a query is here only
|
|
111
|
+
* when the query matches too — "Archived" and "Channels" can be one path with
|
|
112
|
+
* different filters, and the review found nav trees built exactly that way.
|
|
113
|
+
* A destination without a query is here on any query of its path.
|
|
114
|
+
*/
|
|
115
|
+
export declare function isCurrentPath(path: string, current: string): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Already at `destination`? `isCurrentPath`, plus the one case it cannot see
|
|
118
|
+
* alone: a destination WITHOUT a query ("All conversations", `/list`) is not
|
|
119
|
+
* where the person is when a sibling with the same path names the query they
|
|
120
|
+
* are on ("Archived", `/list?filter=archived`) — they are on the sibling, and
|
|
121
|
+
* asking for the unfiltered page must take them there (review round 3).
|
|
122
|
+
*/
|
|
123
|
+
export declare function isAlreadyThere(destination: LocalDestination, current: string, destinations: readonly LocalDestination[]): boolean;
|
|
124
|
+
//# sourceMappingURL=localUiCommands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localUiCommands.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/localUiCommands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAC3C,6EAA6E;AAC7E,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,CAAC;AAEpF,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzC,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,gBAAgB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAwBlF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACrC,MAAM,CAeR;AA+JD,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,SAAS,gBAAgB,EAAE,EACzC,OAAO,GAAE,qBAA0B,GAClC,cAAc,GAAG,IAAI,CAmCvB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CACpC;AAKD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,EAAE,CAuBpB;AAID,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,WAAW,CAAA;CAAE,GACpD;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAOnD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAapE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,SAAS,gBAAgB,EAAE,GACxC,OAAO,CAST"}
|