@genesislcap/ai-assistant 14.458.0 → 14.458.1-GENC-0.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.
@@ -1528,12 +1528,12 @@
1528
1528
  "members": [
1529
1529
  {
1530
1530
  "kind": "PropertySignature",
1531
- "canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#label:member",
1532
- "docComment": "/**\n * Display label shown in the settings multiselect.\n */\n",
1531
+ "canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#category:member",
1532
+ "docComment": "/**\n * Group heading the option is listed under in the settings multiselect.\n */\n",
1533
1533
  "excerptTokens": [
1534
1534
  {
1535
1535
  "kind": "Content",
1536
- "text": "label: "
1536
+ "text": "category: "
1537
1537
  },
1538
1538
  {
1539
1539
  "kind": "Content",
@@ -1547,7 +1547,7 @@
1547
1547
  "isReadonly": false,
1548
1548
  "isOptional": false,
1549
1549
  "releaseTag": "Beta",
1550
- "name": "label",
1550
+ "name": "category",
1551
1551
  "propertyTypeTokenRange": {
1552
1552
  "startIndex": 1,
1553
1553
  "endIndex": 2
@@ -1555,12 +1555,12 @@
1555
1555
  },
1556
1556
  {
1557
1557
  "kind": "PropertySignature",
1558
- "canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#tooltip:member",
1559
- "docComment": "/**\n * Short description shown as a tooltip on the option.\n */\n",
1558
+ "canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#description:member",
1559
+ "docComment": "/**\n * Short description shown beneath the label in the categorized multiselect.\n */\n",
1560
1560
  "excerptTokens": [
1561
1561
  {
1562
1562
  "kind": "Content",
1563
- "text": "tooltip: "
1563
+ "text": "description: "
1564
1564
  },
1565
1565
  {
1566
1566
  "kind": "Content",
@@ -1574,7 +1574,34 @@
1574
1574
  "isReadonly": false,
1575
1575
  "isOptional": false,
1576
1576
  "releaseTag": "Beta",
1577
- "name": "tooltip",
1577
+ "name": "description",
1578
+ "propertyTypeTokenRange": {
1579
+ "startIndex": 1,
1580
+ "endIndex": 2
1581
+ }
1582
+ },
1583
+ {
1584
+ "kind": "PropertySignature",
1585
+ "canonicalReference": "@genesislcap/ai-assistant!AiAssistantAnimationDef#label:member",
1586
+ "docComment": "/**\n * Display label shown in the settings multiselect.\n */\n",
1587
+ "excerptTokens": [
1588
+ {
1589
+ "kind": "Content",
1590
+ "text": "label: "
1591
+ },
1592
+ {
1593
+ "kind": "Content",
1594
+ "text": "string"
1595
+ },
1596
+ {
1597
+ "kind": "Content",
1598
+ "text": ";"
1599
+ }
1600
+ ],
1601
+ "isReadonly": false,
1602
+ "isOptional": false,
1603
+ "releaseTag": "Beta",
1604
+ "name": "label",
1578
1605
  "propertyTypeTokenRange": {
1579
1606
  "startIndex": 1,
1580
1607
  "endIndex": 2
@@ -2503,7 +2530,7 @@
2503
2530
  {
2504
2531
  "kind": "Variable",
2505
2532
  "canonicalReference": "@genesislcap/ai-assistant!ANIMATION_DEFS:var",
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",
2533
+ "docComment": "/**\n * Registry of all available animations with their display metadata. Adding an entry here automatically extends the {@link AiAssistantAnimation} type.\n *\n * @remarks\n *\n * `loading` (dots) and `waves` are two interchangeable styles of the same \"is the assistant working\" indicator and are therefore grouped under the same {@link AiAssistantAnimationDef.category}. They are mutually exclusive — see `LOADING_STYLE_ANIMATIONS`.\n *\n * @beta\n */\n",
2507
2534
  "excerptTokens": [
2508
2535
  {
2509
2536
  "kind": "Content",
@@ -2511,7 +2538,7 @@
2511
2538
  },
2512
2539
  {
2513
2540
  "kind": "Content",
2514
- "text": "{\n loading: {\n label: string;\n tooltip: string;\n };\n halo: {\n label: string;\n tooltip: string;\n };\n}"
2541
+ "text": "{\n loading: {\n label: string;\n description: string;\n category: string;\n };\n waves: {\n label: string;\n description: string;\n category: string;\n };\n halo: {\n label: string;\n description: string;\n category: string;\n };\n}"
2515
2542
  }
2516
2543
  ],
2517
2544
  "fileUrlPath": "src/main/main.types.ts",
@@ -280,8 +280,10 @@ 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 as a tooltip on the option. */
284
- tooltip: string;
283
+ /** Short description shown beneath the label in the categorized multiselect. */
284
+ description: string;
285
+ /** Group heading the option is listed under in the settings multiselect. */
286
+ category: string;
285
287
  }
286
288
 
287
289
  /**
@@ -438,16 +440,29 @@ declare interface AllAgentSummary {
438
440
  * Registry of all available animations with their display metadata.
439
441
  * Adding an entry here automatically extends the {@link AiAssistantAnimation} type.
440
442
  *
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
+ *
441
449
  * @beta
442
450
  */
443
451
  export declare const ANIMATION_DEFS: {
444
452
  loading: {
445
453
  label: string;
446
- tooltip: string;
454
+ description: string;
455
+ category: string;
456
+ };
457
+ waves: {
458
+ label: string;
459
+ description: string;
460
+ category: string;
447
461
  };
448
462
  halo: {
449
463
  label: string;
450
- tooltip: string;
464
+ description: string;
465
+ category: string;
451
466
  };
452
467
  };
453
468
 
@@ -1097,6 +1112,15 @@ export declare function createToolFold(config: {
1097
1112
  exclusive?: boolean;
1098
1113
  }): ToolFoldResult;
1099
1114
 
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
+
1100
1124
  /**
1101
1125
  * Identity helper that infers the narrowest possible type for an agent config,
1102
1126
  * preserving string literal types (including `name`) without requiring `as const`.
@@ -1806,6 +1830,14 @@ declare interface InputOverride {
1806
1830
  mode: ChatInputDuringExecutionMode;
1807
1831
  }
1808
1832
 
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
+
1809
1841
  /**
1810
1842
  * Opts an agent in to manual selection from the assistant's agent picker.
1811
1843
  *
@@ -0,0 +1,30 @@
1
+ import { GenesisElement } from '@genesislcap/web-core';
2
+ /**
3
+ * Animated "waves inside a circle" loading indicator — coloured sine waves that
4
+ * slosh like glowing liquid inside a circular window, ringed by a rotating
5
+ * gradient halo (the same effect as `<ai-halo-overlay>`).
6
+ *
7
+ * Visual sibling of the dots loading indicator; the two are interchangeable
8
+ * styles of the same "assistant is working" state.
9
+ *
10
+ * @example
11
+ * ```html
12
+ * <ai-waves-indicator size="56"></ai-waves-indicator>
13
+ * ```
14
+ *
15
+ * @beta
16
+ */
17
+ export declare class AiWavesIndicator extends GenesisElement {
18
+ /** Diameter of the circular window in px. Default: 56. */
19
+ size: number;
20
+ sizeChanged(): void;
21
+ private frame;
22
+ private animFrame?;
23
+ private wavePaths?;
24
+ connectedCallback(): void;
25
+ disconnectedCallback(): void;
26
+ private tick;
27
+ /** Trace one wave's polyline `d` attribute for the given frame. */
28
+ private static buildWavePath;
29
+ }
30
+ //# sourceMappingURL=waves-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waves-indicator.d.ts","sourceRoot":"","sources":["../../../src/components/waves-indicator.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,cAAc,EAAQ,MAAM,uBAAuB,CAAC;AAwFvF;;;;;;;;;;;;;;GAcG;AACH,qBAkDa,gBAAiB,SAAQ,cAAc;IAClD,0DAA0D;IACC,IAAI,EAAE,MAAM,CAAsB;IAE7F,WAAW;IAQX,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,iBAAiB;IAKjB,oBAAoB;IAQpB,OAAO,CAAC,IAAI;IAYZ,mEAAmE;IACnE,OAAO,CAAC,MAAM,CAAC,aAAa;CAY7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"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"}
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;AAa/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAkBlC,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAiBtB,8FAA8F;AAC9F,eAAO,MAAM,cAAc,ugBAAqf,CAAC;AAEjhB,+CAA+C;AAC/C,eAAO,MAAM,WAAW,0OAAgO,CAAC;AAEzP,sFAAsF;AACtF,eAAO,MAAM,cAAc,yrBAA+qB,CAAC;AAiF3sB;;;;;;;;;;;;;;;;GAgBG;AACH,qBAOa,qBAAsB,SAAQ,cAAc;IACnC,gBAAgB,EAAG,kBAAkB,CAAC;IAE9C,kBAAkB,EAAE,MAAM,CAAW;IACZ,WAAW,EAAE,MAAM,CAAuB;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IAE7D;;;;;;OAMG;IACS,aAAa,CAAC,EAAE,MAAM,CAAC;IACnC,iGAAiG;IACrF,iBAAiB,EAAE,MAAM,CAAkB;IACvD,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAMtC;;;;;OAKG;IACS,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC9B,2FAA2F;IAC/E,YAAY,EAAE,MAAM,CAAe;IAC/C,SAAS,CAAC,eAAe,IAAI,IAAI;IAIzB,WAAW,EAAE,MAAM,CAA0B;IACrD;;;;;OAKG;IACiC,UAAU,CAAC,EAAE,UAAU,CAAC;IAC5D;;;OAGG;IACS,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,UAAU,CAAM;IAExC;;;OAGG;IACH,IAAI,WAAW,IAAI,eAAe,CAEjC;IAED;;;;;;OAMG;IACH,IACI,sBAAsB,IAAI,OAAO,CAKpC;IAEW,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9C,0EAA0E;IACrB,UAAU,UAAS;IAIxE,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC,IAAI,QAAQ,IAAI,WAAW,EAAE,CAE5B;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,EAGhC;IAED,IAAI,KAAK,IAAI,gBAAgB,CAE5B;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAqBhC;IAED,iEAAiE;IACjE,OAAO,CAAC,WAAW;IAInB;;;;;;OAMG;IACH,IACI,IAAI,IAAI,OAAO,CAElB;IAED;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAQ/B,IAAI,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,SAAS,CAE/D;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAM7C;IAED,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAE3C;IAED,iEAAiE;IACjE,IAAI,aAAa,IAAI,OAAO,CAE3B;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAE/B;IAED,qEAAqE;IACrE,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAEnC;IAED,8EAA8E;IAC9E,IAAI,wBAAwB,IAAI,OAAO,CAEtC;IACD,IAAI,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAE1C;IAED,oCAAoC;IACpC,IAAI,iBAAiB,IAAI,oBAAoB,EAAE,CAE9C;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAElD;IAED;;;OAGG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,EAEjC;IAED;;;;;;;;;OASG;IACH,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAavC;IAED;;;;;;;;OAQG;IACH,IAAI,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEtC;IACD,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAK1C;IAED,IAAI,iBAAiB,IAAI,WAAW,EAAE,CAErC;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,EAEzC;IAED,IAAI,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEpC;IACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAExC;IAED;;;OAGG;IACH,IAAI,cAAc,0DAEjB;IAED;;;;;OAKG;IACH,IACI,iCAAiC,IAAI,4BAA4B,CAKpE;IAED,yEAAyE;IACzE,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAE1C;IAED,0DAA0D;IAC1D,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IACD,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEzC;IAED,kEAAkE;IAClE,IAAI,cAAc,IAAI,MAAM,CAE3B;IACD,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,EAE/B;IAED,gEAAgE;IAChE,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAExC;IAED,4DAA4D;IAC5D,IAAI,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAE3C;IACD,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAE/C;IAED,+DAA+D;IAC/D,IAAI,gBAAgB,IAAI,6BAA6B,EAAE,CAEtD;IACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,6BAA6B,EAAE,EAE1D;IAID,OAAO,CAAC,sBAAsB,CAAK;IAEnC,IAAI,UAAU,IAAI,MAAM,CAEvB;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAE3B;IACW,WAAW,EAAE,cAAc,EAAE,CAAM;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAC5C,+FAA+F;IACnF,oBAAoB,UAAS;IACzC,0CAA0C;IAC9B,YAAY,UAAS;IACjC,6IAA6I;IACjI,aAAa,UAAS;IAElC,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,kBAAkB,CAAS;IACnC,yHAAyH;IACzH,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,mHAAmH;IACnH,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACS,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnD,4EAA4E;IAC5E,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,kBAAkB,CAAK;IAC/B;iFAC6E;IAC7E,OAAO,CAAC,sBAAsB,CAAK;IACnC;2EACuE;IACvE,OAAO,CAAC,gBAAgB,CAA0B;IAClD;;;;;OAKG;IACS,SAAS,EAAE,OAAO,CAAQ;IACtC,OAAO,CAAC,wBAAwB,CAI9B;IACF,mGAAmG;IACnG,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAM;IACxD,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAM;IACxD,yFAAyF;IACzF,OAAO,CAAC,wBAAwB,CAAC,CAAS;IAC1C,0FAA0F;IAC1F,OAAO,CAAC,wBAAwB,CAAS;IACzC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAE3C;IACF;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB,CAAC,CAAa;IAEnC,QAAQ,EAAE,IAAI,GAAG,eAAe,GAAG,OAAO,CAAQ;IAE9D,OAAO,CAAC,YAAY;IAepB,0FAA0F;IAC1F,IAAI,2BAA2B,IAAI,OAAO,CAIzC;IAED,eAAe;IAWf,OAAO,CAAC,kBAAkB;IAU1B;;;;;;;;;;;;;;OAcG;IACH,IACI,eAAe,IAAI,WAAW,EAAE,CAanC;IAED;;;;;OAKG;IACH,IAAI,oBAAoB,IAAI,WAAW,EAAE,CAExC;IAED,aAAa,IAAI,IAAI;IA4CrB,mGAAmG;IACnG,OAAO,CAAC,YAAY;IAmBpB;;;;OAIG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,6BAA6B;IAoBrC,OAAO,CAAC,YAAY;IA2CpB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA+IlB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAKpB,iBAAiB;IA0GjB,oBAAoB;YA6BN,mBAAmB;YAgBnB,oBAAoB;IAQlC,iBAAiB;IAIjB,oBAAoB;IAWpB,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgF5B,2BAA2B;IAQ3B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAK;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAK;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAQ;IAE7C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAKxB,qDAAqD;IACrD,YAAY,IAAI,IAAI;IAUpB,4FAA4F;IAC5F,OAAO,CAAC,WAAW;IAKnB;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,QAAQ,CAAC,eAAe,CAQ9B;IAEF,cAAc;IAKd,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAQjC;IAEF,iBAAiB;IAKjB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO;IAWnE,gGAAgG;IAChG,IACI,kBAAkB,IAAI,OAAO,CAIhC;IAED,2FAA2F;IAC3F,IACI,eAAe,IAAI,MAAM,GAAG,SAAS,CAGxC;IAED;;;;;;;;OAQG;IACH,IACI,SAAS,IAAI,OAAO,CAEvB;IAED,iDAAiD;IACjD,IACI,gBAAgB,IAAI,MAAM,CAc7B;IAED;;;;;;OAMG;IACH,IACI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAM1C;IAED;;;;OAIG;IACH,IACI,oBAAoB,IAAI,MAAM,CAGjC;IAED,mBAAmB;IAInB,uBAAuB;IAIvB,8BAA8B;IAI9B,oBAAoB,CAAC,UAAU,EAAE,oBAAoB,EAAE;IAMvD,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsHX,gBAAgB;IAehB,gBAAgB,IAAI,IAAI;IAIxB,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAIhC,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAIlD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU5C,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,cAAc;YASR,YAAY;YAoCZ,iBAAiB;IAe/B,eAAe;IAIf;;;;OAIG;IACH,eAAe;IAOf,qBAAqB,CAAC,UAAU,EAAE,MAAM;IAKxC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,aAAa,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;YA0C7E,gBAAgB;YA6DhB,IAAI;IAgDlB,qBAAqB,CAAC,CAAC,EAAE,UAAU;IAYnC,0BAA0B,CAAC,CAAC,EAAE,KAAK;IASnC;iFAC6E;IAC7E,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED;;;iCAG6B;IAC7B,IAAI,mBAAmB,IAAI,MAAM,CAIhC;IAED;iEAC6D;IAC7D,qBAAqB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAoB5C;;;qDAGiD;IACjD,oBAAoB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAS3C,yDAAyD;IACzD,mBAAmB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;CAI3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,iDAu0BlB,CAAC"}
1
+ {"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,iDAu2BlB,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;AA2JpD,gBAAgB;AAChB,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CAujBpC,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;AAwJpD,gBAAgB;AAChB,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CAikBpC,CAAC"}
@@ -54,23 +54,38 @@ 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 as a tooltip on the option. */
58
- tooltip: string;
57
+ /** Short description shown beneath the label in the categorized multiselect. */
58
+ description: string;
59
+ /** Group heading the option is listed under in the settings multiselect. */
60
+ category: string;
59
61
  }
60
62
  /**
61
63
  * Registry of all available animations with their display metadata.
62
64
  * Adding an entry here automatically extends the {@link AiAssistantAnimation} type.
63
65
  *
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
+ *
64
72
  * @beta
65
73
  */
66
74
  export declare const ANIMATION_DEFS: {
67
75
  loading: {
68
76
  label: string;
69
- tooltip: string;
77
+ description: string;
78
+ category: string;
79
+ };
80
+ waves: {
81
+ label: string;
82
+ description: string;
83
+ category: string;
70
84
  };
71
85
  halo: {
72
86
  label: string;
73
- tooltip: string;
87
+ description: string;
88
+ category: string;
74
89
  };
75
90
  };
76
91
  /**
@@ -85,4 +100,19 @@ export type AiAssistantAnimation = keyof typeof ANIMATION_DEFS;
85
100
  * @internal
86
101
  */
87
102
  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[];
88
118
  //# 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,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"}
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,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;CAkBwB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,cAAc,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAkC,oBAAoB,EAAE,CAAC;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,+BAGe,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,oBAAoB,EAAwB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { AiAssistantAnimation } from '../main/main.types';
2
+ /**
3
+ * Enforces that at most one loading-indicator style (dots vs. waves) is enabled
4
+ * at a time. The two are alternative presentations of the same "assistant is
5
+ * working" state, so selecting one must deselect the other.
6
+ *
7
+ * The settings control is a multiselect (checkboxes), which permits selecting
8
+ * both; this resolver makes the loading-style group behave like a radio group
9
+ * by dropping the previously-selected style whenever a new one is added.
10
+ *
11
+ * @param next - The freshly-selected animation list (e.g. emitted by the
12
+ * multiselect, or read from consumer config).
13
+ * @param previous - The animation list in effect before this change. Used to
14
+ * work out which loading style was just added so the other can be dropped.
15
+ * Pass `[]` when resolving an initial/config value with no prior state.
16
+ * @returns `next` with at most one loading style retained. When both are
17
+ * present and neither is newly added (e.g. a misconfigured `enabled` list),
18
+ * the first entry of `LOADING_STYLE_ANIMATIONS` (dots) wins.
19
+ *
20
+ * @internal
21
+ */
22
+ export declare function resolveExclusiveLoadingStyle(next: AiAssistantAnimation[], previous?: AiAssistantAnimation[]): AiAssistantAnimation[];
23
+ //# sourceMappingURL=animation-exclusivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-exclusivity.d.ts","sourceRoot":"","sources":["../../../src/utils/animation-exclusivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,oBAAoB,EAAE,EAC5B,QAAQ,GAAE,oBAAoB,EAAO,GACpC,oBAAoB,EAAE,CAaxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=animation-exclusivity.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-exclusivity.test.d.ts","sourceRoot":"","sources":["../../../src/utils/animation-exclusivity.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,180 @@
1
+ var AiWavesIndicator_1;
2
+ import { __decorate } from "tslib";
3
+ import { avoidTreeShaking } from '@genesislcap/foundation-utils';
4
+ import { attr, css, customElement, GenesisElement, html } from '@genesislcap/web-core';
5
+ import { AI_COLOUR_AMBER, AI_COLOUR_CYAN, AI_COLOUR_PINK, AI_COLOUR_VIOLET, } from '../styles/ai-colours';
6
+ import { AiHaloOverlay } from './halo-overlay';
7
+ const WAVES_DEFAULT_SIZE = 56;
8
+ /** CSS-ready form of `WAVES_DEFAULT_SIZE` (the `css` tag rejects raw numbers). */
9
+ const WAVES_DEFAULT_SIZE_CSS = `${WAVES_DEFAULT_SIZE}px`;
10
+ /** SVG coordinate space the waves are drawn in (square; the circle fills it). */
11
+ const VIEWBOX = 120;
12
+ const CENTRE = VIEWBOX / 2;
13
+ /** Horizontal sampling step when tracing each wave path. Lower = smoother. */
14
+ const SAMPLE_STEP = 6;
15
+ const WAVES = [
16
+ {
17
+ colour: AI_COLOUR_AMBER,
18
+ amplitude: 11,
19
+ frequency: 0.085,
20
+ phaseSpeed: 0.05,
21
+ verticalOffset: -6,
22
+ slosh: 6,
23
+ sloshFrequency: 0.018,
24
+ sloshSpeed: 0.021,
25
+ },
26
+ {
27
+ colour: AI_COLOUR_PINK,
28
+ amplitude: 14,
29
+ frequency: 0.07,
30
+ phaseSpeed: -0.043,
31
+ verticalOffset: -2,
32
+ slosh: 7,
33
+ sloshFrequency: 0.022,
34
+ sloshSpeed: -0.017,
35
+ },
36
+ {
37
+ colour: AI_COLOUR_CYAN,
38
+ amplitude: 13,
39
+ frequency: 0.095,
40
+ phaseSpeed: 0.037,
41
+ verticalOffset: 2,
42
+ slosh: 5,
43
+ sloshFrequency: 0.015,
44
+ sloshSpeed: 0.025,
45
+ },
46
+ {
47
+ colour: AI_COLOUR_VIOLET,
48
+ amplitude: 10,
49
+ frequency: 0.06,
50
+ phaseSpeed: -0.055,
51
+ verticalOffset: 6,
52
+ slosh: 8,
53
+ sloshFrequency: 0.025,
54
+ sloshSpeed: -0.013,
55
+ },
56
+ ];
57
+ const wavePathsMarkup = WAVES.map((w, i) => `<path class="wave" data-wave="${i}" stroke="${w.colour}" />`).join('');
58
+ /**
59
+ * Animated "waves inside a circle" loading indicator — coloured sine waves that
60
+ * slosh like glowing liquid inside a circular window, ringed by a rotating
61
+ * gradient halo (the same effect as `<ai-halo-overlay>`).
62
+ *
63
+ * Visual sibling of the dots loading indicator; the two are interchangeable
64
+ * styles of the same "assistant is working" state.
65
+ *
66
+ * @example
67
+ * ```html
68
+ * <ai-waves-indicator size="56"></ai-waves-indicator>
69
+ * ```
70
+ *
71
+ * @beta
72
+ */
73
+ let AiWavesIndicator = AiWavesIndicator_1 = class AiWavesIndicator extends GenesisElement {
74
+ constructor() {
75
+ super(...arguments);
76
+ /** Diameter of the circular window in px. Default: 56. */
77
+ this.size = WAVES_DEFAULT_SIZE;
78
+ // A rAF loop drives the wave paths for the same reason `<ai-halo-overlay>`
79
+ // hand-drives its rotation: a pure-CSS approach can't produce per-frame sine
80
+ // geometry, and SMIL/`<animate>` can't express the combined travel + slosh.
81
+ this.frame = 0;
82
+ }
83
+ sizeChanged() {
84
+ this.style.setProperty('--waves-size', `${this.size}px`);
85
+ }
86
+ connectedCallback() {
87
+ super.connectedCallback();
88
+ this.tick();
89
+ }
90
+ disconnectedCallback() {
91
+ super.disconnectedCallback();
92
+ if (this.animFrame !== undefined) {
93
+ cancelAnimationFrame(this.animFrame);
94
+ this.animFrame = undefined;
95
+ }
96
+ }
97
+ tick() {
98
+ var _a, _b;
99
+ if (!this.wavePaths) {
100
+ const paths = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.wave');
101
+ if (paths === null || paths === void 0 ? void 0 : paths.length)
102
+ this.wavePaths = Array.from(paths);
103
+ }
104
+ (_b = this.wavePaths) === null || _b === void 0 ? void 0 : _b.forEach((path, i) => {
105
+ path.setAttribute('d', AiWavesIndicator_1.buildWavePath(WAVES[i], this.frame));
106
+ });
107
+ this.frame += 1;
108
+ this.animFrame = requestAnimationFrame(() => this.tick());
109
+ }
110
+ /** Trace one wave's polyline `d` attribute for the given frame. */
111
+ static buildWavePath(cfg, frame) {
112
+ const segments = [];
113
+ for (let x = 0; x <= VIEWBOX; x += SAMPLE_STEP) {
114
+ const y = CENTRE +
115
+ cfg.verticalOffset +
116
+ cfg.amplitude * Math.sin(x * cfg.frequency + frame * cfg.phaseSpeed) +
117
+ cfg.slosh * Math.sin(x * cfg.sloshFrequency + frame * cfg.sloshSpeed);
118
+ segments.push(`${x},${y.toFixed(2)}`);
119
+ }
120
+ return `M ${segments.join(' L ')}`;
121
+ }
122
+ };
123
+ __decorate([
124
+ attr({ converter: { fromView: Number, toView: String } })
125
+ ], AiWavesIndicator.prototype, "size", void 0);
126
+ AiWavesIndicator = AiWavesIndicator_1 = __decorate([
127
+ customElement({
128
+ name: 'ai-waves-indicator',
129
+ template: html `
130
+ <div class="window" role="img" aria-label="Assistant is working">
131
+ <svg class="waves" viewBox="0 0 ${VIEWBOX} ${VIEWBOX}" preserveAspectRatio="none">
132
+ <defs>
133
+ <filter id="wave-glow" x="-20%" y="-20%" width="140%" height="140%">
134
+ <feGaussianBlur stdDeviation="1.6" result="blur" />
135
+ <feMerge>
136
+ <feMergeNode in="blur" />
137
+ <feMergeNode in="SourceGraphic" />
138
+ </feMerge>
139
+ </filter>
140
+ </defs>
141
+ <g filter="url(#wave-glow)">${wavePathsMarkup}</g>
142
+ </svg>
143
+ <ai-halo-overlay active border-size="2" glow-opacity="0.5" glow-spread="55"></ai-halo-overlay>
144
+ </div>
145
+ `,
146
+ styles: css `
147
+ :host {
148
+ display: inline-block;
149
+ width: var(--waves-size, ${WAVES_DEFAULT_SIZE_CSS});
150
+ height: var(--waves-size, ${WAVES_DEFAULT_SIZE_CSS});
151
+ }
152
+
153
+ .window {
154
+ position: relative;
155
+ width: 100%;
156
+ height: 100%;
157
+ border-radius: 50%;
158
+ overflow: hidden;
159
+ background: radial-gradient(circle at 50% 32%, #2b3140 0%, #11141c 55%, #05070c 100%);
160
+ }
161
+
162
+ .waves {
163
+ position: absolute;
164
+ inset: 0;
165
+ width: 100%;
166
+ height: 100%;
167
+ }
168
+
169
+ .wave {
170
+ fill: none;
171
+ stroke-width: 2;
172
+ stroke-linecap: round;
173
+ stroke-linejoin: round;
174
+ }
175
+ `,
176
+ })
177
+ ], AiWavesIndicator);
178
+ export { AiWavesIndicator };
179
+ // Ensure the halo overlay used for the ring is registered alongside this component.
180
+ avoidTreeShaking(AiHaloOverlay);
@@ -35,19 +35,21 @@ 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';
38
39
  import { recordMetaEvent, getMetaEvents, DEBUG_LOG_README, } from '../state/debug-event-log';
39
40
  import { getOrCreateDriver, getDriver, deleteDriver } from '../state/driver-registry';
40
41
  import { getSessionStore, hasSessionStore } from '../state/session-store';
41
42
  import { AI_COLOUR_AMBER, AI_COLOUR_CYAN, AI_COLOUR_PINK, AI_COLOUR_VIOLET, } from '../styles/ai-colours';
42
43
  import { ChatSuggestions } from '../suggestions/chat-suggestions';
43
44
  import { AnimatedPanelToggle } from '../utils/animated-panel-toggle';
45
+ import { resolveExclusiveLoadingStyle } from '../utils/animation-exclusivity';
44
46
  import { logger } from '../utils/logger';
45
47
  import { filterVisibleMessages, trailingInteractionRow } from '../utils/message-partition';
46
48
  import { sumCosts } from '../utils/sum-costs';
47
49
  import { expandToolTree } from '../utils/tool-fold';
48
50
  import { styles } from './main.styles';
49
51
  import { FoundationAiAssistantTemplate } from './main.template';
50
- import { ALL_ANIMATIONS } from './main.types';
52
+ import { DEFAULT_ANIMATIONS } from './main.types';
51
53
  /** Context window sizes (in tokens) for known models. */
52
54
  /**
53
55
  * Pin tint palette, cycled by agent position. Matches the four brand colours
@@ -90,7 +92,7 @@ const COMPOSER_MAX_HEIGHT_PX = 400;
90
92
  /** Keep at least this much of the message list visible while growing the composer. */
91
93
  const COMPOSER_MIN_MESSAGES_PX = 80;
92
94
  // Register supporting components when the main component module is imported.
93
- avoidTreeShaking(AiChatMarkdown, AiChatInteractionWrapper, AiHaloOverlay, AiChatBubble, AiActivityHalo, ChatSuggestions, AgentPicker);
95
+ avoidTreeShaking(AiChatMarkdown, AiChatInteractionWrapper, AiHaloOverlay, AiWavesIndicator, AiChatBubble, AiActivityHalo, ChatSuggestions, AgentPicker);
94
96
  /**
95
97
  * Recursively strips non-serializable fields from an agent before storing in Redux:
96
98
  * - `toolHandlers` (functions),
@@ -538,7 +540,9 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
538
540
  return;
539
541
  }
540
542
  const last = this.messages[this.messages.length - 1];
541
- if (last === null || last === void 0 ? void 0 : last.interaction) {
543
+ // Hide only while a pending interaction blocks on the user; a resolved
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) {
542
546
  this.showHalo = 'no';
543
547
  }
544
548
  else if (this.showHalo !== 'orchestrating') {
@@ -911,8 +915,7 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
911
915
  this.showToolCalls = ui.showToolCalls === true;
912
916
  this.showThinkingSteps = ui.showThinkingSteps === true;
913
917
  this.showAgentSwitchIndicator = ui.showAgentSwitchIndicator === true;
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] : []);
918
+ this.enabledAnimations = resolveExclusiveLoadingStyle((_c = (_b = ui.animations) === null || _b === void 0 ? void 0 : _b.enabled) !== null && _c !== void 0 ? _c : (ui.animations ? [...DEFAULT_ANIMATIONS] : []));
916
919
  const defaultAgent = (_d = this.chatConfig.picker) === null || _d === void 0 ? void 0 : _d.defaultAgent;
917
920
  if (defaultAgent && ((_e = this.agents) !== null && _e !== void 0 ? _e : []).some((a) => a.name === defaultAgent)) {
918
921
  this.pinnedAgentName = defaultAgent;
@@ -1078,10 +1081,14 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
1078
1081
  // waiting for the user, not computing.
1079
1082
  if (this.busy) {
1080
1083
  const last = this.messages[this.messages.length - 1];
1081
- if (last === null || last === void 0 ? void 0 : last.interaction) {
1084
+ // Only a *pending* interaction means the assistant is blocked waiting on
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) {
1082
1089
  this.stopLoadingTimer();
1083
1090
  }
1084
- else if ((last === null || last === void 0 ? void 0 : last.role) === 'assistant') {
1091
+ else {
1085
1092
  this.startLoadingTimer();
1086
1093
  }
1087
1094
  }
@@ -1334,7 +1341,9 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
1334
1341
  this.showAgentSwitchIndicator = !this.showAgentSwitchIndicator;
1335
1342
  }
1336
1343
  setEnabledAnimations(animations) {
1337
- this.enabledAnimations = animations;
1344
+ // The dots and waves loading styles are mutually exclusive — enabling one
1345
+ // disables the other (see resolveExclusiveLoadingStyle).
1346
+ this.enabledAnimations = resolveExclusiveLoadingStyle(animations, this.enabledAnimations);
1338
1347
  }
1339
1348
  getDebugLog() {
1340
1349
  var _a, _b, _c, _d, _e, _f, _j, _k, _l, _m, _o, _p, _q;
@@ -1822,7 +1831,7 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
1822
1831
  FoundationAiAssistant.SCROLL_BOTTOM_THRESHOLD_PX = 50;
1823
1832
  /** Context-usage percentage that fires the one-shot `context.threshold-crossed` event. */
1824
1833
  FoundationAiAssistant.CONTEXT_USAGE_WARN_PERCENT = 80;
1825
- FoundationAiAssistant.DEFAULT_LOADING_DELAY_S = 5;
1834
+ FoundationAiAssistant.DEFAULT_LOADING_DELAY_S = 0;
1826
1835
  FoundationAiAssistant.DEFAULT_SUGGESTION_COUNT = 3;
1827
1836
  FoundationAiAssistant.MS_PER_SECOND = 1000;
1828
1837
  __decorate([