@genesislcap/ai-assistant 14.409.0-FUI-2495.2 → 14.409.1
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/ai-assistant.api.json +1110 -2791
- package/dist/ai-assistant.d.ts +45 -267
- package/dist/dts/channel/ai-activity-channel.d.ts +0 -1
- package/dist/dts/channel/ai-activity-channel.d.ts.map +1 -1
- package/dist/dts/components/chat-driver/chat-driver.d.ts +7 -25
- package/dist/dts/components/chat-driver/chat-driver.d.ts.map +1 -1
- package/dist/dts/components/halo-overlay.d.ts +1 -13
- package/dist/dts/components/halo-overlay.d.ts.map +1 -1
- package/dist/dts/config/config.d.ts +15 -43
- package/dist/dts/config/config.d.ts.map +1 -1
- package/dist/dts/config/index.d.ts +0 -1
- package/dist/dts/config/index.d.ts.map +1 -1
- package/dist/dts/index.d.ts +0 -4
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/main/main.d.ts +7 -16
- package/dist/dts/main/main.d.ts.map +1 -1
- package/dist/dts/main/main.styles.d.ts.map +1 -1
- package/dist/dts/main/main.template.d.ts.map +1 -1
- package/dist/esm/components/chat-driver/chat-driver.js +31 -86
- package/dist/esm/components/halo-overlay.js +7 -53
- package/dist/esm/config/index.js +0 -1
- package/dist/esm/index.js +0 -4
- package/dist/esm/main/main.js +45 -103
- package/dist/esm/main/main.styles.js +4 -145
- package/dist/esm/main/main.template.js +61 -97
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -15
- package/src/channel/ai-activity-channel.ts +0 -1
- package/src/components/chat-driver/chat-driver.ts +35 -116
- package/src/components/halo-overlay.ts +7 -45
- package/src/config/config.ts +15 -45
- package/src/config/index.ts +0 -1
- package/src/index.ts +0 -4
- package/src/main/main.styles.ts +4 -145
- package/src/main/main.template.ts +78 -116
- package/src/main/main.ts +50 -105
- package/dist/dts/components/ai-driver/ai-driver.d.ts +0 -38
- package/dist/dts/components/ai-driver/ai-driver.d.ts.map +0 -1
- package/dist/dts/components/ai-driver/index.d.ts +0 -2
- package/dist/dts/components/ai-driver/index.d.ts.map +0 -1
- package/dist/dts/components/orchestrating-driver/index.d.ts +0 -2
- package/dist/dts/components/orchestrating-driver/index.d.ts.map +0 -1
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts +0 -36
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts.map +0 -1
- package/dist/dts/components/popout-manager/index.d.ts +0 -2
- package/dist/dts/components/popout-manager/index.d.ts.map +0 -1
- package/dist/dts/components/popout-manager/popout-manager.d.ts +0 -74
- package/dist/dts/components/popout-manager/popout-manager.d.ts.map +0 -1
- package/dist/dts/config/fallback-agents.d.ts +0 -20
- package/dist/dts/config/fallback-agents.d.ts.map +0 -1
- package/dist/esm/components/ai-driver/ai-driver.js +0 -1
- package/dist/esm/components/ai-driver/index.js +0 -1
- package/dist/esm/components/orchestrating-driver/index.js +0 -1
- package/dist/esm/components/orchestrating-driver/orchestrating-driver.js +0 -229
- package/dist/esm/components/popout-manager/index.js +0 -1
- package/dist/esm/components/popout-manager/popout-manager.js +0 -119
- package/dist/esm/config/fallback-agents.js +0 -26
- package/src/components/ai-driver/ai-driver.ts +0 -42
- package/src/components/ai-driver/index.ts +0 -1
- package/src/components/orchestrating-driver/index.ts +0 -1
- package/src/components/orchestrating-driver/orchestrating-driver.ts +0 -300
- package/src/components/popout-manager/index.ts +0 -1
- package/src/components/popout-manager/popout-manager.ts +0 -144
- package/src/config/fallback-agents.ts +0 -29
package/dist/esm/main/main.js
CHANGED
|
@@ -10,7 +10,6 @@ import { ChatDriver } from '../components/chat-driver/chat-driver';
|
|
|
10
10
|
import { AiChatInteractionWrapper } from '../components/chat-interaction-wrapper/chat-interaction-wrapper';
|
|
11
11
|
import { AiChatMarkdown } from '../components/chat-markdown/chat-markdown';
|
|
12
12
|
import { AiHaloOverlay } from '../components/halo-overlay';
|
|
13
|
-
import { OrchestratingDriver } from '../components/orchestrating-driver/orchestrating-driver';
|
|
14
13
|
import { logger } from '../utils/logger';
|
|
15
14
|
import { styles } from './main.styles';
|
|
16
15
|
import { FoundationAiAssistantTemplate } from './main.template';
|
|
@@ -22,8 +21,7 @@ avoidTreeShaking(AiChatMarkdown, AiChatInteractionWrapper, AiHaloOverlay, AiChat
|
|
|
22
21
|
*
|
|
23
22
|
* @remarks
|
|
24
23
|
* Inject an `AIProvider` through the DI container. Pass agent configuration via the `agents`
|
|
25
|
-
* property. The component creates a `ChatDriver`
|
|
26
|
-
* (multiple agents) to manage the conversation loop.
|
|
24
|
+
* property. The component creates a `ChatDriver` to manage the conversation loop.
|
|
27
25
|
*
|
|
28
26
|
* @beta
|
|
29
27
|
*/
|
|
@@ -42,8 +40,6 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
42
40
|
this.showToolCalls = false;
|
|
43
41
|
/** Current user-facing toggle state for thinking step visibility. */
|
|
44
42
|
this.showThinkingSteps = false;
|
|
45
|
-
/** Current user-facing toggle state for agent switch indicator visibility. */
|
|
46
|
-
this.showAgentSwitchIndicator = false;
|
|
47
43
|
/** Currently enabled animations. */
|
|
48
44
|
this.enabledAnimations = [];
|
|
49
45
|
/** Whether the loading spinner is currently visible. Controlled by the loading delay timer. */
|
|
@@ -51,20 +47,19 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
51
47
|
/** Whether the settings panel is open. */
|
|
52
48
|
this.settingsOpen = false;
|
|
53
49
|
this.haloStartPublished = false;
|
|
54
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Whether the halo animation should be shown.
|
|
52
|
+
* True when the AI is actively computing (loading state, no pending interaction).
|
|
53
|
+
*/
|
|
54
|
+
this.showHalo = false;
|
|
55
55
|
}
|
|
56
56
|
syncShowHalo() {
|
|
57
57
|
if (this.state !== 'loading') {
|
|
58
|
-
this.showHalo =
|
|
58
|
+
this.showHalo = false;
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
61
|
const last = this.messages[this.messages.length - 1];
|
|
62
|
-
|
|
63
|
-
this.showHalo = 'no';
|
|
64
|
-
}
|
|
65
|
-
else if (this.showHalo !== 'orchestrating') {
|
|
66
|
-
this.showHalo = 'agent';
|
|
67
|
-
}
|
|
62
|
+
this.showHalo = !(last === null || last === void 0 ? void 0 : last.interaction);
|
|
68
63
|
}
|
|
69
64
|
/** True when there is a pending (unresolved) interaction — disables the popout button. */
|
|
70
65
|
get hasActivePendingInteraction() {
|
|
@@ -77,7 +72,7 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
77
72
|
var _a;
|
|
78
73
|
if (!((_a = this.enabledAnimations) === null || _a === void 0 ? void 0 : _a.includes('halo')))
|
|
79
74
|
return;
|
|
80
|
-
if (this.showHalo
|
|
75
|
+
if (!this.showHalo) {
|
|
81
76
|
agenticActivityBus.publish('halo-stop', undefined);
|
|
82
77
|
this.haloStartPublished = false;
|
|
83
78
|
}
|
|
@@ -101,16 +96,8 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
101
96
|
* `showToolCalls` is false.
|
|
102
97
|
*/
|
|
103
98
|
get visibleMessages() {
|
|
104
|
-
var _a;
|
|
105
|
-
const showAgentSwitchIndicator = ((_a = this.chatConfig.ui) === null || _a === void 0 ? void 0 : _a.showAgentSwitchIndicator) != null
|
|
106
|
-
? this.showAgentSwitchIndicator
|
|
107
|
-
: this.showToolCalls;
|
|
108
99
|
return this.messages.filter((m) => {
|
|
109
100
|
var _a, _b, _c;
|
|
110
|
-
// Agent switch indicators are shown when the toggle is on (or showToolCalls implies it)
|
|
111
|
-
if (m.role === 'system-event') {
|
|
112
|
-
return showAgentSwitchIndicator;
|
|
113
|
-
}
|
|
114
101
|
// Never show tool messages to the user
|
|
115
102
|
if (m.role === 'tool') {
|
|
116
103
|
return false;
|
|
@@ -128,40 +115,19 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
128
115
|
});
|
|
129
116
|
}
|
|
130
117
|
connectedCallback() {
|
|
131
|
-
var _a, _b, _c, _d
|
|
118
|
+
var _a, _b, _c, _d;
|
|
132
119
|
super.connectedCallback();
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
this.
|
|
136
|
-
this.showThinkingSteps = ui.showThinkingSteps === true;
|
|
137
|
-
this.showAgentSwitchIndicator = ui.showAgentSwitchIndicator === true;
|
|
120
|
+
const { showToolCalls, showThinkingSteps, animations } = this.chatConfig;
|
|
121
|
+
this.showToolCalls = showToolCalls === true;
|
|
122
|
+
this.showThinkingSteps = showThinkingSteps === true;
|
|
138
123
|
this.enabledAnimations =
|
|
139
|
-
(
|
|
140
|
-
|
|
141
|
-
if (agents && agents.length > 1) {
|
|
142
|
-
|
|
143
|
-
maxHandoffs: agent.maxHandoffs,
|
|
144
|
-
classifierHistoryLength: agent.classifierHistoryLength,
|
|
145
|
-
classifierRetries: agent.classifierRetries,
|
|
146
|
-
maxToolIterations: agent.maxToolIterations,
|
|
147
|
-
});
|
|
148
|
-
orchestrator.addEventListener('orchestrating-start', () => {
|
|
149
|
-
this.showHalo = 'orchestrating';
|
|
150
|
-
});
|
|
151
|
-
orchestrator.addEventListener('orchestrating-stop', () => {
|
|
152
|
-
if (this.showHalo === 'orchestrating')
|
|
153
|
-
this.showHalo = 'agent';
|
|
154
|
-
});
|
|
155
|
-
orchestrator.addEventListener('agent-changed', (e) => {
|
|
156
|
-
this.activeAgent = e.detail;
|
|
157
|
-
});
|
|
158
|
-
this.driver = orchestrator;
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
const singleAgent = agents === null || agents === void 0 ? void 0 : agents[0];
|
|
162
|
-
this.activeAgent = singleAgent;
|
|
163
|
-
this.driver = new ChatDriver(this.aiProvider, (_e = singleAgent === null || singleAgent === void 0 ? void 0 : singleAgent.toolHandlers) !== null && _e !== void 0 ? _e : {}, (_f = singleAgent === null || singleAgent === void 0 ? void 0 : singleAgent.toolDefinitions) !== null && _f !== void 0 ? _f : [], singleAgent === null || singleAgent === void 0 ? void 0 : singleAgent.systemPrompt, singleAgent === null || singleAgent === void 0 ? void 0 : singleAgent.primerHistory, agent.maxToolIterations);
|
|
124
|
+
(_a = animations === null || animations === void 0 ? void 0 : animations.enabled) !== null && _a !== void 0 ? _a : (animations ? [...ALL_ANIMATIONS] : []);
|
|
125
|
+
// TODO: multi-agent orchestration — classify intent and route to the correct agent
|
|
126
|
+
if (this.agents && this.agents.length > 1) {
|
|
127
|
+
logger.warn('FoundationAiAssistant: multiple agents configured but orchestration is not yet implemented. Only the first agent will be used.');
|
|
164
128
|
}
|
|
129
|
+
const agent = (_b = this.agents) === null || _b === void 0 ? void 0 : _b[0];
|
|
130
|
+
this.driver = new ChatDriver(this.aiProvider, (_c = agent === null || agent === void 0 ? void 0 : agent.toolHandlers) !== null && _c !== void 0 ? _c : {}, (_d = agent === null || agent === void 0 ? void 0 : agent.toolDefinitions) !== null && _d !== void 0 ? _d : [], agent === null || agent === void 0 ? void 0 : agent.systemPrompt, agent === null || agent === void 0 ? void 0 : agent.primerHistory, this.chatConfig.maxToolIterations);
|
|
165
131
|
this.driver.addEventListener('history-updated', (e) => {
|
|
166
132
|
this.messages = [...e.detail];
|
|
167
133
|
});
|
|
@@ -203,7 +169,10 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
203
169
|
}
|
|
204
170
|
this.syncShowHalo();
|
|
205
171
|
// Publish halo-start whenever a new toolCalls message arrives.
|
|
206
|
-
|
|
172
|
+
// If we've already published one this turn, send halo-stop first so grids
|
|
173
|
+
// not relevant to the new tools begin deactivating (fix #2).
|
|
174
|
+
// Never publish with empty toolNames (fix #3).
|
|
175
|
+
if (this.showHalo && ((_a = this.enabledAnimations) === null || _a === void 0 ? void 0 : _a.includes('halo'))) {
|
|
207
176
|
const last = this.messages[this.messages.length - 1];
|
|
208
177
|
if ((_b = last === null || last === void 0 ? void 0 : last.toolCalls) === null || _b === void 0 ? void 0 : _b.length) {
|
|
209
178
|
const toolNames = this.getActiveToolNames();
|
|
@@ -219,6 +188,7 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
219
188
|
this.scrollToBottom();
|
|
220
189
|
}
|
|
221
190
|
showLoadingIndicatorChanged() {
|
|
191
|
+
// Scroll to bottom when the spinner appears so it is visible.
|
|
222
192
|
if (this.showLoadingIndicator) {
|
|
223
193
|
this.scrollToBottom();
|
|
224
194
|
}
|
|
@@ -236,9 +206,9 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
236
206
|
});
|
|
237
207
|
}
|
|
238
208
|
startLoadingTimer() {
|
|
239
|
-
var _a
|
|
209
|
+
var _a;
|
|
240
210
|
this.clearLoadingTimer();
|
|
241
|
-
const delay = (
|
|
211
|
+
const delay = (_a = this.chatConfig.loadingDelay) !== null && _a !== void 0 ? _a : FoundationAiAssistant_1.DEFAULT_LOADING_DELAY_S;
|
|
242
212
|
if (delay === 0) {
|
|
243
213
|
this.showLoadingIndicator = true;
|
|
244
214
|
}
|
|
@@ -273,7 +243,6 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
273
243
|
this.messages = [...state.messages];
|
|
274
244
|
this.showToolCalls = state.showToolCalls;
|
|
275
245
|
this.showThinkingSteps = state.showThinkingSteps;
|
|
276
|
-
this.showAgentSwitchIndicator = state.showAgentSwitchIndicator;
|
|
277
246
|
this.enabledAnimations = [...state.enabledAnimations];
|
|
278
247
|
(_a = this.driver) === null || _a === void 0 ? void 0 : _a.loadHistory(state.messages);
|
|
279
248
|
}
|
|
@@ -282,28 +251,11 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
282
251
|
messages: [...this.messages],
|
|
283
252
|
showToolCalls: this.showToolCalls,
|
|
284
253
|
showThinkingSteps: this.showThinkingSteps,
|
|
285
|
-
showAgentSwitchIndicator: this.showAgentSwitchIndicator,
|
|
286
254
|
enabledAnimations: [...this.enabledAnimations],
|
|
287
255
|
};
|
|
288
256
|
}
|
|
289
257
|
toggleSettings() {
|
|
290
|
-
|
|
291
|
-
if (this.settingsOpen) {
|
|
292
|
-
const panel = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.settings-panel');
|
|
293
|
-
if (panel) {
|
|
294
|
-
panel.classList.add('closing');
|
|
295
|
-
panel.addEventListener('animationend', () => {
|
|
296
|
-
panel.classList.remove('closing');
|
|
297
|
-
this.settingsOpen = false;
|
|
298
|
-
}, { once: true });
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
this.settingsOpen = false;
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
else {
|
|
305
|
-
this.settingsOpen = true;
|
|
306
|
-
}
|
|
258
|
+
this.settingsOpen = !this.settingsOpen;
|
|
307
259
|
}
|
|
308
260
|
toggleShowToolCalls() {
|
|
309
261
|
this.showToolCalls = !this.showToolCalls;
|
|
@@ -311,30 +263,23 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
311
263
|
toggleShowThinkingSteps() {
|
|
312
264
|
this.showThinkingSteps = !this.showThinkingSteps;
|
|
313
265
|
}
|
|
314
|
-
toggleShowAgentSwitchIndicator() {
|
|
315
|
-
this.showAgentSwitchIndicator = !this.showAgentSwitchIndicator;
|
|
316
|
-
}
|
|
317
266
|
setEnabledAnimations(animations) {
|
|
318
267
|
this.enabledAnimations = animations;
|
|
319
268
|
}
|
|
320
|
-
|
|
321
|
-
var _a, _b, _c, _d
|
|
322
|
-
return {
|
|
323
|
-
messages: (_c = (_b = (_a = this.driver) === null || _a === void 0 ? void 0 : _a.getRawHistory) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : this.messages,
|
|
324
|
-
agentSummary: this.agents,
|
|
325
|
-
host: window.location.host,
|
|
326
|
-
activeSystemPrompt: (_d = this.activeAgent) === null || _d === void 0 ? void 0 : _d.systemPrompt,
|
|
327
|
-
activePrimerHistory: (_e = this.activeAgent) === null || _e === void 0 ? void 0 : _e.primerHistory,
|
|
328
|
-
debug: (_f = this.debugStateFactory) === null || _f === void 0 ? void 0 : _f.call(this),
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
downloadDebugLog() {
|
|
332
|
-
var _a, _b, _c;
|
|
269
|
+
downloadHistory() {
|
|
270
|
+
var _a, _b, _c, _d;
|
|
333
271
|
const timestamp = new Date().toISOString().replace(/:/g, '-');
|
|
334
|
-
|
|
272
|
+
// TODO: multi-agent orchestration — use the active agent rather than always agents[0]
|
|
273
|
+
const agent = (_a = this.agents) === null || _a === void 0 ? void 0 : _a[0];
|
|
274
|
+
const agentName = ((_c = (_b = agent === null || agent === void 0 ? void 0 : agent.name) !== null && _b !== void 0 ? _b : this.headerTitle) !== null && _c !== void 0 ? _c : 'chat')
|
|
335
275
|
.toLowerCase()
|
|
336
276
|
.replace(/\s+/g, '-');
|
|
337
|
-
const payload =
|
|
277
|
+
const payload = {
|
|
278
|
+
messages: this.messages,
|
|
279
|
+
systemPrompt: agent === null || agent === void 0 ? void 0 : agent.systemPrompt,
|
|
280
|
+
primerHistory: agent === null || agent === void 0 ? void 0 : agent.primerHistory,
|
|
281
|
+
debug: (_d = this.debugStateFactory) === null || _d === void 0 ? void 0 : _d.call(this),
|
|
282
|
+
};
|
|
338
283
|
const blob = new Blob([JSON.stringify(payload, null, 2)], { type: 'application/json' });
|
|
339
284
|
const url = URL.createObjectURL(blob);
|
|
340
285
|
const a = document.createElement('a');
|
|
@@ -363,12 +308,12 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
363
308
|
}
|
|
364
309
|
}
|
|
365
310
|
isAcceptedFile(file) {
|
|
366
|
-
var _a, _b
|
|
367
|
-
const accepted =
|
|
311
|
+
var _a, _b;
|
|
312
|
+
const accepted = this.chatConfig.acceptedFiles;
|
|
368
313
|
if (!accepted)
|
|
369
314
|
return false;
|
|
370
315
|
const acceptedList = accepted.split(',').map((s) => s.trim().toLowerCase());
|
|
371
|
-
const ext = `.${(
|
|
316
|
+
const ext = `.${(_b = (_a = file.name.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : ''}`;
|
|
372
317
|
return acceptedList.some((a) => a === ext ||
|
|
373
318
|
a === file.type ||
|
|
374
319
|
(a.endsWith('/*') && file.type.startsWith(a.replace('/*', '/'))));
|
|
@@ -444,6 +389,9 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
444
389
|
});
|
|
445
390
|
}
|
|
446
391
|
restoreFocusIfAppropriate() {
|
|
392
|
+
// If focus is still within this component (document.activeElement === this, since shadow DOM
|
|
393
|
+
// reports the host) or nothing specific has focus (body), return focus to the input.
|
|
394
|
+
// If the user has navigated to another element in the app, leave them there.
|
|
447
395
|
const active = document.activeElement;
|
|
448
396
|
if (active !== document.body && active !== this)
|
|
449
397
|
return;
|
|
@@ -453,7 +401,7 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
453
401
|
});
|
|
454
402
|
}
|
|
455
403
|
onChatHeaderMouseDown(e) {
|
|
456
|
-
if (this.popoutMode
|
|
404
|
+
if (this.popoutMode !== 'expand')
|
|
457
405
|
return;
|
|
458
406
|
e.preventDefault();
|
|
459
407
|
this.dispatchEvent(new CustomEvent('chat-header-mousedown', {
|
|
@@ -515,18 +463,12 @@ __decorate([
|
|
|
515
463
|
__decorate([
|
|
516
464
|
observable
|
|
517
465
|
], FoundationAiAssistant.prototype, "attachmentErrors", void 0);
|
|
518
|
-
__decorate([
|
|
519
|
-
observable
|
|
520
|
-
], FoundationAiAssistant.prototype, "activeAgent", void 0);
|
|
521
466
|
__decorate([
|
|
522
467
|
observable
|
|
523
468
|
], FoundationAiAssistant.prototype, "showToolCalls", void 0);
|
|
524
469
|
__decorate([
|
|
525
470
|
observable
|
|
526
471
|
], FoundationAiAssistant.prototype, "showThinkingSteps", void 0);
|
|
527
|
-
__decorate([
|
|
528
|
-
observable
|
|
529
|
-
], FoundationAiAssistant.prototype, "showAgentSwitchIndicator", void 0);
|
|
530
472
|
__decorate([
|
|
531
473
|
observable
|
|
532
474
|
], FoundationAiAssistant.prototype, "enabledAnimations", void 0);
|
|
@@ -11,7 +11,6 @@ export const styles = css `
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.chat-wrapper {
|
|
14
|
-
container-type: inline-size;
|
|
15
14
|
position: relative;
|
|
16
15
|
display: flex;
|
|
17
16
|
flex-direction: column;
|
|
@@ -57,140 +56,22 @@ export const styles = css `
|
|
|
57
56
|
font-size: 1.2em;
|
|
58
57
|
}
|
|
59
58
|
|
|
60
|
-
@keyframes settings-slide-in {
|
|
61
|
-
from {
|
|
62
|
-
opacity: 0%;
|
|
63
|
-
transform: translateY(-6px);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
to {
|
|
67
|
-
opacity: 100%;
|
|
68
|
-
transform: translateY(0);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
@keyframes settings-slide-out {
|
|
73
|
-
from {
|
|
74
|
-
opacity: 100%;
|
|
75
|
-
transform: translateY(0);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
to {
|
|
79
|
-
opacity: 0%;
|
|
80
|
-
transform: translateY(-6px);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
59
|
.settings-panel {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
gap: calc(var(--design-unit) *
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-wrap: wrap;
|
|
62
|
+
align-items: center;
|
|
63
|
+
gap: calc(var(--design-unit) * 4px);
|
|
89
64
|
padding: calc(var(--design-unit) * 2px) calc(var(--design-unit) * 3px);
|
|
90
65
|
border-bottom: 1px solid var(--neutral-stroke-rest);
|
|
91
66
|
background-color: var(--neutral-layer-2);
|
|
92
67
|
}
|
|
93
68
|
|
|
94
|
-
.settings-panel.closing {
|
|
95
|
-
animation: settings-slide-out 0.2s ease-in forwards;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
rapid-multiselect::part(root) {
|
|
99
|
-
min-width: 80px;
|
|
100
|
-
width: 300%;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
rapid-multiselect::part(control),
|
|
104
|
-
.settings-panel > [part='download-button'] {
|
|
105
|
-
width: fit-content;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.settings-panel > [part='toggle-tool-calls'] {
|
|
109
|
-
grid-column: 1;
|
|
110
|
-
grid-row: 1;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.settings-panel > [part='toggle-thinking'] {
|
|
114
|
-
grid-column: 2;
|
|
115
|
-
grid-row: 1;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
.settings-panel > [part='toggle-agent-switch'] {
|
|
119
|
-
grid-column: 1;
|
|
120
|
-
grid-row: 2;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.settings-panel > [part='download-button'] {
|
|
124
|
-
grid-column: 2;
|
|
125
|
-
grid-row: 2;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
69
|
.settings-animations {
|
|
129
70
|
display: flex;
|
|
130
71
|
align-items: center;
|
|
131
72
|
gap: calc(var(--design-unit) * 2px);
|
|
132
73
|
}
|
|
133
74
|
|
|
134
|
-
.settings-panel > .settings-animations {
|
|
135
|
-
grid-column: 1/2;
|
|
136
|
-
grid-row: 3;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
@container (min-width: 400px) {
|
|
140
|
-
.settings-panel {
|
|
141
|
-
grid-template-columns: auto 1fr;
|
|
142
|
-
align-items: start;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
.settings-panel > [part='toggle-tool-calls'] {
|
|
146
|
-
grid-column: 1;
|
|
147
|
-
grid-row: 1;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.settings-panel > [part='toggle-thinking'] {
|
|
151
|
-
grid-column: 1;
|
|
152
|
-
grid-row: 2;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
.settings-panel > [part='toggle-agent-switch'] {
|
|
156
|
-
grid-column: 1;
|
|
157
|
-
grid-row: 3;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
.settings-panel > [part='download-button'],
|
|
161
|
-
.settings-panel > .settings-animations {
|
|
162
|
-
grid-column: 2;
|
|
163
|
-
justify-self: end;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.settings-panel > [part='download-button'] {
|
|
167
|
-
grid-row: 1;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
.settings-panel > .settings-animations {
|
|
171
|
-
grid-row: 2;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
@container (min-width: 750px) {
|
|
176
|
-
.settings-panel {
|
|
177
|
-
display: flex;
|
|
178
|
-
flex-wrap: nowrap;
|
|
179
|
-
align-items: center;
|
|
180
|
-
gap: calc(var(--design-unit) * 4px);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
.settings-panel > [part='download-button'],
|
|
184
|
-
.settings-panel > .settings-animations {
|
|
185
|
-
justify-self: unset;
|
|
186
|
-
margin-left: auto;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
.settings-panel > [part='download-button'] ~ .settings-animations {
|
|
190
|
-
margin-left: 0;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
75
|
.messages {
|
|
195
76
|
flex: 1;
|
|
196
77
|
overflow-y: auto;
|
|
@@ -236,28 +117,6 @@ export const styles = css `
|
|
|
236
117
|
}
|
|
237
118
|
}
|
|
238
119
|
|
|
239
|
-
.agent-switch-indicator {
|
|
240
|
-
display: flex;
|
|
241
|
-
align-items: center;
|
|
242
|
-
gap: 8px;
|
|
243
|
-
margin: 8px 0;
|
|
244
|
-
color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));
|
|
245
|
-
opacity: 60%;
|
|
246
|
-
font-size: 0.75em;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
.agent-switch-indicator::before,
|
|
250
|
-
.agent-switch-indicator::after {
|
|
251
|
-
content: '';
|
|
252
|
-
flex: 1;
|
|
253
|
-
height: 1px;
|
|
254
|
-
background: currentColor;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
.agent-switch-label {
|
|
258
|
-
white-space: nowrap;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
120
|
.message-row {
|
|
262
121
|
display: flex;
|
|
263
122
|
align-items: flex-start;
|