@genesislcap/ai-assistant 14.458.1-GENC-0.3 → 14.458.2
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 +10 -37
- package/dist/ai-assistant.d.ts +4 -36
- 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/dts/main/main.types.d.ts +4 -34
- package/dist/dts/main/main.types.d.ts.map +1 -1
- package/dist/esm/main/main.js +9 -18
- package/dist/esm/main/main.styles.js +6 -38
- package/dist/esm/main/main.template.js +16 -33
- package/dist/esm/main/main.types.js +3 -34
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -16
- package/src/main/main.styles.ts +6 -38
- package/src/main/main.template.ts +17 -36
- package/src/main/main.ts +8 -20
- package/src/main/main.types.ts +5 -42
- package/dist/dts/components/waves-indicator.d.ts +0 -30
- package/dist/dts/components/waves-indicator.d.ts.map +0 -1
- package/dist/dts/utils/animation-exclusivity.d.ts +0 -23
- package/dist/dts/utils/animation-exclusivity.d.ts.map +0 -1
- package/dist/dts/utils/animation-exclusivity.test.d.ts +0 -2
- package/dist/dts/utils/animation-exclusivity.test.d.ts.map +0 -1
- package/dist/esm/components/waves-indicator.js +0 -180
- package/dist/esm/utils/animation-exclusivity.js +0 -33
- package/dist/esm/utils/animation-exclusivity.test.js +0 -41
- package/src/components/waves-indicator.ts +0 -212
- package/src/utils/animation-exclusivity.test.ts +0 -53
- package/src/utils/animation-exclusivity.ts +0 -40
|
@@ -1528,39 +1528,12 @@
|
|
|
1528
1528
|
"members": [
|
|
1529
1529
|
{
|
|
1530
1530
|
"kind": "PropertySignature",
|
|
1531
|
-
"canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#
|
|
1532
|
-
"docComment": "/**\n *
|
|
1533
|
-
"excerptTokens": [
|
|
1534
|
-
{
|
|
1535
|
-
"kind": "Content",
|
|
1536
|
-
"text": "category: "
|
|
1537
|
-
},
|
|
1538
|
-
{
|
|
1539
|
-
"kind": "Content",
|
|
1540
|
-
"text": "string"
|
|
1541
|
-
},
|
|
1542
|
-
{
|
|
1543
|
-
"kind": "Content",
|
|
1544
|
-
"text": ";"
|
|
1545
|
-
}
|
|
1546
|
-
],
|
|
1547
|
-
"isReadonly": false,
|
|
1548
|
-
"isOptional": false,
|
|
1549
|
-
"releaseTag": "Beta",
|
|
1550
|
-
"name": "category",
|
|
1551
|
-
"propertyTypeTokenRange": {
|
|
1552
|
-
"startIndex": 1,
|
|
1553
|
-
"endIndex": 2
|
|
1554
|
-
}
|
|
1555
|
-
},
|
|
1556
|
-
{
|
|
1557
|
-
"kind": "PropertySignature",
|
|
1558
|
-
"canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#description:member",
|
|
1559
|
-
"docComment": "/**\n * Short description shown beneath the label in the categorized multiselect.\n */\n",
|
|
1531
|
+
"canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#label:member",
|
|
1532
|
+
"docComment": "/**\n * Display label shown in the settings multiselect.\n */\n",
|
|
1560
1533
|
"excerptTokens": [
|
|
1561
1534
|
{
|
|
1562
1535
|
"kind": "Content",
|
|
1563
|
-
"text": "
|
|
1536
|
+
"text": "label: "
|
|
1564
1537
|
},
|
|
1565
1538
|
{
|
|
1566
1539
|
"kind": "Content",
|
|
@@ -1574,7 +1547,7 @@
|
|
|
1574
1547
|
"isReadonly": false,
|
|
1575
1548
|
"isOptional": false,
|
|
1576
1549
|
"releaseTag": "Beta",
|
|
1577
|
-
"name": "
|
|
1550
|
+
"name": "label",
|
|
1578
1551
|
"propertyTypeTokenRange": {
|
|
1579
1552
|
"startIndex": 1,
|
|
1580
1553
|
"endIndex": 2
|
|
@@ -1582,12 +1555,12 @@
|
|
|
1582
1555
|
},
|
|
1583
1556
|
{
|
|
1584
1557
|
"kind": "PropertySignature",
|
|
1585
|
-
"canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#
|
|
1586
|
-
"docComment": "/**\n *
|
|
1558
|
+
"canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#tooltip:member",
|
|
1559
|
+
"docComment": "/**\n * Short description shown as a tooltip on the option.\n */\n",
|
|
1587
1560
|
"excerptTokens": [
|
|
1588
1561
|
{
|
|
1589
1562
|
"kind": "Content",
|
|
1590
|
-
"text": "
|
|
1563
|
+
"text": "tooltip: "
|
|
1591
1564
|
},
|
|
1592
1565
|
{
|
|
1593
1566
|
"kind": "Content",
|
|
@@ -1601,7 +1574,7 @@
|
|
|
1601
1574
|
"isReadonly": false,
|
|
1602
1575
|
"isOptional": false,
|
|
1603
1576
|
"releaseTag": "Beta",
|
|
1604
|
-
"name": "
|
|
1577
|
+
"name": "tooltip",
|
|
1605
1578
|
"propertyTypeTokenRange": {
|
|
1606
1579
|
"startIndex": 1,
|
|
1607
1580
|
"endIndex": 2
|
|
@@ -2530,7 +2503,7 @@
|
|
|
2530
2503
|
{
|
|
2531
2504
|
"kind": "Variable",
|
|
2532
2505
|
"canonicalReference": "@genesislcap/ai-assistant!ANIMATION_DEFS:var",
|
|
2533
|
-
"docComment": "/**\n * Registry of all available animations with their display metadata. Adding an entry here automatically extends the {@link AiAssistantAnimation} type.\n *\n * @
|
|
2506
|
+
"docComment": "/**\n * Registry of all available animations with their display metadata. Adding an entry here automatically extends the {@link AiAssistantAnimation} type.\n *\n * @beta\n */\n",
|
|
2534
2507
|
"excerptTokens": [
|
|
2535
2508
|
{
|
|
2536
2509
|
"kind": "Content",
|
|
@@ -2538,7 +2511,7 @@
|
|
|
2538
2511
|
},
|
|
2539
2512
|
{
|
|
2540
2513
|
"kind": "Content",
|
|
2541
|
-
"text": "{\n loading: {\n label: string;\n
|
|
2514
|
+
"text": "{\n loading: {\n label: string;\n tooltip: string;\n };\n halo: {\n label: string;\n tooltip: string;\n };\n}"
|
|
2542
2515
|
}
|
|
2543
2516
|
],
|
|
2544
2517
|
"fileUrlPath": "src/main/main.types.ts",
|
package/dist/ai-assistant.d.ts
CHANGED
|
@@ -280,10 +280,8 @@ export declare type AiAssistantAnimation = keyof typeof ANIMATION_DEFS;
|
|
|
280
280
|
export declare interface AiAssistantAnimationDef {
|
|
281
281
|
/** Display label shown in the settings multiselect. */
|
|
282
282
|
label: string;
|
|
283
|
-
/** Short description shown
|
|
284
|
-
|
|
285
|
-
/** Group heading the option is listed under in the settings multiselect. */
|
|
286
|
-
category: string;
|
|
283
|
+
/** Short description shown as a tooltip on the option. */
|
|
284
|
+
tooltip: string;
|
|
287
285
|
}
|
|
288
286
|
|
|
289
287
|
/**
|
|
@@ -440,29 +438,16 @@ declare interface AllAgentSummary {
|
|
|
440
438
|
* Registry of all available animations with their display metadata.
|
|
441
439
|
* Adding an entry here automatically extends the {@link AiAssistantAnimation} type.
|
|
442
440
|
*
|
|
443
|
-
* @remarks
|
|
444
|
-
* `loading` (dots) and `waves` are two interchangeable styles of the same
|
|
445
|
-
* "is the assistant working" indicator and are therefore grouped under the same
|
|
446
|
-
* {@link AiAssistantAnimationDef.category}. They are mutually exclusive — see
|
|
447
|
-
* `LOADING_STYLE_ANIMATIONS`.
|
|
448
|
-
*
|
|
449
441
|
* @beta
|
|
450
442
|
*/
|
|
451
443
|
export declare const ANIMATION_DEFS: {
|
|
452
444
|
loading: {
|
|
453
445
|
label: string;
|
|
454
|
-
|
|
455
|
-
category: string;
|
|
456
|
-
};
|
|
457
|
-
waves: {
|
|
458
|
-
label: string;
|
|
459
|
-
description: string;
|
|
460
|
-
category: string;
|
|
446
|
+
tooltip: string;
|
|
461
447
|
};
|
|
462
448
|
halo: {
|
|
463
449
|
label: string;
|
|
464
|
-
|
|
465
|
-
category: string;
|
|
450
|
+
tooltip: string;
|
|
466
451
|
};
|
|
467
452
|
};
|
|
468
453
|
|
|
@@ -1112,15 +1097,6 @@ export declare function createToolFold(config: {
|
|
|
1112
1097
|
exclusive?: boolean;
|
|
1113
1098
|
}): ToolFoldResult;
|
|
1114
1099
|
|
|
1115
|
-
/**
|
|
1116
|
-
* Animations enabled by default when a consumer opts into the animations
|
|
1117
|
-
* feature without specifying an explicit `enabled` list. Keeps the dots loading
|
|
1118
|
-
* style (the long-standing default); the waves style is opt-in.
|
|
1119
|
-
*
|
|
1120
|
-
* @internal
|
|
1121
|
-
*/
|
|
1122
|
-
export declare const DEFAULT_ANIMATIONS: AiAssistantAnimation[];
|
|
1123
|
-
|
|
1124
1100
|
/**
|
|
1125
1101
|
* Identity helper that infers the narrowest possible type for an agent config,
|
|
1126
1102
|
* preserving string literal types (including `name`) without requiring `as const`.
|
|
@@ -1830,14 +1806,6 @@ declare interface InputOverride {
|
|
|
1830
1806
|
mode: ChatInputDuringExecutionMode;
|
|
1831
1807
|
}
|
|
1832
1808
|
|
|
1833
|
-
/**
|
|
1834
|
-
* The interchangeable "assistant is working" loading-indicator styles. At most
|
|
1835
|
-
* one of these may be enabled at a time — enabling one disables the other.
|
|
1836
|
-
*
|
|
1837
|
-
* @internal
|
|
1838
|
-
*/
|
|
1839
|
-
export declare const LOADING_STYLE_ANIMATIONS: readonly ["loading", "waves"];
|
|
1840
|
-
|
|
1841
1809
|
/**
|
|
1842
1810
|
* Opts an agent in to manual selection from the assistant's agent picker.
|
|
1843
1811
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,6BAA6B,EAC7B,cAAc,EACd,UAAU,EACV,4BAA4B,EAC5B,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAGL,cAAc,EAIf,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,iDAu0BlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.template.d.ts","sourceRoot":"","sources":["../../../src/main/main.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,EAAuC,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"main.template.d.ts","sourceRoot":"","sources":["../../../src/main/main.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,EAAuC,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AA2JpD,gBAAgB;AAChB,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CAujBpC,CAAC"}
|
|
@@ -54,38 +54,23 @@ export type SuggestionsState = {
|
|
|
54
54
|
export interface AiAssistantAnimationDef {
|
|
55
55
|
/** Display label shown in the settings multiselect. */
|
|
56
56
|
label: string;
|
|
57
|
-
/** Short description shown
|
|
58
|
-
|
|
59
|
-
/** Group heading the option is listed under in the settings multiselect. */
|
|
60
|
-
category: string;
|
|
57
|
+
/** Short description shown as a tooltip on the option. */
|
|
58
|
+
tooltip: string;
|
|
61
59
|
}
|
|
62
60
|
/**
|
|
63
61
|
* Registry of all available animations with their display metadata.
|
|
64
62
|
* Adding an entry here automatically extends the {@link AiAssistantAnimation} type.
|
|
65
63
|
*
|
|
66
|
-
* @remarks
|
|
67
|
-
* `loading` (dots) and `waves` are two interchangeable styles of the same
|
|
68
|
-
* "is the assistant working" indicator and are therefore grouped under the same
|
|
69
|
-
* {@link AiAssistantAnimationDef.category}. They are mutually exclusive — see
|
|
70
|
-
* `LOADING_STYLE_ANIMATIONS`.
|
|
71
|
-
*
|
|
72
64
|
* @beta
|
|
73
65
|
*/
|
|
74
66
|
export declare const ANIMATION_DEFS: {
|
|
75
67
|
loading: {
|
|
76
68
|
label: string;
|
|
77
|
-
|
|
78
|
-
category: string;
|
|
79
|
-
};
|
|
80
|
-
waves: {
|
|
81
|
-
label: string;
|
|
82
|
-
description: string;
|
|
83
|
-
category: string;
|
|
69
|
+
tooltip: string;
|
|
84
70
|
};
|
|
85
71
|
halo: {
|
|
86
72
|
label: string;
|
|
87
|
-
|
|
88
|
-
category: string;
|
|
73
|
+
tooltip: string;
|
|
89
74
|
};
|
|
90
75
|
};
|
|
91
76
|
/**
|
|
@@ -100,19 +85,4 @@ export type AiAssistantAnimation = keyof typeof ANIMATION_DEFS;
|
|
|
100
85
|
* @internal
|
|
101
86
|
*/
|
|
102
87
|
export declare const ALL_ANIMATIONS: AiAssistantAnimation[];
|
|
103
|
-
/**
|
|
104
|
-
* The interchangeable "assistant is working" loading-indicator styles. At most
|
|
105
|
-
* one of these may be enabled at a time — enabling one disables the other.
|
|
106
|
-
*
|
|
107
|
-
* @internal
|
|
108
|
-
*/
|
|
109
|
-
export declare const LOADING_STYLE_ANIMATIONS: readonly ["loading", "waves"];
|
|
110
|
-
/**
|
|
111
|
-
* Animations enabled by default when a consumer opts into the animations
|
|
112
|
-
* feature without specifying an explicit `enabled` list. Keeps the dots loading
|
|
113
|
-
* style (the long-standing default); the waves style is opt-in.
|
|
114
|
-
*
|
|
115
|
-
* @internal
|
|
116
|
-
*/
|
|
117
|
-
export declare const DEFAULT_ANIMATIONS: AiAssistantAnimation[];
|
|
118
88
|
//# sourceMappingURL=main.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.types.d.ts","sourceRoot":"","sources":["../../../src/main/main.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/C,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"main.types.d.ts","sourceRoot":"","sources":["../../../src/main/main.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/C,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;CASwB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,cAAc,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAkC,oBAAoB,EAAE,CAAC"}
|
package/dist/esm/main/main.js
CHANGED
|
@@ -35,21 +35,19 @@ import { AiChatInteractionWrapper } from '../components/chat-interaction-wrapper
|
|
|
35
35
|
import { AiChatMarkdown } from '../components/chat-markdown/chat-markdown';
|
|
36
36
|
import { AiHaloOverlay } from '../components/halo-overlay';
|
|
37
37
|
import { OrchestratingDriver } from '../components/orchestrating-driver/orchestrating-driver';
|
|
38
|
-
import { AiWavesIndicator } from '../components/waves-indicator';
|
|
39
38
|
import { recordMetaEvent, getMetaEvents, DEBUG_LOG_README, } from '../state/debug-event-log';
|
|
40
39
|
import { getOrCreateDriver, getDriver, deleteDriver } from '../state/driver-registry';
|
|
41
40
|
import { getSessionStore, hasSessionStore } from '../state/session-store';
|
|
42
41
|
import { AI_COLOUR_AMBER, AI_COLOUR_CYAN, AI_COLOUR_PINK, AI_COLOUR_VIOLET, } from '../styles/ai-colours';
|
|
43
42
|
import { ChatSuggestions } from '../suggestions/chat-suggestions';
|
|
44
43
|
import { AnimatedPanelToggle } from '../utils/animated-panel-toggle';
|
|
45
|
-
import { resolveExclusiveLoadingStyle } from '../utils/animation-exclusivity';
|
|
46
44
|
import { logger } from '../utils/logger';
|
|
47
45
|
import { filterVisibleMessages, trailingInteractionRow } from '../utils/message-partition';
|
|
48
46
|
import { sumCosts } from '../utils/sum-costs';
|
|
49
47
|
import { expandToolTree } from '../utils/tool-fold';
|
|
50
48
|
import { styles } from './main.styles';
|
|
51
49
|
import { FoundationAiAssistantTemplate } from './main.template';
|
|
52
|
-
import {
|
|
50
|
+
import { ALL_ANIMATIONS } from './main.types';
|
|
53
51
|
/** Context window sizes (in tokens) for known models. */
|
|
54
52
|
/**
|
|
55
53
|
* Pin tint palette, cycled by agent position. Matches the four brand colours
|
|
@@ -92,7 +90,7 @@ const COMPOSER_MAX_HEIGHT_PX = 400;
|
|
|
92
90
|
/** Keep at least this much of the message list visible while growing the composer. */
|
|
93
91
|
const COMPOSER_MIN_MESSAGES_PX = 80;
|
|
94
92
|
// Register supporting components when the main component module is imported.
|
|
95
|
-
avoidTreeShaking(AiChatMarkdown, AiChatInteractionWrapper, AiHaloOverlay,
|
|
93
|
+
avoidTreeShaking(AiChatMarkdown, AiChatInteractionWrapper, AiHaloOverlay, AiChatBubble, AiActivityHalo, ChatSuggestions, AgentPicker);
|
|
96
94
|
/**
|
|
97
95
|
* Recursively strips non-serializable fields from an agent before storing in Redux:
|
|
98
96
|
* - `toolHandlers` (functions),
|
|
@@ -540,9 +538,7 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
540
538
|
return;
|
|
541
539
|
}
|
|
542
540
|
const last = this.messages[this.messages.length - 1];
|
|
543
|
-
|
|
544
|
-
// interaction means the assistant is computing again (keep the halo).
|
|
545
|
-
if ((last === null || last === void 0 ? void 0 : last.interaction) && !last.interaction.resolved) {
|
|
541
|
+
if (last === null || last === void 0 ? void 0 : last.interaction) {
|
|
546
542
|
this.showHalo = 'no';
|
|
547
543
|
}
|
|
548
544
|
else if (this.showHalo !== 'orchestrating') {
|
|
@@ -915,7 +911,8 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
915
911
|
this.showToolCalls = ui.showToolCalls === true;
|
|
916
912
|
this.showThinkingSteps = ui.showThinkingSteps === true;
|
|
917
913
|
this.showAgentSwitchIndicator = ui.showAgentSwitchIndicator === true;
|
|
918
|
-
this.enabledAnimations =
|
|
914
|
+
this.enabledAnimations =
|
|
915
|
+
(_c = (_b = ui.animations) === null || _b === void 0 ? void 0 : _b.enabled) !== null && _c !== void 0 ? _c : (ui.animations ? [...ALL_ANIMATIONS] : []);
|
|
919
916
|
const defaultAgent = (_d = this.chatConfig.picker) === null || _d === void 0 ? void 0 : _d.defaultAgent;
|
|
920
917
|
if (defaultAgent && ((_e = this.agents) !== null && _e !== void 0 ? _e : []).some((a) => a.name === defaultAgent)) {
|
|
921
918
|
this.pinnedAgentName = defaultAgent;
|
|
@@ -1081,14 +1078,10 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
1081
1078
|
// waiting for the user, not computing.
|
|
1082
1079
|
if (this.busy) {
|
|
1083
1080
|
const last = this.messages[this.messages.length - 1];
|
|
1084
|
-
|
|
1085
|
-
// the user. Once it's resolved — or for any normal step — the assistant is
|
|
1086
|
-
// computing again, so the indicator should resume (e.g. while it works out
|
|
1087
|
-
// the next planning question after the user answers a widget).
|
|
1088
|
-
if ((last === null || last === void 0 ? void 0 : last.interaction) && !last.interaction.resolved) {
|
|
1081
|
+
if (last === null || last === void 0 ? void 0 : last.interaction) {
|
|
1089
1082
|
this.stopLoadingTimer();
|
|
1090
1083
|
}
|
|
1091
|
-
else {
|
|
1084
|
+
else if ((last === null || last === void 0 ? void 0 : last.role) === 'assistant') {
|
|
1092
1085
|
this.startLoadingTimer();
|
|
1093
1086
|
}
|
|
1094
1087
|
}
|
|
@@ -1341,9 +1334,7 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
1341
1334
|
this.showAgentSwitchIndicator = !this.showAgentSwitchIndicator;
|
|
1342
1335
|
}
|
|
1343
1336
|
setEnabledAnimations(animations) {
|
|
1344
|
-
|
|
1345
|
-
// disables the other (see resolveExclusiveLoadingStyle).
|
|
1346
|
-
this.enabledAnimations = resolveExclusiveLoadingStyle(animations, this.enabledAnimations);
|
|
1337
|
+
this.enabledAnimations = animations;
|
|
1347
1338
|
}
|
|
1348
1339
|
getDebugLog() {
|
|
1349
1340
|
var _a, _b, _c, _d, _e, _f, _j, _k, _l, _m, _o, _p, _q;
|
|
@@ -1831,7 +1822,7 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
1831
1822
|
FoundationAiAssistant.SCROLL_BOTTOM_THRESHOLD_PX = 50;
|
|
1832
1823
|
/** Context-usage percentage that fires the one-shot `context.threshold-crossed` event. */
|
|
1833
1824
|
FoundationAiAssistant.CONTEXT_USAGE_WARN_PERCENT = 80;
|
|
1834
|
-
FoundationAiAssistant.DEFAULT_LOADING_DELAY_S =
|
|
1825
|
+
FoundationAiAssistant.DEFAULT_LOADING_DELAY_S = 5;
|
|
1835
1826
|
FoundationAiAssistant.DEFAULT_SUGGESTION_COUNT = 3;
|
|
1836
1827
|
FoundationAiAssistant.MS_PER_SECOND = 1000;
|
|
1837
1828
|
__decorate([
|
|
@@ -95,22 +95,14 @@ export const styles = css `
|
|
|
95
95
|
animation: settings-slide-out 0.2s ease-in forwards;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
width: 100px;
|
|
98
|
+
rapid-multiselect::part(root) {
|
|
99
|
+
min-width: 80px;
|
|
100
|
+
width: 300%;
|
|
102
101
|
}
|
|
103
102
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
(see the layout rules below), so the dropdown must anchor to whichever side
|
|
108
|
-
keeps it inside the panel. Default (narrow) layout puts the control on the
|
|
109
|
-
LEFT, so the dropdown grows rightward. */
|
|
110
|
-
rapid-categorized-multiselect::part(options) {
|
|
111
|
-
width: 200px;
|
|
112
|
-
left: 0;
|
|
113
|
-
right: auto;
|
|
103
|
+
rapid-multiselect::part(control),
|
|
104
|
+
.settings-panel > [part='download-button'] {
|
|
105
|
+
width: fit-content;
|
|
114
106
|
}
|
|
115
107
|
|
|
116
108
|
.settings-panel > [part='toggle-tool-calls'] {
|
|
@@ -129,7 +121,6 @@ export const styles = css `
|
|
|
129
121
|
}
|
|
130
122
|
|
|
131
123
|
.settings-panel > [part='download-button'] {
|
|
132
|
-
width: fit-content;
|
|
133
124
|
grid-column: 2;
|
|
134
125
|
grid-row: 2;
|
|
135
126
|
}
|
|
@@ -179,13 +170,6 @@ export const styles = css `
|
|
|
179
170
|
.settings-panel > .settings-animations {
|
|
180
171
|
grid-row: 2;
|
|
181
172
|
}
|
|
182
|
-
|
|
183
|
-
/* Control now sits on the RIGHT (justify-self: end / margin-left: auto in
|
|
184
|
-
the wider layouts), so the dropdown grows leftward to stay in the panel. */
|
|
185
|
-
rapid-categorized-multiselect::part(options) {
|
|
186
|
-
left: auto;
|
|
187
|
-
right: 0;
|
|
188
|
-
}
|
|
189
173
|
}
|
|
190
174
|
|
|
191
175
|
@container (min-width: 750px) {
|
|
@@ -819,22 +803,6 @@ export const styles = css `
|
|
|
819
803
|
}
|
|
820
804
|
}
|
|
821
805
|
|
|
822
|
-
.thinking-waves {
|
|
823
|
-
display: flex;
|
|
824
|
-
flex-direction: column;
|
|
825
|
-
align-items: center;
|
|
826
|
-
align-self: center;
|
|
827
|
-
gap: 6px;
|
|
828
|
-
padding: calc(var(--design-unit) * 2px) calc(var(--design-unit) * 3px);
|
|
829
|
-
}
|
|
830
|
-
|
|
831
|
-
.thinking-caption {
|
|
832
|
-
font-size: var(--type-ramp-minus-1-font-size, 12px);
|
|
833
|
-
line-height: var(--type-ramp-minus-1-line-height, 16px);
|
|
834
|
-
color: var(--neutral-foreground-rest);
|
|
835
|
-
opacity: 70%;
|
|
836
|
-
}
|
|
837
|
-
|
|
838
806
|
.attachment-chips {
|
|
839
807
|
display: flex;
|
|
840
808
|
flex-wrap: wrap;
|
|
@@ -31,16 +31,18 @@ function unknownToolPayload(tc) {
|
|
|
31
31
|
}
|
|
32
32
|
return lines.join('\n');
|
|
33
33
|
}
|
|
34
|
+
const animationItemRenderer = (option) => html `
|
|
35
|
+
<span part="option-label" title="${() => option.tooltip}">${() => option.label}</span>
|
|
36
|
+
`;
|
|
34
37
|
const HALO_SPEED_DEFAULT = 1.5;
|
|
35
38
|
const HALO_SPEED_ORCHESTRATING = 0.4;
|
|
36
39
|
const HALO_BORDER_SIZE_DEFAULT = 3;
|
|
37
40
|
/** Decimal places shown for the running session cost (USD). 4 ≈ $0.0001 resolution. */
|
|
38
41
|
const SESSION_COST_DECIMALS = 4;
|
|
39
42
|
const animationOptions = Object.entries(ANIMATION_DEFS).map(([value, def]) => ({
|
|
40
|
-
type: def.category,
|
|
41
43
|
value,
|
|
42
44
|
label: def.label,
|
|
43
|
-
|
|
45
|
+
tooltip: def.tooltip,
|
|
44
46
|
}));
|
|
45
47
|
// Avatar markup is owned by the component (`assistantIconSafe` / `userIconSafe`),
|
|
46
48
|
// which holds the sanitized SVG string for the default or any consumer override
|
|
@@ -134,34 +136,12 @@ const liveSubAgentTraceTemplate = html `
|
|
|
134
136
|
${repeat((x) => x.liveSubAgentTrace.filter((m) => m.role !== 'user'), subAgentMessageRowTemplate)}
|
|
135
137
|
</div>
|
|
136
138
|
`;
|
|
137
|
-
// The two interchangeable loading indicators. These MUST be stable module-level
|
|
138
|
-
// instances: the binding that selects between them reads `enabledAnimations`,
|
|
139
|
-
// which is backed by the redux store proxy and re-evaluates on every change to
|
|
140
|
-
// the aiAssistant slice (i.e. every new message, including hidden tool-call and
|
|
141
|
-
// thinking-step messages). Returning a fresh `html` instance from that binding
|
|
142
|
-
// would make FAST tear down and rebuild the indicator DOM each time, restarting
|
|
143
|
-
// the dots' CSS animation and the waves' rAF loop. Stable references let FAST
|
|
144
|
-
// reuse the existing view so the animation runs uninterrupted.
|
|
145
|
-
const thinkingDotsTemplate = html `
|
|
146
|
-
<div class="thinking-dots">
|
|
147
|
-
<div class="dot dot-1"></div>
|
|
148
|
-
<div class="dot dot-2"></div>
|
|
149
|
-
<div class="dot dot-3"></div>
|
|
150
|
-
<div class="dot dot-4"></div>
|
|
151
|
-
</div>
|
|
152
|
-
`;
|
|
153
|
-
const thinkingWavesTemplate = html `
|
|
154
|
-
<div class="thinking-waves" part="thinking-waves">
|
|
155
|
-
<ai-waves-indicator></ai-waves-indicator>
|
|
156
|
-
<span class="thinking-caption">Thinking...</span>
|
|
157
|
-
</div>
|
|
158
|
-
`;
|
|
159
139
|
// ─── Public factory ───────────────────────────────────────────────────────────
|
|
160
140
|
/** @internal */
|
|
161
141
|
export const FoundationAiAssistantTemplate = (designSystemPrefix) => {
|
|
162
142
|
const buttonTag = `${designSystemPrefix}-button`;
|
|
163
143
|
const switchTag = `${designSystemPrefix}-switch`;
|
|
164
|
-
const
|
|
144
|
+
const multiselectTag = `${designSystemPrefix}-multiselect`;
|
|
165
145
|
const textareaTag = `${designSystemPrefix}-text-area`;
|
|
166
146
|
const iconTag = `${designSystemPrefix}-icon`;
|
|
167
147
|
const progressTag = `${designSystemPrefix}-progress`;
|
|
@@ -376,13 +356,15 @@ ${(tc) => { var _a; return (((_a = tc.foldPath) === null || _a === void 0 ? void
|
|
|
376
356
|
${when((x) => { var _a, _b; return ((_b = (_a = x.chatConfig.ui) === null || _a === void 0 ? void 0 : _a.animations) === null || _b === void 0 ? void 0 : _b.userConfigurable) === true; }, html `
|
|
377
357
|
<div class="settings-animations">
|
|
378
358
|
<span class="settings-label">Animations</span>
|
|
379
|
-
<${
|
|
359
|
+
<${multiselectTag}
|
|
380
360
|
part="toggle-animations"
|
|
381
361
|
:selectedOptions=${(x) => x.enabledAnimations}
|
|
382
362
|
:options=${() => animationOptions}
|
|
363
|
+
:itemRenderer=${() => animationItemRenderer}
|
|
383
364
|
@selectionChange=${(x, c) => x.setEnabledAnimations(c.event.detail)}
|
|
384
365
|
search="false"
|
|
385
|
-
|
|
366
|
+
all="false"
|
|
367
|
+
></${multiselectTag}>
|
|
386
368
|
</div>
|
|
387
369
|
`)}
|
|
388
370
|
</div>
|
|
@@ -471,9 +453,7 @@ ${(tc) => { var _a; return (((_a = tc.foldPath) === null || _a === void 0 ? void
|
|
|
471
453
|
${when((x) => {
|
|
472
454
|
var _a;
|
|
473
455
|
return x.showLoadingIndicator &&
|
|
474
|
-
(((_a = x.chatConfig.ui) === null || _a === void 0 ? void 0 : _a.animations) == null ||
|
|
475
|
-
x.enabledAnimations.includes('loading') ||
|
|
476
|
-
x.enabledAnimations.includes('waves'));
|
|
456
|
+
(((_a = x.chatConfig.ui) === null || _a === void 0 ? void 0 : _a.animations) == null || x.enabledAnimations.includes('loading'));
|
|
477
457
|
}, html `
|
|
478
458
|
<div class="message-row ai" part="thinking">
|
|
479
459
|
<div class="avatar">
|
|
@@ -485,9 +465,12 @@ ${(tc) => { var _a; return (((_a = tc.foldPath) === null || _a === void 0 ? void
|
|
|
485
465
|
<span class="avatar-icon" :innerHTML="${() => x.assistantIconSafe}"></span>
|
|
486
466
|
`}
|
|
487
467
|
</div>
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
468
|
+
<div class="thinking-dots">
|
|
469
|
+
<div class="dot dot-1"></div>
|
|
470
|
+
<div class="dot dot-2"></div>
|
|
471
|
+
<div class="dot dot-3"></div>
|
|
472
|
+
<div class="dot dot-4"></div>
|
|
473
|
+
</div>
|
|
491
474
|
</div>
|
|
492
475
|
`)}
|
|
493
476
|
</div>
|
|
@@ -2,29 +2,16 @@
|
|
|
2
2
|
* Registry of all available animations with their display metadata.
|
|
3
3
|
* Adding an entry here automatically extends the {@link AiAssistantAnimation} type.
|
|
4
4
|
*
|
|
5
|
-
* @remarks
|
|
6
|
-
* `loading` (dots) and `waves` are two interchangeable styles of the same
|
|
7
|
-
* "is the assistant working" indicator and are therefore grouped under the same
|
|
8
|
-
* {@link AiAssistantAnimationDef.category}. They are mutually exclusive — see
|
|
9
|
-
* `LOADING_STYLE_ANIMATIONS`.
|
|
10
|
-
*
|
|
11
5
|
* @beta
|
|
12
6
|
*/
|
|
13
7
|
export const ANIMATION_DEFS = {
|
|
14
8
|
loading: {
|
|
15
|
-
label: '
|
|
16
|
-
|
|
17
|
-
category: 'Loading style',
|
|
18
|
-
},
|
|
19
|
-
waves: {
|
|
20
|
-
label: 'Waves',
|
|
21
|
-
description: 'Shows glowing sine waves inside a circle while the assistant is generating a response.',
|
|
22
|
-
category: 'Loading style',
|
|
9
|
+
label: 'Loading indicator',
|
|
10
|
+
tooltip: 'Shows a pulsing animation while the assistant is generating a response.',
|
|
23
11
|
},
|
|
24
12
|
halo: {
|
|
25
13
|
label: 'Halo',
|
|
26
|
-
|
|
27
|
-
category: 'Effects',
|
|
14
|
+
tooltip: 'Displays a glowing halo around the assistant avatar while a response is streaming.',
|
|
28
15
|
},
|
|
29
16
|
};
|
|
30
17
|
/**
|
|
@@ -33,21 +20,3 @@ export const ANIMATION_DEFS = {
|
|
|
33
20
|
* @internal
|
|
34
21
|
*/
|
|
35
22
|
export const ALL_ANIMATIONS = Object.keys(ANIMATION_DEFS);
|
|
36
|
-
/**
|
|
37
|
-
* The interchangeable "assistant is working" loading-indicator styles. At most
|
|
38
|
-
* one of these may be enabled at a time — enabling one disables the other.
|
|
39
|
-
*
|
|
40
|
-
* @internal
|
|
41
|
-
*/
|
|
42
|
-
export const LOADING_STYLE_ANIMATIONS = [
|
|
43
|
-
'loading',
|
|
44
|
-
'waves',
|
|
45
|
-
];
|
|
46
|
-
/**
|
|
47
|
-
* Animations enabled by default when a consumer opts into the animations
|
|
48
|
-
* feature without specifying an explicit `enabled` list. Keeps the dots loading
|
|
49
|
-
* style (the long-standing default); the waves style is opt-in.
|
|
50
|
-
*
|
|
51
|
-
* @internal
|
|
52
|
-
*/
|
|
53
|
-
export const DEFAULT_ANIMATIONS = ['loading', 'halo'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/channel/ai-activity-bus.ts","../src/channel/ai-activity-channel.ts","../src/components/halo-overlay.ts","../src/components/
|
|
1
|
+
{"root":["../src/index.ts","../src/channel/ai-activity-bus.ts","../src/channel/ai-activity-channel.ts","../src/components/halo-overlay.ts","../src/components/activity-halo/activity-halo.ts","../src/components/agent-picker/agent-picker.constants.ts","../src/components/agent-picker/agent-picker.styles.ts","../src/components/agent-picker/agent-picker.template.ts","../src/components/agent-picker/agent-picker.ts","../src/components/agent-picker/index.ts","../src/components/ai-driver/ai-driver.ts","../src/components/ai-driver/index.ts","../src/components/chat-bubble/chat-bubble.styles.ts","../src/components/chat-bubble/chat-bubble.template.ts","../src/components/chat-bubble/chat-bubble.ts","../src/components/chat-bubble/index.ts","../src/components/chat-driver/align-event-globals.ts","../src/components/chat-driver/chat-driver.test.ts","../src/components/chat-driver/chat-driver.ts","../src/components/chat-driver/index.ts","../src/components/chat-interaction-wrapper/chat-interaction-wrapper.styles.ts","../src/components/chat-interaction-wrapper/chat-interaction-wrapper.template.ts","../src/components/chat-interaction-wrapper/chat-interaction-wrapper.test.ts","../src/components/chat-interaction-wrapper/chat-interaction-wrapper.ts","../src/components/chat-interaction-wrapper/index.ts","../src/components/chat-markdown/chat-markdown.ts","../src/components/chat-markdown/index.ts","../src/components/orchestrating-driver/index.ts","../src/components/orchestrating-driver/orchestrating-driver.ts","../src/components/popout-manager/index.ts","../src/components/popout-manager/popout-manager.ts","../src/config/config.ts","../src/config/define-stateful-agent.ts","../src/config/fallback-agents.ts","../src/config/index.ts","../src/config/validate-providers.test.ts","../src/config/validate-providers.ts","../src/main/index.ts","../src/main/main.styles.ts","../src/main/main.template.ts","../src/main/main.ts","../src/main/main.types.ts","../src/state/ai-assistant-slice.ts","../src/state/debug-event-log.ts","../src/state/driver-registry.ts","../src/state/session-store.ts","../src/styles/ai-colours.ts","../src/styles/index.ts","../src/styles/styles.ts","../src/suggestions/chat-suggestions.ts","../src/tags/index.ts","../src/types/ai-chat-widget.ts","../src/utils/animated-panel-toggle.ts","../src/utils/history-transform.ts","../src/utils/index.ts","../src/utils/logger.ts","../src/utils/message-partition.test.ts","../src/utils/message-partition.ts","../src/utils/sum-costs.test.ts","../src/utils/sum-costs.ts","../src/utils/tool-fold.ts"],"version":"5.9.2"}
|