@burdenoff/fe-libs 2026.1004.4 → 2026.1004.6
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/ContextSwitcher.d.ts.map +1 -1
- package/dist/chrome/ContextSwitcher.js +73 -50
- package/dist/chrome/GlobalSearch.d.ts.map +1 -1
- package/dist/chrome/GlobalSearch.js +76 -72
- package/dist/chrome/LanguageSwitcher.d.ts.map +1 -1
- package/dist/chrome/LanguageSwitcher.js +61 -40
- package/dist/chrome/NotificationCenter.d.ts.map +1 -1
- package/dist/chrome/NotificationCenter.js +71 -68
- package/dist/chrome/ProfileSwitcher.d.ts.map +1 -1
- package/dist/chrome/ProfileSwitcher.js +87 -81
- package/dist/chrome/SideNavigation.d.ts.map +1 -1
- package/dist/chrome/SideNavigation.js +120 -76
- package/dist/shared/assistant/appControls/copy.d.ts +12 -0
- package/dist/shared/assistant/appControls/copy.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/copy.js +98 -0
- package/dist/shared/assistant/appControls/grammar.d.ts +102 -0
- package/dist/shared/assistant/appControls/grammar.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/grammar.js +236 -0
- package/dist/shared/assistant/appControls/languages.d.ts +6 -0
- package/dist/shared/assistant/appControls/languages.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/languages.js +52 -0
- package/dist/shared/assistant/appControls/names.d.ts +22 -0
- package/dist/shared/assistant/appControls/names.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/names.js +29 -0
- package/dist/shared/assistant/appControls/pageAdapters.d.ts +59 -0
- package/dist/shared/assistant/appControls/pageAdapters.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/pageAdapters.js +87 -0
- package/dist/shared/assistant/appControls/plan.d.ts +148 -0
- package/dist/shared/assistant/appControls/plan.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/plan.js +511 -0
- package/dist/shared/assistant/appControls/registry.d.ts +9 -0
- package/dist/shared/assistant/appControls/registry.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/registry.js +38 -0
- package/dist/shared/assistant/appControls/snapshot.d.ts +42 -0
- package/dist/shared/assistant/appControls/snapshot.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/snapshot.js +40 -0
- package/dist/shared/assistant/appControls/text.d.ts +7 -0
- package/dist/shared/assistant/appControls/text.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/text.js +6 -0
- package/dist/shared/assistant/appControls/types.d.ts +183 -0
- package/dist/shared/assistant/appControls/types.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/types.js +25 -0
- package/dist/shared/assistant/appControls/useAssistantControl.d.ts +24 -0
- package/dist/shared/assistant/appControls/useAssistantControl.d.ts.map +1 -0
- package/dist/shared/assistant/appControls/useAssistantControl.js +13 -0
- package/dist/shared/assistant/conversation.d.ts +12 -1
- package/dist/shared/assistant/conversation.d.ts.map +1 -1
- package/dist/shared/assistant/history/historyMapping.d.ts.map +1 -1
- package/dist/shared/assistant/history/historyMapping.js +130 -114
- package/dist/shared/assistant/i18nManifest.d.ts +74 -0
- package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.js +86 -12
- package/dist/shared/assistant/index.d.ts +16 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/localUiCommandCopy.d.ts +7 -0
- package/dist/shared/assistant/localUiCommandCopy.d.ts.map +1 -1
- package/dist/shared/assistant/localUiCommandCopy.js +1 -1
- package/dist/shared/assistant/localUiCommands.d.ts +16 -0
- package/dist/shared/assistant/localUiCommands.d.ts.map +1 -1
- package/dist/shared/assistant/localUiCommands.js +92 -84
- 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 +52 -44
- package/dist/shared/assistant/ui/AIAssistantPanel.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AIAssistantPanel.js +57 -49
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +1085 -1016
- package/dist/shared/assistant/ui/AssistantControlConfirmDialog.d.ts +38 -0
- package/dist/shared/assistant/ui/AssistantControlConfirmDialog.d.ts.map +1 -0
- package/dist/shared/assistant/ui/AssistantControlConfirmDialog.js +65 -0
- package/dist/shared/assistant/ui/AssistantMoreMenu.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantMoreMenu.js +58 -56
- package/dist/shared/assistant/ui/AssistantSpeechProvider.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantSpeechProvider.js +106 -105
- package/dist/shared/assistant/ui/composer/AssistantVoiceGraceSelector.d.ts +20 -0
- package/dist/shared/assistant/ui/composer/AssistantVoiceGraceSelector.d.ts.map +1 -0
- package/dist/shared/assistant/ui/composer/AssistantVoiceGraceSelector.js +39 -0
- package/dist/shared/assistant/ui/controlConfirmDialog.d.ts +30 -0
- package/dist/shared/assistant/ui/controlConfirmDialog.d.ts.map +1 -0
- package/dist/shared/assistant/ui/controlConfirmDialog.js +46 -0
- package/dist/shared/assistant/ui/useVoiceSession.d.ts +35 -2
- package/dist/shared/assistant/ui/useVoiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/ui/useVoiceSession.js +232 -171
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts +15 -1
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +173 -150
- package/dist/shared/assistant/voice/handsFree.d.ts +160 -0
- package/dist/shared/assistant/voice/handsFree.d.ts.map +1 -0
- package/dist/shared/assistant/voice/handsFree.js +104 -0
- package/dist/shared/assistant/voice/supersededTurns.d.ts +29 -0
- package/dist/shared/assistant/voice/supersededTurns.d.ts.map +1 -0
- package/dist/shared/assistant/voice/supersededTurns.js +17 -0
- package/dist/shared/assistant/voice/useVoiceInput.d.ts +7 -0
- package/dist/shared/assistant/voice/useVoiceInput.d.ts.map +1 -1
- package/dist/shared/assistant/voice/useVoiceInput.js +13 -10
- package/dist/shared/assistant/voice/voiceSession.d.ts +64 -20
- package/dist/shared/assistant/voice/voiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/voice/voiceSession.js +120 -67
- package/dist/shared/components/KeyboardHelpDialogWrapper.d.ts.map +1 -1
- package/dist/shared/components/KeyboardHelpDialogWrapper.js +11 -9
- package/dist/shared/providers/shell/GlobalUiProvider.d.ts +2 -0
- package/dist/shared/providers/shell/GlobalUiProvider.d.ts.map +1 -1
- package/dist/shared/providers/shell/GlobalUiProvider.js +4 -1
- package/dist/shared-assistant.js +219 -203
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AssistantConversationProcessing, AssistantConversationStatus, AssistantMessageMetadata, AssistantSandboxRuntime, AssistantSandboxStatus, AssistantTurnStage, Conversation, ConversationRouting, ConversationSyncStamp, Message, MessageHistoryState } from './conversation';
|
|
2
|
+
import { VoiceGraceMs } from './voice/handsFree';
|
|
2
3
|
import { AssistantMode } from './types';
|
|
3
4
|
import { SandboxWriteCapabilities } from './writeProposals';
|
|
4
5
|
interface AssistantState {
|
|
@@ -87,6 +88,13 @@ interface AssistantState {
|
|
|
87
88
|
* falling back to the ranking rather than by trying to sync it.
|
|
88
89
|
*/
|
|
89
90
|
preferredVoices: Record<string, string>;
|
|
91
|
+
/**
|
|
92
|
+
* H1: how long, in silence, a hands-free voice session waits before it sends
|
|
93
|
+
* what was said — 2 s (the default), 3 s or 5 s. Per profile, persisted. The
|
|
94
|
+
* ONE value the submit timer uses (`planSubmitTimer`); anything else found
|
|
95
|
+
* in storage reads back as the default (`resolveVoiceGraceMs`).
|
|
96
|
+
*/
|
|
97
|
+
voiceGraceMs: VoiceGraceMs;
|
|
90
98
|
/**
|
|
91
99
|
* With no `mode`, a new conversation in whatever is SELECTED: Auto's while
|
|
92
100
|
* Auto is (BOFF-7800), otherwise the mode the person picked — never
|
|
@@ -165,6 +173,8 @@ interface AssistantState {
|
|
|
165
173
|
setReplyLanguage: (code: string | null) => void;
|
|
166
174
|
/** `null` clears the pick for that language, restoring the ranked default. */
|
|
167
175
|
setPreferredVoice: (languageCode: string, voiceName: string | null) => void;
|
|
176
|
+
/** Choose the voice session's end-of-speech grace (H1); other values are ignored. */
|
|
177
|
+
setVoiceGraceMs: (ms: number) => void;
|
|
168
178
|
/**
|
|
169
179
|
* Add a conversation read from the server (a header being opened). A
|
|
170
180
|
* 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;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,57 +2,59 @@ import { createProfileScopedStorage as e } from "../utils/profileScopedStorage.j
|
|
|
2
2
|
import "../../shared-utils.js";
|
|
3
3
|
import { restoreAutoRouting as t } from "./autoRouting.js";
|
|
4
4
|
import { createGuardedAssistantStorage as n } from "./guardedStorage.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
5
|
+
import { DEFAULT_VOICE_GRACE_MS as r, resolveVoiceGraceMs as i } from "./voice/handsFree.js";
|
|
6
|
+
import { normaliseHistoryTitle as a } from "./history/historyControls.js";
|
|
7
|
+
import { getHistoryStamp as o, historyOpenFilter as s, notifyAssistantStorageFull as c, offerHistoryRename as l } from "./history/stampRegistry.js";
|
|
8
|
+
import { forgetLiveTurns as u } from "./liveTurns.js";
|
|
9
|
+
import { LEGACY_WRITE_CONSENT_KEY as d, restoreAcknowledgedWriteModes as f, withWriteModeAcknowledged as p } from "./writeModeConsent.js";
|
|
10
|
+
import { create as m } from "zustand";
|
|
11
|
+
import { persist as h } from "zustand/middleware";
|
|
11
12
|
//#region src/shared/assistant/store.ts
|
|
12
|
-
function
|
|
13
|
+
function g() {
|
|
13
14
|
return `${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
|
|
14
15
|
}
|
|
15
|
-
function
|
|
16
|
+
function _(e) {
|
|
16
17
|
let t = e.sandboxesByMode[e.mode]?.sandboxId;
|
|
17
18
|
return t ? {
|
|
18
19
|
sandboxId: t,
|
|
19
20
|
mode: e.mode
|
|
20
21
|
} : null;
|
|
21
22
|
}
|
|
22
|
-
var
|
|
23
|
-
function
|
|
24
|
-
let r = typeof e == "object" && e ? Object.fromEntries(Object.entries(e).filter(([e]) => !
|
|
23
|
+
var v = new Set([d, "sandboxWriteCapabilities"]);
|
|
24
|
+
function y(e, n) {
|
|
25
|
+
let r = typeof e == "object" && e ? Object.fromEntries(Object.entries(e).filter(([e]) => !v.has(e))) : {};
|
|
25
26
|
return {
|
|
26
27
|
...n,
|
|
27
28
|
...r,
|
|
28
|
-
acknowledgedWriteModes:
|
|
29
|
-
autoRouting: t(e)
|
|
29
|
+
acknowledgedWriteModes: f(e),
|
|
30
|
+
autoRouting: t(e),
|
|
31
|
+
voiceGraceMs: i(r.voiceGraceMs)
|
|
30
32
|
};
|
|
31
33
|
}
|
|
32
|
-
function
|
|
34
|
+
function b(e, t, n) {
|
|
33
35
|
let r = new Set(t);
|
|
34
36
|
n && e.activeConversationId !== null && r.delete(e.activeConversationId);
|
|
35
37
|
let i = e.conversations.filter((e) => r.has(e.id));
|
|
36
38
|
if (i.length === 0) return {};
|
|
37
|
-
|
|
38
|
-
let
|
|
39
|
-
for (let e of r) delete
|
|
39
|
+
u(i.flatMap((e) => e.messages.map((e) => e.id)));
|
|
40
|
+
let a = e.conversations.filter((e) => !r.has(e.id)), o = { ...e.processingByConversationId };
|
|
41
|
+
for (let e of r) delete o[e];
|
|
40
42
|
if (e.activeConversationId === null || !r.has(e.activeConversationId)) return {
|
|
41
|
-
conversations:
|
|
42
|
-
processingByConversationId:
|
|
43
|
+
conversations: a,
|
|
44
|
+
processingByConversationId: o
|
|
43
45
|
};
|
|
44
|
-
let
|
|
46
|
+
let c = a.find(s());
|
|
45
47
|
return {
|
|
46
|
-
conversations:
|
|
47
|
-
processingByConversationId:
|
|
48
|
-
activeConversationId:
|
|
49
|
-
...
|
|
50
|
-
mode:
|
|
51
|
-
autoRouting:
|
|
48
|
+
conversations: a,
|
|
49
|
+
processingByConversationId: o,
|
|
50
|
+
activeConversationId: c?.id ?? null,
|
|
51
|
+
...c ? {
|
|
52
|
+
mode: c.mode,
|
|
53
|
+
autoRouting: c.routedBy === "auto"
|
|
52
54
|
} : {}
|
|
53
55
|
};
|
|
54
56
|
}
|
|
55
|
-
var
|
|
57
|
+
var x = m()(h((e, t) => ({
|
|
56
58
|
conversations: [],
|
|
57
59
|
activeConversationId: null,
|
|
58
60
|
mode: "assistant",
|
|
@@ -67,9 +69,10 @@ var y = f()(p((e, t) => ({
|
|
|
67
69
|
assistantLanguage: null,
|
|
68
70
|
replyLanguage: null,
|
|
69
71
|
preferredVoices: {},
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
voiceGraceMs: r,
|
|
73
|
+
createConversation: (n, r, i) => {
|
|
74
|
+
let a = g(), s = (/* @__PURE__ */ new Date()).toISOString(), c = r === void 0 && t().autoRouting, l = i?.routedBy ?? (c ? "auto" : void 0), u = r ?? (c ? "assistant" : t().mode), d = o(), f = {
|
|
75
|
+
id: a,
|
|
73
76
|
title: n || "New conversation",
|
|
74
77
|
mode: u,
|
|
75
78
|
messages: [],
|
|
@@ -85,11 +88,11 @@ var y = f()(p((e, t) => ({
|
|
|
85
88
|
};
|
|
86
89
|
return e((e) => ({
|
|
87
90
|
conversations: [f, ...e.conversations],
|
|
88
|
-
activeConversationId:
|
|
91
|
+
activeConversationId: a,
|
|
89
92
|
conversationListOpen: !1,
|
|
90
93
|
mode: u,
|
|
91
94
|
autoRouting: l === "auto"
|
|
92
|
-
})),
|
|
95
|
+
})), a;
|
|
93
96
|
},
|
|
94
97
|
deleteConversation: (t) => e((e) => {
|
|
95
98
|
let n = e.conversations.filter((e) => e.id !== t), r = { ...e.processingByConversationId };
|
|
@@ -97,7 +100,7 @@ var y = f()(p((e, t) => ({
|
|
|
97
100
|
conversations: n,
|
|
98
101
|
processingByConversationId: r
|
|
99
102
|
};
|
|
100
|
-
let i = n.find(
|
|
103
|
+
let i = n.find(s());
|
|
101
104
|
return {
|
|
102
105
|
conversations: n,
|
|
103
106
|
processingByConversationId: r,
|
|
@@ -109,10 +112,10 @@ var y = f()(p((e, t) => ({
|
|
|
109
112
|
};
|
|
110
113
|
}),
|
|
111
114
|
renameConversation: (t, n) => {
|
|
112
|
-
let
|
|
113
|
-
|
|
115
|
+
let r = a(n);
|
|
116
|
+
r && (l(t, r) || e((e) => ({ conversations: e.conversations.map((e) => e.id === t ? {
|
|
114
117
|
...e,
|
|
115
|
-
title:
|
|
118
|
+
title: r,
|
|
116
119
|
updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
117
120
|
...e.sync ? { sync: {
|
|
118
121
|
...e.sync,
|
|
@@ -272,17 +275,21 @@ var y = f()(p((e, t) => ({
|
|
|
272
275
|
autoSpeakEnabled: !1,
|
|
273
276
|
assistantLanguage: null,
|
|
274
277
|
replyLanguage: null,
|
|
275
|
-
preferredVoices: {}
|
|
278
|
+
preferredVoices: {},
|
|
279
|
+
voiceGraceMs: r
|
|
276
280
|
}),
|
|
277
281
|
submitPrompt: (t) => e({ pendingPrompt: t }),
|
|
278
282
|
consumePendingPrompt: () => {
|
|
279
283
|
let n = t().pendingPrompt;
|
|
280
284
|
return n !== null && e({ pendingPrompt: null }), n;
|
|
281
285
|
},
|
|
282
|
-
acknowledgeWriteMode: (t) => e((e) => ({ acknowledgedWriteModes:
|
|
286
|
+
acknowledgeWriteMode: (t) => e((e) => ({ acknowledgedWriteModes: p(e.acknowledgedWriteModes, t) })),
|
|
283
287
|
setAutoSpeak: (t) => e({ autoSpeakEnabled: t }),
|
|
284
288
|
setAssistantLanguage: (t) => e({ assistantLanguage: t }),
|
|
285
289
|
setReplyLanguage: (t) => e({ replyLanguage: t }),
|
|
290
|
+
setVoiceGraceMs: (t) => {
|
|
291
|
+
i(t) === t && e({ voiceGraceMs: i(t) });
|
|
292
|
+
},
|
|
286
293
|
setPreferredVoice: (t, n) => e((e) => {
|
|
287
294
|
let r = { ...e.preferredVoices };
|
|
288
295
|
return n === null ? delete r[t] : r[t] = n, { preferredVoices: r };
|
|
@@ -320,11 +327,11 @@ var y = f()(p((e, t) => ({
|
|
|
320
327
|
...a && !i.titleLocked ? { title: a } : {}
|
|
321
328
|
};
|
|
322
329
|
}) })),
|
|
323
|
-
removeConversationsSilently: (t) => e((e) =>
|
|
324
|
-
evictConversations: (t) => e((e) =>
|
|
330
|
+
removeConversationsSilently: (t) => e((e) => b(e, t, !1)),
|
|
331
|
+
evictConversations: (t) => e((e) => b(e, t, !0))
|
|
325
332
|
}), {
|
|
326
333
|
name: "hb-ai-assistant",
|
|
327
|
-
storage: n(e(), (e, t, n) =>
|
|
334
|
+
storage: n(e(), (e, t, n) => c(n)),
|
|
328
335
|
partialize: (e) => ({
|
|
329
336
|
conversations: e.conversations.map(({ ...e }) => e),
|
|
330
337
|
activeConversationId: e.activeConversationId,
|
|
@@ -335,9 +342,10 @@ var y = f()(p((e, t) => ({
|
|
|
335
342
|
autoSpeakEnabled: e.autoSpeakEnabled,
|
|
336
343
|
assistantLanguage: e.assistantLanguage,
|
|
337
344
|
replyLanguage: e.replyLanguage,
|
|
338
|
-
preferredVoices: e.preferredVoices
|
|
345
|
+
preferredVoices: e.preferredVoices,
|
|
346
|
+
voiceGraceMs: e.voiceGraceMs
|
|
339
347
|
}),
|
|
340
|
-
merge:
|
|
348
|
+
merge: y
|
|
341
349
|
}));
|
|
342
350
|
//#endregion
|
|
343
|
-
export {
|
|
351
|
+
export { y as mergePersistedAssistantState, _ as resolveActiveModeSandbox, x as useAssistantStore };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIAssistantPanel.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AIAssistantPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"AIAssistantPanel.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AIAssistantPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAmB,KAAK,EAAE,EAAY,MAAM,OAAO,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIvE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAsBrC,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAC;AAK1B,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG;IAC/C,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAoStD,CAAC"}
|
|
@@ -1,52 +1,60 @@
|
|
|
1
1
|
import { useReturnFocus as e } from "../../hooks/useReturnFocus.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
2
|
+
import { useAssistantControl as t } from "../appControls/useAssistantControl.js";
|
|
3
|
+
import { useAssistantPageLabel as n } from "../product.js";
|
|
4
|
+
import { useAssistantTr as r } from "../i18n.js";
|
|
5
|
+
import { AssistantNavigateProvider as i } from "./AssistantMarkdownRenderer.js";
|
|
6
|
+
import { useAssistantStore as a } from "../store.js";
|
|
7
|
+
import { AssistantSpeechProvider as o } from "./AssistantSpeechProvider.js";
|
|
8
|
+
import { AssistantPreviewProvider as s } from "../preview/context.js";
|
|
9
|
+
import { useAssistantPreviewBridge as c } from "../preview/useAssistantPreviewBridge.js";
|
|
10
|
+
import { AssistantConnectSourceProvider as l } from "./composer/connectSource.js";
|
|
11
|
+
import { ASSISTANT_OVERLAY_ATTR as u, ASSISTANT_PANEL_ATTR as d, activePanelOverlay as f, escapeDismisses as p, nextPanelOverlays as m } from "./panelOverlays.js";
|
|
12
|
+
import { hasAssistantPreviewSurface as h } from "../preview/types.js";
|
|
13
|
+
import { panelOwnedPreviewBridge as g, useHostedAssistantPreviewBridge as ee } from "../preview/bridgeHostContext.js";
|
|
14
|
+
import { AssistantPreviewOverlay as te } from "../preview/AssistantPreviewOverlay.js";
|
|
15
|
+
import { AssistantHeader as ne } from "./AssistantHeader.js";
|
|
16
|
+
import { AssistantConversationList as _ } from "./AssistantConversationList.js";
|
|
17
|
+
import { AssistantConversationDeleteDialogProvider as v } from "./conversationDeleteDialog.js";
|
|
18
|
+
import { AssistantControlConfirmProvider as y } from "./controlConfirmDialog.js";
|
|
19
|
+
import { useAssistantServerHistory as b } from "../history/useAssistantServerHistory.js";
|
|
20
|
+
import { useFilesServiceWarmup as x } from "../../../storage/warmFilesService.js";
|
|
21
|
+
import { useAssistantHeartbeat as S } from "../useAssistantHeartbeat.js";
|
|
22
|
+
import { useAssistantKeyboardShortcuts as C } from "../useAssistantKeyboardShortcuts.js";
|
|
23
|
+
import { AssistantChatArea as w } from "./AssistantChatArea.js";
|
|
24
|
+
import { useMemo as T, useRef as E, useState as D } from "react";
|
|
23
25
|
import { jsx as O, jsxs as k } from "react/jsx-runtime";
|
|
24
26
|
//#region src/shared/assistant/ui/AIAssistantPanel.tsx
|
|
25
|
-
var A = ({ onClose: A, visible: j, docked: M, onToggleDock: N, writeAccess:
|
|
26
|
-
let z =
|
|
27
|
-
|
|
28
|
-
let [B, V] = D(!1), H =
|
|
27
|
+
var A = ({ onClose: A, visible: j, docked: M, onToggleDock: N, writeAccess: P, onNavigate: F, connectSourceHref: re, onConnectSource: I, preview: L, serverHistory: R = !1 }) => {
|
|
28
|
+
let z = r();
|
|
29
|
+
b(R);
|
|
30
|
+
let [B, V] = D(!1), H = h(L);
|
|
29
31
|
B && !H && V(!1);
|
|
30
32
|
let U = B && H;
|
|
31
|
-
|
|
33
|
+
c(g(L, ee()));
|
|
32
34
|
let W = E(null);
|
|
33
35
|
e(W);
|
|
34
|
-
let { conversations: G, activeConversationId: K, conversationListOpen: q, setConversationListOpen: J, createConversation: Y } =
|
|
36
|
+
let { conversations: G, activeConversationId: K, conversationListOpen: q, setConversationListOpen: J, createConversation: Y } = a(), X = q || U, Z = f({
|
|
35
37
|
historyOpen: q,
|
|
36
38
|
previewOpen: U
|
|
37
39
|
}), Q = (e) => {
|
|
38
|
-
let t =
|
|
40
|
+
let t = m({
|
|
39
41
|
historyOpen: q,
|
|
40
42
|
previewOpen: U
|
|
41
43
|
}, e);
|
|
42
44
|
J(t.historyOpen), V(t.previewOpen);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
};
|
|
46
|
+
t("assistant.history", T(() => ({ run: () => q ? { status: "already" } : (J(!0), V(!1), { status: "done" }) }), [q, J])), t("assistant.preview", T(() => H ? { run: () => U ? { status: "already" } : (J(!1), V(!0), { status: "done" }) } : null, [
|
|
47
|
+
H,
|
|
48
|
+
U,
|
|
49
|
+
J
|
|
50
|
+
]));
|
|
51
|
+
let $ = G.find((e) => e.id === K);
|
|
52
|
+
S($?.backendSessionId ?? null, $?.mode ?? null, j ?? !0), x(j ?? !0);
|
|
53
|
+
let ie = n(j !== !1);
|
|
54
|
+
return C({
|
|
47
55
|
panelRef: W,
|
|
48
56
|
onClose: () => {
|
|
49
|
-
if (
|
|
57
|
+
if (p({
|
|
50
58
|
historyOpen: q,
|
|
51
59
|
previewOpen: U
|
|
52
60
|
}) === "overlay") {
|
|
@@ -55,30 +63,30 @@ var A = ({ onClose: A, visible: j, docked: M, onToggleDock: N, writeAccess: ee,
|
|
|
55
63
|
}
|
|
56
64
|
A();
|
|
57
65
|
}
|
|
58
|
-
}), /* @__PURE__ */ O(
|
|
66
|
+
}), /* @__PURE__ */ O(o, {
|
|
59
67
|
visible: j ?? !0,
|
|
60
|
-
children: /* @__PURE__ */ O(
|
|
68
|
+
children: /* @__PURE__ */ O(s, {
|
|
61
69
|
value: L,
|
|
62
|
-
children: /* @__PURE__ */ O(
|
|
63
|
-
value:
|
|
64
|
-
children: /* @__PURE__ */ O(
|
|
65
|
-
value:
|
|
70
|
+
children: /* @__PURE__ */ O(i, {
|
|
71
|
+
value: F,
|
|
72
|
+
children: /* @__PURE__ */ O(l, {
|
|
73
|
+
value: re,
|
|
66
74
|
onOpen: I,
|
|
67
|
-
children: /* @__PURE__ */ O(
|
|
75
|
+
children: /* @__PURE__ */ O(v, { children: /* @__PURE__ */ O(y, { children: /* @__PURE__ */ k("div", {
|
|
68
76
|
ref: W,
|
|
69
77
|
className: "relative flex h-full w-full flex-col bg-bg-surface",
|
|
70
78
|
role: "complementary",
|
|
71
79
|
"aria-label": z("panel.ariaLabel", "AI Assistant"),
|
|
72
80
|
"data-testid": "ai-assistant-panel",
|
|
73
|
-
[
|
|
74
|
-
...Z ? { [
|
|
81
|
+
[d]: "",
|
|
82
|
+
...Z ? { [u]: Z } : {},
|
|
75
83
|
tabIndex: -1,
|
|
76
84
|
children: [
|
|
77
85
|
/* @__PURE__ */ O("div", {
|
|
78
86
|
className: "contents",
|
|
79
87
|
inert: X || void 0,
|
|
80
|
-
children: /* @__PURE__ */ O(
|
|
81
|
-
contextLabel:
|
|
88
|
+
children: /* @__PURE__ */ O(ne, {
|
|
89
|
+
contextLabel: ie,
|
|
82
90
|
onNewConversation: () => Y(),
|
|
83
91
|
onOpenHistory: () => Q("history"),
|
|
84
92
|
historyOpen: q,
|
|
@@ -89,18 +97,18 @@ var A = ({ onClose: A, visible: j, docked: M, onToggleDock: N, writeAccess: ee,
|
|
|
89
97
|
onToggleDock: N
|
|
90
98
|
})
|
|
91
99
|
}),
|
|
92
|
-
q && /* @__PURE__ */ O(
|
|
93
|
-
U && /* @__PURE__ */ O(
|
|
100
|
+
q && /* @__PURE__ */ O(_, {}),
|
|
101
|
+
U && /* @__PURE__ */ O(te, { onClose: () => V(!1) }),
|
|
94
102
|
/* @__PURE__ */ O("div", {
|
|
95
103
|
className: "contents",
|
|
96
104
|
inert: X || void 0,
|
|
97
|
-
children: /* @__PURE__ */ O(
|
|
105
|
+
children: /* @__PURE__ */ O(w, {
|
|
98
106
|
visible: j ?? !0,
|
|
99
|
-
writeAccess:
|
|
107
|
+
writeAccess: P
|
|
100
108
|
})
|
|
101
109
|
})
|
|
102
110
|
]
|
|
103
|
-
}) })
|
|
111
|
+
}) }) })
|
|
104
112
|
})
|
|
105
113
|
})
|
|
106
114
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAiQf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAqKvE;;;;;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,CAmvLxD,CAAC"}
|