@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.
Files changed (52) hide show
  1. package/dist/chrome/Footer.d.ts +1 -1
  2. package/dist/chrome/Footer.js +2 -2
  3. package/dist/chrome/MobileTabBar.js +6 -6
  4. package/dist/chrome/ProductSideNav.js +9 -9
  5. package/dist/chrome/ProductSwitcher.d.ts +1 -1
  6. package/dist/chrome/sideNavigation/useSideNavigationState.js +3 -3
  7. package/dist/chrome.js +8 -8
  8. package/dist/shared/assistant/autoRouting.d.ts +3 -0
  9. package/dist/shared/assistant/autoRouting.d.ts.map +1 -1
  10. package/dist/shared/assistant/autoRouting.js +1 -1
  11. package/dist/shared/assistant/conversation.d.ts +20 -0
  12. package/dist/shared/assistant/conversation.d.ts.map +1 -1
  13. package/dist/shared/assistant/i18nManifest.d.ts +11 -0
  14. package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
  15. package/dist/shared/assistant/i18nManifest.js +11 -0
  16. package/dist/shared/assistant/index.d.ts +2 -0
  17. package/dist/shared/assistant/index.d.ts.map +1 -1
  18. package/dist/shared/assistant/localUiCommandCopy.d.ts +26 -0
  19. package/dist/shared/assistant/localUiCommandCopy.d.ts.map +1 -0
  20. package/dist/shared/assistant/localUiCommandCopy.js +37 -0
  21. package/dist/shared/assistant/localUiCommands.d.ts +124 -0
  22. package/dist/shared/assistant/localUiCommands.d.ts.map +1 -0
  23. package/dist/shared/assistant/localUiCommands.js +173 -0
  24. package/dist/shared/assistant/product.d.ts +13 -1
  25. package/dist/shared/assistant/product.d.ts.map +1 -1
  26. package/dist/shared/assistant/product.js +8 -6
  27. package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
  28. package/dist/shared/assistant/ui/AssistantChatArea.js +615 -524
  29. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts +6 -0
  30. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
  31. package/dist/shared/assistant/ui/AssistantMessageItem.js +3 -3
  32. package/dist/shared/assistant/ui/AssistantMessageList.d.ts.map +1 -1
  33. package/dist/shared/assistant/ui/AssistantMessageList.js +14 -7
  34. package/dist/shared/assistant/ui/AssistantSpeechProvider.d.ts +9 -0
  35. package/dist/shared/assistant/ui/AssistantSpeechProvider.d.ts.map +1 -1
  36. package/dist/shared/assistant/ui/AssistantSpeechProvider.js +243 -196
  37. package/dist/shared/assistant/ui/useVoiceSession.d.ts.map +1 -1
  38. package/dist/shared/assistant/ui/useVoiceSession.js +44 -43
  39. package/dist/shared/assistant/voice/captionText.d.ts.map +1 -1
  40. package/dist/shared/assistant/voice/captionText.js +1 -1
  41. package/dist/shared/assistant/voice/speakableText.d.ts.map +1 -1
  42. package/dist/shared/assistant/voice/speakableText.js +63 -62
  43. package/dist/shared/config/products.js +1 -1
  44. package/dist/shared/hooks/shell/index.d.ts +1 -1
  45. package/dist/shared/hooks/shell/index.d.ts.map +1 -1
  46. package/dist/shared/providers/shell/ThemeProvider.d.ts +6 -0
  47. package/dist/shared/providers/shell/ThemeProvider.d.ts.map +1 -1
  48. package/dist/shared/providers/shell/ThemeProvider.js +28 -25
  49. package/dist/shared/types/index.d.ts +1 -1
  50. package/dist/shared-assistant.js +16 -14
  51. package/dist/shared-hooks-shell.js +12 -12
  52. package/package.json +1 -1
@@ -0,0 +1,173 @@
1
+ //#region src/shared/assistant/localUiCommands.ts
2
+ var e = /^(?:(?:hey|hi|so|now|and|then|you know|just|actually|basically)\b ?|(?:please|pls|kindly)\b ?|(?:can|could|would|will) (?:you|u)\b(?: please)? ?|i (?:want|would like|d like)(?: you)?(?: to)?\b ?|let s\b ?)/, t = /^(?:(?:hey|hi|so|ok|okay)\W+)*(?:please\W+)?(?:can|could|would|will) (?:you|u)\b/i, n = / (?:please|pls|for me|now|thanks|thank you|right now)$/;
3
+ function r(e) {
4
+ return e.normalize("NFKC").toLowerCase().replace(/&/g, " and ").replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
5
+ }
6
+ function i(t, i = {}) {
7
+ let a = r(t).replace(/\b(?:um+|uh+|erm|er|hmm+)\b/g, " ").replace(/\s+/g, " ").replace(/\b(\w+)(?: \1\b)+/g, "$1").trim();
8
+ for (;;) {
9
+ let t = a.replace(e, "");
10
+ if (i.keepEnding || (t = t.replace(n, "")), t = t.trim(), t === a) return a;
11
+ a = t;
12
+ }
13
+ }
14
+ var a = {
15
+ light: {
16
+ kind: "family",
17
+ family: "light"
18
+ },
19
+ dark: {
20
+ kind: "family",
21
+ family: "dark"
22
+ },
23
+ forest: {
24
+ kind: "named",
25
+ theme: "forest"
26
+ },
27
+ ocean: {
28
+ kind: "named",
29
+ theme: "ocean"
30
+ },
31
+ sunset: {
32
+ kind: "named",
33
+ theme: "sunset"
34
+ },
35
+ "high contrast": {
36
+ kind: "named",
37
+ theme: "high-contrast"
38
+ },
39
+ highcontrast: {
40
+ kind: "named",
41
+ theme: "high-contrast"
42
+ },
43
+ system: {
44
+ kind: "named",
45
+ theme: "system"
46
+ },
47
+ device: {
48
+ kind: "named",
49
+ theme: "system"
50
+ },
51
+ os: {
52
+ kind: "named",
53
+ theme: "system"
54
+ }
55
+ }, o = "(light|dark|forest|ocean|sunset|high contrast|highcontrast|system|device)", s = "(?:(?:the|my) )?(?:(?:app|ui|screen|display|interface|site) )?(?:theme|colou?r scheme|colou?r mode|appearance)", c = "(mode|theme|colou?r scheme|colou?r mode|appearance)", l = "(?:switch|change|set|turn|put|make|flip)", u = [
56
+ { pattern: RegExp(`^(?:${l}(?: (?:over|back))? (?:to|into) |go (?:back )?to |(?:turn|switch) on |(?:use|enable|activate|apply|try|turn|switch|set) )?(?:(?:the|a) )?${o} ${c}(?: on)?$`) },
57
+ { pattern: RegExp(`^${l} ${s} (?:to|into|back to) (?:(?:the|a) )?${o}(?: ${c})?$`) },
58
+ { pattern: /^(?:switch|change|go)(?: back)? to (light|dark)()$/ },
59
+ {
60
+ pattern: RegExp(`^(?:(?:turn|switch) off|disable|deactivate|exit|leave) (?:the )?(light|dark) ${c}$`),
61
+ invert: !0
62
+ },
63
+ {
64
+ pattern: RegExp(`^(?:(?:turn|switch|set) )?(?:the )?(light|dark) ${c} off$`),
65
+ invert: !0
66
+ },
67
+ { pattern: /^(?:set|make|change) (?:the |my )?(?:theme|appearance) (?:to )?(?:follow|match|use) (?:my|the) (device|system|os)()(?: (?:theme|appearance))?$/ },
68
+ { pattern: /^(?:follow|match|use) (?:my|the) (device|system|os)() (?:theme|appearance)$/ },
69
+ { pattern: /^(?:turn on|switch on|enable|use|activate|switch to) (?:the )?(high contrast|highcontrast)()$/ }
70
+ ];
71
+ function d(e) {
72
+ for (let { pattern: t, invert: n } of u) {
73
+ let r = t.exec(e);
74
+ if (!r) continue;
75
+ let i = a[r[1] ?? ""];
76
+ if (i) return i.kind === "named" && i.theme === "system" && r[2] === "mode" ? null : n ? i.kind === "family" ? {
77
+ kind: "family",
78
+ family: i.family === "dark" ? "light" : "dark"
79
+ } : null : i;
80
+ }
81
+ return null;
82
+ }
83
+ var f = /^(?:(?:(?:go|navigate|take me|bring me|jump|head|get me|move|switch)(?: back| over)?|back) (?:to|too)|open(?: up)?|(?:pull|bring) up|visit|show me)\s+(.+)$/, p = /^(?:the )?(.+) (?:page|screen)$/, m = /(?:^| )(?:tasks?|issues?|tickets?|orders?|invoices?|alerts?|requests?|jobs?|incidents?|bugs?|cases?|deals?|items?|questions?|sessions?|positions?|pull requests?|prs?|work orders?|approvals?|actions?|applications?)$/, h = /^(?:ai|a i|api|a p i|id|data|source|access|banking|graph|search|telemetry|stack|house|field|fields|space|market|mic)$/, g = / (?:page|screen|section|tab)$/;
84
+ function _(e) {
85
+ let t = /* @__PURE__ */ new Map(), n = (e, n) => {
86
+ if (!e) return;
87
+ let r = t.get(e) ?? [];
88
+ r.some((e) => e.path === n.path) || r.push(n), t.set(e, r);
89
+ };
90
+ for (let t of e) {
91
+ let e = r(t.label);
92
+ n(e, t), t.context && n(`${r(t.context)} ${e}`, t), t.group && n(`${r(t.group)} ${e}`, t);
93
+ }
94
+ for (let [e, r] of [...t]) for (let t of r) n(`\u0000${e.replace(/ /g, "")}`, t);
95
+ return t;
96
+ }
97
+ function v(e, t) {
98
+ let n = f.exec(e) ?? p.exec(e);
99
+ if (!n) return null;
100
+ let r = n[1] ?? "", i = e.startsWith("show me "), a = /^open /.test(e), o = r.replace(/^(?:the|my|our) /, ""), s = o.replace(g, ""), c = s !== o || p.test(e);
101
+ if (i && !c || a && o === r && !c && (m.test(o) || h.test(o) || /^\w{1,3}$/.test(o))) return null;
102
+ let l = _(t), u = (e) => l.get(e) ?? l.get(`\u0000${e.replace(/ /g, "")}`), d = u(o) ?? (s === o ? void 0 : u(s));
103
+ return !d || d.length === 0 ? null : d.length === 1 ? {
104
+ kind: "navigate",
105
+ destination: d[0]
106
+ } : {
107
+ kind: "choose-destination",
108
+ query: s,
109
+ candidates: d
110
+ };
111
+ }
112
+ function y(e, n, r = {}) {
113
+ let a = e.normalize("NFKC").trim();
114
+ if (/[\p{Extended_Pictographic}\p{So}]/u.test(a) || /(?:^|\s)>?[:;=][-'^]?[()[\]/\\|pPdDoO3*@$]+(?=\s|$)/.test(a) || /(?:^|\s)(?:xD|XD|-_-|T_T|<\/?3)(?=\s|$)/.test(a) || /[?¿؟][^\p{L}\p{N}]*$/u.test(a) && !t.test(a)) return null;
115
+ let o = i(e);
116
+ if (!o || o.length > 80) return null;
117
+ let s = d(o);
118
+ return s ? r.themeWords === "mode-only" && /\b(?:theme|appearance|colou?r scheme)\b/.test(o) && !/\b(?:app|ui|interface)\b/.test(o) ? null : {
119
+ kind: "theme",
120
+ request: s
121
+ } : v(i(e, { keepEnding: !0 }), n) ?? v(o, n);
122
+ }
123
+ var b = /^__nav_more__:/;
124
+ function x(e, t) {
125
+ let n = [];
126
+ for (let r of e) {
127
+ let e = b.test(r.id);
128
+ !e && r.path.startsWith("/") && !r.path.startsWith("//") && r.label.trim() && n.push({
129
+ id: r.id,
130
+ label: r.label,
131
+ path: r.path,
132
+ ...t ? { context: t } : {},
133
+ ...r.group ? { group: r.group } : {}
134
+ }), r.children?.length && n.push(...x(r.children, e ? t : r.label));
135
+ }
136
+ return n;
137
+ }
138
+ function S(e, t) {
139
+ return e.kind === "family" ? {
140
+ alreadyApplied: t.resolvedTheme === e.family,
141
+ mode: e.family
142
+ } : {
143
+ alreadyApplied: t.mode === e.theme,
144
+ mode: e.theme
145
+ };
146
+ }
147
+ function C(e, t) {
148
+ let n = (e) => {
149
+ let [t = ""] = e.split("#"), [n = "", r = ""] = t.split("?"), i = n.length > 1 ? n.replace(/\/+$/, "") : n, a = new URLSearchParams(r);
150
+ return a.sort(), {
151
+ pathname: i,
152
+ query: a.toString()
153
+ };
154
+ }, r = n(e), i = n(t);
155
+ return r.pathname === i.pathname ? r.query === "" || r.query === i.query : !1;
156
+ }
157
+ function w(e, t, n) {
158
+ return C(e.path, t) ? e.path.includes("?") ? !0 : !n.some((n) => n.path !== e.path && n.path.includes("?") && T(n.path, t)) : !1;
159
+ }
160
+ function T(e, t) {
161
+ let n = (e) => {
162
+ let [t = ""] = e.split("#"), [n = "", r = ""] = t.split("?");
163
+ return {
164
+ pathname: n.length > 1 ? n.replace(/\/+$/, "") : n,
165
+ params: new URLSearchParams(r)
166
+ };
167
+ }, r = n(e), i = n(t);
168
+ if (r.pathname !== i.pathname) return !1;
169
+ for (let [e, t] of r.params) if (!i.params.getAll(e).includes(t)) return !1;
170
+ return !0;
171
+ }
172
+ //#endregion
173
+ export { w as isAlreadyThere, C as isCurrentPath, y as matchLocalUiCommand, x as navDestinations, i as normaliseUtterance, S as planThemeChange };
@@ -1,3 +1,4 @@
1
+ import { LocalUiCommandOptions } from './localUiCommands';
1
2
  import { ReactNode } from 'react';
2
3
  import { AssistantModeConfig } from './conversation';
3
4
  import { AssistantMode, PageContext } from './types';
@@ -96,6 +97,17 @@ export interface AssistantProductCapabilities {
96
97
  attachments: string;
97
98
  artifacts: string;
98
99
  };
100
+ /**
101
+ * How the panel reads a UI command it carries out itself (BOFF-7802).
102
+ *
103
+ * ★ Irreducible: only the product knows whether its CONTENT has themes of
104
+ * its own. Where it does — a dashboard builder, a document designer — "use
105
+ * the dark theme" is about the content, and must reach the model rather than
106
+ * change the app. Shared code cannot tell, and the default (`any`) is right
107
+ * for every product whose content has none. `{ themeWords: "mode-only" }`
108
+ * keeps "<name> mode" and the app's own theme ("change the app theme").
109
+ */
110
+ localUiCommands?: LocalUiCommandOptions;
99
111
  }
100
112
  export interface AssistantProductValue extends AssistantProductCapabilities {
101
113
  /**
@@ -113,7 +125,7 @@ export interface AssistantProductProviderProps extends AssistantProductCapabilit
113
125
  * Mount once, above the assistant. Everything below can ask what product it is
114
126
  * running inside and what that product offers.
115
127
  */
116
- export declare function AssistantProductProvider({ product, modes, describeCurrentPage, gatherPageContext, buildPrompt, reportTokenUsage, storageFolders, children, }: AssistantProductProviderProps): import("react/jsx-runtime").JSX.Element;
128
+ export declare function AssistantProductProvider({ product, modes, describeCurrentPage, gatherPageContext, buildPrompt, reportTokenUsage, storageFolders, localUiCommands, children, }: AssistantProductProviderProps): import("react/jsx-runtime").JSX.Element;
117
129
  /** The product in force, or null when no provider is mounted. */
118
130
  export declare function useAssistantProductOrNull(): AssistantProductValue | null;
119
131
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/product.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC1C;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,WAAW,CAAC;IACtC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,CACZ,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,CAAC,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,OAAO,KACf,MAAM,CAAC;IACZ;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3C,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAED,MAAM,WAAW,qBAAsB,SAAQ,4BAA4B;IACzE;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,6BAA8B,SAAQ,4BAA4B;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,QAAQ,GACT,EAAE,6BAA6B,2CAwB/B;AAED,iEAAiE;AACjE,wBAAgB,yBAAyB,IAAI,qBAAqB,GAAG,IAAI,CAExE;AAID;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,qBAAqB,CAE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,mBAAmB,GAAG,SAAS,CAEjC;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,IAAI;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAYA;AAWD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,OAAc,GAAG,MAAM,GAAG,IAAI,CAqB3E"}
1
+ {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/product.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC1C;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,WAAW,CAAC;IACtC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,CACZ,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,CAAC,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,OAAO,KACf,MAAM,CAAC;IACZ;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3C,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,WAAW,qBAAsB,SAAQ,4BAA4B;IACzE;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,6BAA8B,SAAQ,4BAA4B;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,QAAQ,GACT,EAAE,6BAA6B,2CA0B/B;AAED,iEAAiE;AACjE,wBAAgB,yBAAyB,IAAI,qBAAqB,GAAG,IAAI,CAExE;AAID;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,qBAAqB,CAE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,mBAAmB,GAAG,SAAS,CAEjC;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,IAAI;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAYA;AAWD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,OAAc,GAAG,MAAM,GAAG,IAAI,CAqB3E"}
@@ -2,15 +2,16 @@ import { createContext as e, useContext as t, useEffect as n, useMemo as r, useS
2
2
  import { jsx as a } from "react/jsx-runtime";
3
3
  //#region src/shared/assistant/product.tsx
4
4
  var o = e(null);
5
- function s({ product: e, modes: t, describeCurrentPage: n, gatherPageContext: i, buildPrompt: s, reportTokenUsage: c, storageFolders: l, children: u }) {
6
- let d = r(() => ({
5
+ function s({ product: e, modes: t, describeCurrentPage: n, gatherPageContext: i, buildPrompt: s, reportTokenUsage: c, storageFolders: l, localUiCommands: u, children: d }) {
6
+ let f = r(() => ({
7
7
  product: e,
8
8
  modes: t,
9
9
  describeCurrentPage: n,
10
10
  gatherPageContext: i,
11
11
  buildPrompt: s,
12
12
  reportTokenUsage: c,
13
- storageFolders: l
13
+ storageFolders: l,
14
+ localUiCommands: u
14
15
  }), [
15
16
  e,
16
17
  t,
@@ -18,11 +19,12 @@ function s({ product: e, modes: t, describeCurrentPage: n, gatherPageContext: i,
18
19
  i,
19
20
  s,
20
21
  c,
21
- l
22
+ l,
23
+ u
22
24
  ]);
23
25
  return /* @__PURE__ */ a(o.Provider, {
24
- value: d,
25
- children: u
26
+ value: f,
27
+ children: d
26
28
  });
27
29
  }
28
30
  function c() {
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AA6Hf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AA6DvE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAygGxD,CAAC"}
1
+ {"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAmIf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AA+EvE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA6qGxD,CAAC"}