@genesislcap/ai-assistant 15.19.1 → 15.19.2-FUI-2596.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/custom-elements.json +195 -195
- 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/react.d.ts +9 -9
- package/dist/esm/main/main.styles.js +51 -0
- package/dist/esm/main/main.template.js +10 -1
- package/dist/react.cjs +6 -6
- package/dist/react.mjs +5 -5
- package/package.json +16 -16
|
@@ -9961,201 +9961,6 @@
|
|
|
9961
9961
|
}
|
|
9962
9962
|
]
|
|
9963
9963
|
},
|
|
9964
|
-
{
|
|
9965
|
-
"kind": "javascript-module",
|
|
9966
|
-
"path": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.styles.ts",
|
|
9967
|
-
"declarations": [
|
|
9968
|
-
{
|
|
9969
|
-
"kind": "variable",
|
|
9970
|
-
"name": "AiChatInteractionWrapperStyles",
|
|
9971
|
-
"default": "css`\n :host {\n display: block;\n }\n`"
|
|
9972
|
-
}
|
|
9973
|
-
],
|
|
9974
|
-
"exports": [
|
|
9975
|
-
{
|
|
9976
|
-
"kind": "js",
|
|
9977
|
-
"name": "AiChatInteractionWrapperStyles",
|
|
9978
|
-
"declaration": {
|
|
9979
|
-
"name": "AiChatInteractionWrapperStyles",
|
|
9980
|
-
"module": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.styles.ts"
|
|
9981
|
-
}
|
|
9982
|
-
}
|
|
9983
|
-
]
|
|
9984
|
-
},
|
|
9985
|
-
{
|
|
9986
|
-
"kind": "javascript-module",
|
|
9987
|
-
"path": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.template.ts",
|
|
9988
|
-
"declarations": [
|
|
9989
|
-
{
|
|
9990
|
-
"kind": "variable",
|
|
9991
|
-
"name": "AiChatInteractionWrapperTemplate",
|
|
9992
|
-
"default": "html<AiChatInteractionWrapper>`\n <div ${ref('container')} class=\"container\" part=\"container\"></div>\n`"
|
|
9993
|
-
}
|
|
9994
|
-
],
|
|
9995
|
-
"exports": [
|
|
9996
|
-
{
|
|
9997
|
-
"kind": "js",
|
|
9998
|
-
"name": "AiChatInteractionWrapperTemplate",
|
|
9999
|
-
"declaration": {
|
|
10000
|
-
"name": "AiChatInteractionWrapperTemplate",
|
|
10001
|
-
"module": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.template.ts"
|
|
10002
|
-
}
|
|
10003
|
-
}
|
|
10004
|
-
]
|
|
10005
|
-
},
|
|
10006
|
-
{
|
|
10007
|
-
"kind": "javascript-module",
|
|
10008
|
-
"path": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.ts",
|
|
10009
|
-
"declarations": [
|
|
10010
|
-
{
|
|
10011
|
-
"kind": "class",
|
|
10012
|
-
"description": "Hosts an interactive AI chat sub-component by tag name.",
|
|
10013
|
-
"name": "AiChatInteractionWrapper",
|
|
10014
|
-
"members": [
|
|
10015
|
-
{
|
|
10016
|
-
"kind": "field",
|
|
10017
|
-
"name": "resolved",
|
|
10018
|
-
"type": {
|
|
10019
|
-
"text": "InteractionResult<unknown> | undefined"
|
|
10020
|
-
},
|
|
10021
|
-
"default": "undefined",
|
|
10022
|
-
"description": "The resolved result once the interaction has completed. Forwarded to the rendered component. @internal"
|
|
10023
|
-
},
|
|
10024
|
-
{
|
|
10025
|
-
"kind": "field",
|
|
10026
|
-
"name": "_resizeObserver",
|
|
10027
|
-
"type": {
|
|
10028
|
-
"text": "ResizeObserver | undefined"
|
|
10029
|
-
},
|
|
10030
|
-
"privacy": "private",
|
|
10031
|
-
"description": "Observes the rendered widget for mid-lifecycle size changes — see observeWidgetResize."
|
|
10032
|
-
},
|
|
10033
|
-
{
|
|
10034
|
-
"kind": "method",
|
|
10035
|
-
"name": "componentNameChanged"
|
|
10036
|
-
},
|
|
10037
|
-
{
|
|
10038
|
-
"kind": "method",
|
|
10039
|
-
"name": "interactionIdChanged",
|
|
10040
|
-
"description": "Re-render the hosted widget when the interaction identity changes. This\nensures widgets don't go stale with them being rendered with `recycle: true`\nwhen messages are dynamically filtered, showing/hiding thinking/tool calls\n\n`interactionId` is a per-interaction UUID, so it changes exactly when the\nhosted interaction does. Property bindings apply in template order\n(componentName, data, interactionId), so `data` is already rebound by the\ntime this fires and the fresh widget is built with the correct data."
|
|
10041
|
-
},
|
|
10042
|
-
{
|
|
10043
|
-
"kind": "method",
|
|
10044
|
-
"name": "resolvedChanged"
|
|
10045
|
-
},
|
|
10046
|
-
{
|
|
10047
|
-
"kind": "method",
|
|
10048
|
-
"name": "observeWidgetResize",
|
|
10049
|
-
"privacy": "private",
|
|
10050
|
-
"parameters": [
|
|
10051
|
-
{
|
|
10052
|
-
"name": "element",
|
|
10053
|
-
"type": {
|
|
10054
|
-
"text": "Element"
|
|
10055
|
-
}
|
|
10056
|
-
}
|
|
10057
|
-
],
|
|
10058
|
-
"description": "Watch the rendered widget element for box-size changes. When the widget\ngrows or shrinks mid-lifecycle (e.g. expanding a \"More info\" panel,\nappending an SSE status row, revealing generated code), bubble a\n`request-scroll-to-bottom` event so `FoundationAiAssistant` re-snaps to\nthe bottom. `scrollToBottom` respects `_userScrolledAway`, so a user\nreading old messages is not yanked back.\n\nThe first ResizeObserver callback fires synchronously with the initial\nsize when `observe()` is called; we skip it so freshly-rendered widgets\ndon't double up with the existing `handleMessagesUpdate` auto-scroll for\nnew messages."
|
|
10059
|
-
},
|
|
10060
|
-
{
|
|
10061
|
-
"kind": "method",
|
|
10062
|
-
"name": "renderComponent",
|
|
10063
|
-
"privacy": "private"
|
|
10064
|
-
},
|
|
10065
|
-
{
|
|
10066
|
-
"kind": "method",
|
|
10067
|
-
"name": "buildInteraction",
|
|
10068
|
-
"privacy": "private",
|
|
10069
|
-
"return": {
|
|
10070
|
-
"type": {
|
|
10071
|
-
"text": "AiChatInteraction"
|
|
10072
|
-
}
|
|
10073
|
-
},
|
|
10074
|
-
"parameters": [
|
|
10075
|
-
{
|
|
10076
|
-
"name": "host",
|
|
10077
|
-
"type": {
|
|
10078
|
-
"text": "InteractionHost | null"
|
|
10079
|
-
}
|
|
10080
|
-
}
|
|
10081
|
-
],
|
|
10082
|
-
"description": "Project the wrapper's current `data`/`resolved`/`interactionId` into the\ndiscriminated AiChatInteraction the widget consumes (GENC-1390)."
|
|
10083
|
-
}
|
|
10084
|
-
],
|
|
10085
|
-
"events": [
|
|
10086
|
-
{
|
|
10087
|
-
"name": "request-scroll-to-bottom",
|
|
10088
|
-
"type": {
|
|
10089
|
-
"text": "CustomEvent"
|
|
10090
|
-
}
|
|
10091
|
-
},
|
|
10092
|
-
{
|
|
10093
|
-
"description": "Fired when the interaction finishes. detail: `InteractionCompletedEventDetail`",
|
|
10094
|
-
"name": "interaction-completed"
|
|
10095
|
-
},
|
|
10096
|
-
{
|
|
10097
|
-
"description": "Fired when a widget spends money AFTER resolving. detail: `InteractionCostEventDetail`",
|
|
10098
|
-
"name": "interaction-cost"
|
|
10099
|
-
}
|
|
10100
|
-
],
|
|
10101
|
-
"superclass": {
|
|
10102
|
-
"name": "GenesisElement",
|
|
10103
|
-
"package": "@genesislcap/web-core"
|
|
10104
|
-
},
|
|
10105
|
-
"tagName": "ai-chat-interaction-wrapper",
|
|
10106
|
-
"customElement": true
|
|
10107
|
-
}
|
|
10108
|
-
],
|
|
10109
|
-
"exports": [
|
|
10110
|
-
{
|
|
10111
|
-
"kind": "js",
|
|
10112
|
-
"name": "AiChatInteractionWrapper",
|
|
10113
|
-
"declaration": {
|
|
10114
|
-
"name": "AiChatInteractionWrapper",
|
|
10115
|
-
"module": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.ts"
|
|
10116
|
-
}
|
|
10117
|
-
},
|
|
10118
|
-
{
|
|
10119
|
-
"kind": "custom-element-definition",
|
|
10120
|
-
"name": "ai-chat-interaction-wrapper",
|
|
10121
|
-
"declaration": {
|
|
10122
|
-
"name": "AiChatInteractionWrapper",
|
|
10123
|
-
"module": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.ts"
|
|
10124
|
-
}
|
|
10125
|
-
}
|
|
10126
|
-
]
|
|
10127
|
-
},
|
|
10128
|
-
{
|
|
10129
|
-
"kind": "javascript-module",
|
|
10130
|
-
"path": "src/components/chat-interaction-wrapper/index.ts",
|
|
10131
|
-
"declarations": [],
|
|
10132
|
-
"exports": [
|
|
10133
|
-
{
|
|
10134
|
-
"kind": "js",
|
|
10135
|
-
"name": "*",
|
|
10136
|
-
"declaration": {
|
|
10137
|
-
"name": "*",
|
|
10138
|
-
"package": "./chat-interaction-wrapper"
|
|
10139
|
-
}
|
|
10140
|
-
},
|
|
10141
|
-
{
|
|
10142
|
-
"kind": "js",
|
|
10143
|
-
"name": "*",
|
|
10144
|
-
"declaration": {
|
|
10145
|
-
"name": "*",
|
|
10146
|
-
"package": "./chat-interaction-wrapper.styles"
|
|
10147
|
-
}
|
|
10148
|
-
},
|
|
10149
|
-
{
|
|
10150
|
-
"kind": "js",
|
|
10151
|
-
"name": "*",
|
|
10152
|
-
"declaration": {
|
|
10153
|
-
"name": "*",
|
|
10154
|
-
"package": "./chat-interaction-wrapper.template"
|
|
10155
|
-
}
|
|
10156
|
-
}
|
|
10157
|
-
]
|
|
10158
|
-
},
|
|
10159
9964
|
{
|
|
10160
9965
|
"kind": "javascript-module",
|
|
10161
9966
|
"path": "src/components/chat-markdown/chat-markdown.ts",
|
|
@@ -10851,6 +10656,201 @@
|
|
|
10851
10656
|
}
|
|
10852
10657
|
]
|
|
10853
10658
|
},
|
|
10659
|
+
{
|
|
10660
|
+
"kind": "javascript-module",
|
|
10661
|
+
"path": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.styles.ts",
|
|
10662
|
+
"declarations": [
|
|
10663
|
+
{
|
|
10664
|
+
"kind": "variable",
|
|
10665
|
+
"name": "AiChatInteractionWrapperStyles",
|
|
10666
|
+
"default": "css`\n :host {\n display: block;\n }\n`"
|
|
10667
|
+
}
|
|
10668
|
+
],
|
|
10669
|
+
"exports": [
|
|
10670
|
+
{
|
|
10671
|
+
"kind": "js",
|
|
10672
|
+
"name": "AiChatInteractionWrapperStyles",
|
|
10673
|
+
"declaration": {
|
|
10674
|
+
"name": "AiChatInteractionWrapperStyles",
|
|
10675
|
+
"module": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.styles.ts"
|
|
10676
|
+
}
|
|
10677
|
+
}
|
|
10678
|
+
]
|
|
10679
|
+
},
|
|
10680
|
+
{
|
|
10681
|
+
"kind": "javascript-module",
|
|
10682
|
+
"path": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.template.ts",
|
|
10683
|
+
"declarations": [
|
|
10684
|
+
{
|
|
10685
|
+
"kind": "variable",
|
|
10686
|
+
"name": "AiChatInteractionWrapperTemplate",
|
|
10687
|
+
"default": "html<AiChatInteractionWrapper>`\n <div ${ref('container')} class=\"container\" part=\"container\"></div>\n`"
|
|
10688
|
+
}
|
|
10689
|
+
],
|
|
10690
|
+
"exports": [
|
|
10691
|
+
{
|
|
10692
|
+
"kind": "js",
|
|
10693
|
+
"name": "AiChatInteractionWrapperTemplate",
|
|
10694
|
+
"declaration": {
|
|
10695
|
+
"name": "AiChatInteractionWrapperTemplate",
|
|
10696
|
+
"module": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.template.ts"
|
|
10697
|
+
}
|
|
10698
|
+
}
|
|
10699
|
+
]
|
|
10700
|
+
},
|
|
10701
|
+
{
|
|
10702
|
+
"kind": "javascript-module",
|
|
10703
|
+
"path": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.ts",
|
|
10704
|
+
"declarations": [
|
|
10705
|
+
{
|
|
10706
|
+
"kind": "class",
|
|
10707
|
+
"description": "Hosts an interactive AI chat sub-component by tag name.",
|
|
10708
|
+
"name": "AiChatInteractionWrapper",
|
|
10709
|
+
"members": [
|
|
10710
|
+
{
|
|
10711
|
+
"kind": "field",
|
|
10712
|
+
"name": "resolved",
|
|
10713
|
+
"type": {
|
|
10714
|
+
"text": "InteractionResult<unknown> | undefined"
|
|
10715
|
+
},
|
|
10716
|
+
"default": "undefined",
|
|
10717
|
+
"description": "The resolved result once the interaction has completed. Forwarded to the rendered component. @internal"
|
|
10718
|
+
},
|
|
10719
|
+
{
|
|
10720
|
+
"kind": "field",
|
|
10721
|
+
"name": "_resizeObserver",
|
|
10722
|
+
"type": {
|
|
10723
|
+
"text": "ResizeObserver | undefined"
|
|
10724
|
+
},
|
|
10725
|
+
"privacy": "private",
|
|
10726
|
+
"description": "Observes the rendered widget for mid-lifecycle size changes — see observeWidgetResize."
|
|
10727
|
+
},
|
|
10728
|
+
{
|
|
10729
|
+
"kind": "method",
|
|
10730
|
+
"name": "componentNameChanged"
|
|
10731
|
+
},
|
|
10732
|
+
{
|
|
10733
|
+
"kind": "method",
|
|
10734
|
+
"name": "interactionIdChanged",
|
|
10735
|
+
"description": "Re-render the hosted widget when the interaction identity changes. This\nensures widgets don't go stale with them being rendered with `recycle: true`\nwhen messages are dynamically filtered, showing/hiding thinking/tool calls\n\n`interactionId` is a per-interaction UUID, so it changes exactly when the\nhosted interaction does. Property bindings apply in template order\n(componentName, data, interactionId), so `data` is already rebound by the\ntime this fires and the fresh widget is built with the correct data."
|
|
10736
|
+
},
|
|
10737
|
+
{
|
|
10738
|
+
"kind": "method",
|
|
10739
|
+
"name": "resolvedChanged"
|
|
10740
|
+
},
|
|
10741
|
+
{
|
|
10742
|
+
"kind": "method",
|
|
10743
|
+
"name": "observeWidgetResize",
|
|
10744
|
+
"privacy": "private",
|
|
10745
|
+
"parameters": [
|
|
10746
|
+
{
|
|
10747
|
+
"name": "element",
|
|
10748
|
+
"type": {
|
|
10749
|
+
"text": "Element"
|
|
10750
|
+
}
|
|
10751
|
+
}
|
|
10752
|
+
],
|
|
10753
|
+
"description": "Watch the rendered widget element for box-size changes. When the widget\ngrows or shrinks mid-lifecycle (e.g. expanding a \"More info\" panel,\nappending an SSE status row, revealing generated code), bubble a\n`request-scroll-to-bottom` event so `FoundationAiAssistant` re-snaps to\nthe bottom. `scrollToBottom` respects `_userScrolledAway`, so a user\nreading old messages is not yanked back.\n\nThe first ResizeObserver callback fires synchronously with the initial\nsize when `observe()` is called; we skip it so freshly-rendered widgets\ndon't double up with the existing `handleMessagesUpdate` auto-scroll for\nnew messages."
|
|
10754
|
+
},
|
|
10755
|
+
{
|
|
10756
|
+
"kind": "method",
|
|
10757
|
+
"name": "renderComponent",
|
|
10758
|
+
"privacy": "private"
|
|
10759
|
+
},
|
|
10760
|
+
{
|
|
10761
|
+
"kind": "method",
|
|
10762
|
+
"name": "buildInteraction",
|
|
10763
|
+
"privacy": "private",
|
|
10764
|
+
"return": {
|
|
10765
|
+
"type": {
|
|
10766
|
+
"text": "AiChatInteraction"
|
|
10767
|
+
}
|
|
10768
|
+
},
|
|
10769
|
+
"parameters": [
|
|
10770
|
+
{
|
|
10771
|
+
"name": "host",
|
|
10772
|
+
"type": {
|
|
10773
|
+
"text": "InteractionHost | null"
|
|
10774
|
+
}
|
|
10775
|
+
}
|
|
10776
|
+
],
|
|
10777
|
+
"description": "Project the wrapper's current `data`/`resolved`/`interactionId` into the\ndiscriminated AiChatInteraction the widget consumes (GENC-1390)."
|
|
10778
|
+
}
|
|
10779
|
+
],
|
|
10780
|
+
"events": [
|
|
10781
|
+
{
|
|
10782
|
+
"name": "request-scroll-to-bottom",
|
|
10783
|
+
"type": {
|
|
10784
|
+
"text": "CustomEvent"
|
|
10785
|
+
}
|
|
10786
|
+
},
|
|
10787
|
+
{
|
|
10788
|
+
"description": "Fired when the interaction finishes. detail: `InteractionCompletedEventDetail`",
|
|
10789
|
+
"name": "interaction-completed"
|
|
10790
|
+
},
|
|
10791
|
+
{
|
|
10792
|
+
"description": "Fired when a widget spends money AFTER resolving. detail: `InteractionCostEventDetail`",
|
|
10793
|
+
"name": "interaction-cost"
|
|
10794
|
+
}
|
|
10795
|
+
],
|
|
10796
|
+
"superclass": {
|
|
10797
|
+
"name": "GenesisElement",
|
|
10798
|
+
"package": "@genesislcap/web-core"
|
|
10799
|
+
},
|
|
10800
|
+
"tagName": "ai-chat-interaction-wrapper",
|
|
10801
|
+
"customElement": true
|
|
10802
|
+
}
|
|
10803
|
+
],
|
|
10804
|
+
"exports": [
|
|
10805
|
+
{
|
|
10806
|
+
"kind": "js",
|
|
10807
|
+
"name": "AiChatInteractionWrapper",
|
|
10808
|
+
"declaration": {
|
|
10809
|
+
"name": "AiChatInteractionWrapper",
|
|
10810
|
+
"module": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.ts"
|
|
10811
|
+
}
|
|
10812
|
+
},
|
|
10813
|
+
{
|
|
10814
|
+
"kind": "custom-element-definition",
|
|
10815
|
+
"name": "ai-chat-interaction-wrapper",
|
|
10816
|
+
"declaration": {
|
|
10817
|
+
"name": "AiChatInteractionWrapper",
|
|
10818
|
+
"module": "src/components/chat-interaction-wrapper/chat-interaction-wrapper.ts"
|
|
10819
|
+
}
|
|
10820
|
+
}
|
|
10821
|
+
]
|
|
10822
|
+
},
|
|
10823
|
+
{
|
|
10824
|
+
"kind": "javascript-module",
|
|
10825
|
+
"path": "src/components/chat-interaction-wrapper/index.ts",
|
|
10826
|
+
"declarations": [],
|
|
10827
|
+
"exports": [
|
|
10828
|
+
{
|
|
10829
|
+
"kind": "js",
|
|
10830
|
+
"name": "*",
|
|
10831
|
+
"declaration": {
|
|
10832
|
+
"name": "*",
|
|
10833
|
+
"package": "./chat-interaction-wrapper"
|
|
10834
|
+
}
|
|
10835
|
+
},
|
|
10836
|
+
{
|
|
10837
|
+
"kind": "js",
|
|
10838
|
+
"name": "*",
|
|
10839
|
+
"declaration": {
|
|
10840
|
+
"name": "*",
|
|
10841
|
+
"package": "./chat-interaction-wrapper.styles"
|
|
10842
|
+
}
|
|
10843
|
+
},
|
|
10844
|
+
{
|
|
10845
|
+
"kind": "js",
|
|
10846
|
+
"name": "*",
|
|
10847
|
+
"declaration": {
|
|
10848
|
+
"name": "*",
|
|
10849
|
+
"package": "./chat-interaction-wrapper.template"
|
|
10850
|
+
}
|
|
10851
|
+
}
|
|
10852
|
+
]
|
|
10853
|
+
},
|
|
10854
10854
|
{
|
|
10855
10855
|
"kind": "javascript-module",
|
|
10856
10856
|
"path": "src/components/popout-manager/index.ts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AA6gCA,eAAO,MAAM,MAAM,iDAQlB,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;AAG1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AA2QpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,GAAI,GAAG,qBAAqB,KAAG,MAOlD,CAAC;AAEf;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,qBAAqB,KAAG,MAAM,GAAG,IAC5B,CAAC;AAyJ7C,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,
|
|
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;AAG1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AA2QpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,GAAI,GAAG,qBAAqB,KAAG,MAOlD,CAAC;AAEf;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,qBAAqB,KAAG,MAAM,GAAG,IAC5B,CAAC;AAyJ7C,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,KACzB,YAAY,CAAC,qBAAqB,CAwmBpC,CAAC"}
|
package/dist/dts/react.d.ts
CHANGED
|
@@ -132,6 +132,15 @@ export declare const AiChatBubble: React.ForwardRefExoticComponent<
|
|
|
132
132
|
>;
|
|
133
133
|
export type AiChatBubbleRef = AiChatBubbleWC;
|
|
134
134
|
|
|
135
|
+
export declare const AiChatMarkdown: React.ForwardRefExoticComponent<
|
|
136
|
+
React.PropsWithChildren<
|
|
137
|
+
Omit<PublicOf<AiChatMarkdownWC>, 'children' | 'style'> &
|
|
138
|
+
HTMLWCProps & {
|
|
139
|
+
}
|
|
140
|
+
> & React.RefAttributes<AiChatMarkdownWC>
|
|
141
|
+
>;
|
|
142
|
+
export type AiChatMarkdownRef = AiChatMarkdownWC;
|
|
143
|
+
|
|
135
144
|
export declare const AiChatInteractionWrapper: React.ForwardRefExoticComponent<
|
|
136
145
|
React.PropsWithChildren<
|
|
137
146
|
Omit<PublicOf<AiChatInteractionWrapperWC>, 'children' | 'style'> &
|
|
@@ -144,15 +153,6 @@ export declare const AiChatInteractionWrapper: React.ForwardRefExoticComponent<
|
|
|
144
153
|
>;
|
|
145
154
|
export type AiChatInteractionWrapperRef = AiChatInteractionWrapperWC;
|
|
146
155
|
|
|
147
|
-
export declare const AiChatMarkdown: React.ForwardRefExoticComponent<
|
|
148
|
-
React.PropsWithChildren<
|
|
149
|
-
Omit<PublicOf<AiChatMarkdownWC>, 'children' | 'style'> &
|
|
150
|
-
HTMLWCProps & {
|
|
151
|
-
}
|
|
152
|
-
> & React.RefAttributes<AiChatMarkdownWC>
|
|
153
|
-
>;
|
|
154
|
-
export type AiChatMarkdownRef = AiChatMarkdownWC;
|
|
155
|
-
|
|
156
156
|
export declare const FoundationAiPopoutManager: React.ForwardRefExoticComponent<
|
|
157
157
|
React.PropsWithChildren<
|
|
158
158
|
Omit<PublicOf<FoundationAiPopoutManagerWC>, 'children' | 'style'> &
|
|
@@ -596,6 +596,13 @@ const baseStyles = css `
|
|
|
596
596
|
min-width: 0;
|
|
597
597
|
padding: 0;
|
|
598
598
|
justify-content: center;
|
|
599
|
+
|
|
600
|
+
/* See the note on .send-button::part(control) below — same two corrections, and
|
|
601
|
+
the pill needs the centring especially: it is the one button here that puts an
|
|
602
|
+
icon next to text, and baseline alignment lines those two up by their text
|
|
603
|
+
baselines rather than their middles. */
|
|
604
|
+
align-items: center;
|
|
605
|
+
height: 100%;
|
|
599
606
|
}
|
|
600
607
|
|
|
601
608
|
/* The agent pill is the one that carries a label, so it is the one that grows.
|
|
@@ -643,6 +650,23 @@ const baseStyles = css `
|
|
|
643
650
|
height: calc(var(--design-unit) * 7px);
|
|
644
651
|
}
|
|
645
652
|
|
|
653
|
+
/* Two corrections to the design-system button's inner control, both of which only
|
|
654
|
+
BITE once a host puts a border on the button — which is why they were invisible
|
|
655
|
+
here and showed up in a consuming app.
|
|
656
|
+
|
|
657
|
+
height: the control takes its height from the host, whose box-sizing is
|
|
658
|
+
border-box. With a border the host's content box is 2px shorter than that value,
|
|
659
|
+
so the control overflows the bottom and everything inside it sits a pixel low.
|
|
660
|
+
100% resolves against the content box instead, which is what was meant.
|
|
661
|
+
|
|
662
|
+
align-items: the control aligns its children on their BASELINE. For a lone text
|
|
663
|
+
label that is survivable; for an icon beside text it is not, and it stops the
|
|
664
|
+
label centring once the box is taller than the line. */
|
|
665
|
+
.send-button::part(control) {
|
|
666
|
+
align-items: center;
|
|
667
|
+
height: 100%;
|
|
668
|
+
}
|
|
669
|
+
|
|
646
670
|
/* The "stopping" state shows a spinner — rotate it (the icon set's glyph is
|
|
647
671
|
static). Transform-only, so it never affects layout/width. */
|
|
648
672
|
@keyframes ai-stop-spin {
|
|
@@ -732,6 +756,33 @@ const baseStyles = css `
|
|
|
732
756
|
display: flex;
|
|
733
757
|
flex-direction: column;
|
|
734
758
|
gap: 1px;
|
|
759
|
+
|
|
760
|
+
/* Definite rather than shrink-to-fit — see the note below on why both axes
|
|
761
|
+
have to be pinned for this menu. */
|
|
762
|
+
width: min(100%, 300px);
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
/* This menu swaps its contents in place — Compact/Clear become Confirm/Cancel —
|
|
766
|
+
and it is anchored by its BOTTOM-LEFT corner, so ANY change in size moves an
|
|
767
|
+
edge and the menu appears to jump as you click. Both axes need pinning.
|
|
768
|
+
|
|
769
|
+
Width: an absolutely-positioned panel is shrink-to-fit, so each state sized
|
|
770
|
+
itself to its own longest hint and the Clear confirm came out 26px narrower
|
|
771
|
+
than the step before it. A definite width takes the copy out of it. The cap
|
|
772
|
+
is above the widest state's natural width so no hint re-wraps into a third
|
|
773
|
+
line, which is the one thing that would defeat the height rule below.
|
|
774
|
+
|
|
775
|
+
Height: the panel is anchored by its bottom edge, so a shorter state moves
|
|
776
|
+
the top edge down.
|
|
777
|
+
|
|
778
|
+
Giving every row the same hint text would only make the two states match by
|
|
779
|
+
coincidence: hints wrap at different widths, so at ~330px one state's hint
|
|
780
|
+
took two lines while the other's took one and the jump came back. Reserving
|
|
781
|
+
two lines on every hint makes the rows the same height whatever the wrapping,
|
|
782
|
+
so the states are equal by construction rather than by luck. 2.7em = two
|
|
783
|
+
lines at this element's own 1.35 line-height. */
|
|
784
|
+
.session-menu-panel .menu-item-hint {
|
|
785
|
+
min-height: 2.7em;
|
|
735
786
|
}
|
|
736
787
|
|
|
737
788
|
/* Shown in place of the transcript while a manual compaction runs (GENC-1351). */
|
|
@@ -679,6 +679,12 @@ ${(tc) => { var _a; return (((_a = tc.foldPath) === null || _a === void 0 ? void
|
|
|
679
679
|
</span>
|
|
680
680
|
</button>
|
|
681
681
|
`;
|
|
682
|
+
// The hint is not decoration. Every other row in this menu has one, and the
|
|
683
|
+
// panel is anchored by its BOTTOM edge to the button: a hintless Cancel makes
|
|
684
|
+
// the confirm step ~16px shorter than the step before it, so the panel's top
|
|
685
|
+
// edge visibly drops as it swaps in. Matching the row shape keeps the two
|
|
686
|
+
// states the same height and the menu still. It also earns its place — on a
|
|
687
|
+
// destructive confirm, saying what happens if you back out is worth a line.
|
|
682
688
|
const sessionMenuCancelTemplate = html `
|
|
683
689
|
<button
|
|
684
690
|
class="menu-item"
|
|
@@ -690,7 +696,10 @@ ${(tc) => { var _a; return (((_a = tc.foldPath) === null || _a === void 0 ? void
|
|
|
690
696
|
}}
|
|
691
697
|
>
|
|
692
698
|
<span class="menu-item-icon" aria-hidden="true"><${iconTag} name="xmark"></${iconTag}></span>
|
|
693
|
-
<span class="menu-item-body"
|
|
699
|
+
<span class="menu-item-body">
|
|
700
|
+
<span class="menu-item-name">Cancel</span>
|
|
701
|
+
<span class="menu-item-hint">Leave the conversation as it is</span>
|
|
702
|
+
</span>
|
|
694
703
|
</button>
|
|
695
704
|
`;
|
|
696
705
|
const sessionMenuConfirmCompactTemplate = html `
|
package/dist/react.cjs
CHANGED
|
@@ -107,6 +107,11 @@ const AiChatBubble = React.forwardRef(function AiChatBubble(props, ref) {
|
|
|
107
107
|
return React.createElement(customElements.getName(AiChatBubbleWC) ?? 'foundation-ai-chat-bubble', { ...rest, ref }, children);
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
+
const AiChatMarkdown = React.forwardRef(function AiChatMarkdown(props, ref) {
|
|
111
|
+
const { children, ...rest } = props;
|
|
112
|
+
return React.createElement(customElements.getName(AiChatMarkdownWC) ?? 'ai-chat-markdown', { ...rest, ref }, children);
|
|
113
|
+
});
|
|
114
|
+
|
|
110
115
|
const AiChatInteractionWrapper = React.forwardRef(function AiChatInteractionWrapper(props, ref) {
|
|
111
116
|
const { onRequestScrollToBottom, onInteractionCompleted, onInteractionCost, children, ...rest } = props;
|
|
112
117
|
const _innerRef = React.useRef(null);
|
|
@@ -134,11 +139,6 @@ const AiChatInteractionWrapper = React.forwardRef(function AiChatInteractionWrap
|
|
|
134
139
|
return React.createElement(customElements.getName(AiChatInteractionWrapperWC) ?? 'ai-chat-interaction-wrapper', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
135
140
|
});
|
|
136
141
|
|
|
137
|
-
const AiChatMarkdown = React.forwardRef(function AiChatMarkdown(props, ref) {
|
|
138
|
-
const { children, ...rest } = props;
|
|
139
|
-
return React.createElement(customElements.getName(AiChatMarkdownWC) ?? 'ai-chat-markdown', { ...rest, ref }, children);
|
|
140
|
-
});
|
|
141
|
-
|
|
142
142
|
const FoundationAiPopoutManager = React.forwardRef(function FoundationAiPopoutManager(props, ref) {
|
|
143
143
|
const { children, ...rest } = props;
|
|
144
144
|
return React.createElement(customElements.getName(FoundationAiPopoutManagerWC) ?? 'foundation-ai-popout-manager', { ...rest, ref }, children);
|
|
@@ -154,7 +154,7 @@ module.exports = {
|
|
|
154
154
|
AiActivityHalo,
|
|
155
155
|
AgentPicker,
|
|
156
156
|
AiChatBubble,
|
|
157
|
-
AiChatInteractionWrapper,
|
|
158
157
|
AiChatMarkdown,
|
|
158
|
+
AiChatInteractionWrapper,
|
|
159
159
|
FoundationAiPopoutManager,
|
|
160
160
|
};
|
package/dist/react.mjs
CHANGED
|
@@ -105,6 +105,11 @@ export const AiChatBubble = React.forwardRef(function AiChatBubble(props, ref) {
|
|
|
105
105
|
return React.createElement(customElements.getName(AiChatBubbleWC) ?? 'foundation-ai-chat-bubble', { ...rest, ref }, children);
|
|
106
106
|
});
|
|
107
107
|
|
|
108
|
+
export const AiChatMarkdown = React.forwardRef(function AiChatMarkdown(props, ref) {
|
|
109
|
+
const { children, ...rest } = props;
|
|
110
|
+
return React.createElement(customElements.getName(AiChatMarkdownWC) ?? 'ai-chat-markdown', { ...rest, ref }, children);
|
|
111
|
+
});
|
|
112
|
+
|
|
108
113
|
export const AiChatInteractionWrapper = React.forwardRef(function AiChatInteractionWrapper(props, ref) {
|
|
109
114
|
const { onRequestScrollToBottom, onInteractionCompleted, onInteractionCost, children, ...rest } = props;
|
|
110
115
|
const _innerRef = React.useRef(null);
|
|
@@ -132,11 +137,6 @@ export const AiChatInteractionWrapper = React.forwardRef(function AiChatInteract
|
|
|
132
137
|
return React.createElement(customElements.getName(AiChatInteractionWrapperWC) ?? 'ai-chat-interaction-wrapper', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
133
138
|
});
|
|
134
139
|
|
|
135
|
-
export const AiChatMarkdown = React.forwardRef(function AiChatMarkdown(props, ref) {
|
|
136
|
-
const { children, ...rest } = props;
|
|
137
|
-
return React.createElement(customElements.getName(AiChatMarkdownWC) ?? 'ai-chat-markdown', { ...rest, ref }, children);
|
|
138
|
-
});
|
|
139
|
-
|
|
140
140
|
export const FoundationAiPopoutManager = React.forwardRef(function FoundationAiPopoutManager(props, ref) {
|
|
141
141
|
const { children, ...rest } = props;
|
|
142
142
|
return React.createElement(customElements.getName(FoundationAiPopoutManagerWC) ?? 'foundation-ai-popout-manager', { ...rest, ref }, children);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/ai-assistant",
|
|
3
3
|
"description": "Genesis AI Assistant micro-frontend",
|
|
4
|
-
"version": "15.19.1",
|
|
4
|
+
"version": "15.19.2-FUI-2596.1",
|
|
5
5
|
"license": "SEE LICENSE IN license.txt",
|
|
6
6
|
"main": "dist/esm/index.js",
|
|
7
7
|
"types": "dist/ai-assistant.d.ts",
|
|
@@ -74,26 +74,26 @@
|
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
|
-
"@genesislcap/foundation-testing": "15.19.1",
|
|
78
|
-
"@genesislcap/genx": "15.19.1",
|
|
79
|
-
"@genesislcap/rollup-builder": "15.19.1",
|
|
80
|
-
"@genesislcap/ts-builder": "15.19.1",
|
|
81
|
-
"@genesislcap/uvu-playwright-builder": "15.19.1",
|
|
82
|
-
"@genesislcap/vite-builder": "15.19.1",
|
|
83
|
-
"@genesislcap/webpack-builder": "15.19.1",
|
|
77
|
+
"@genesislcap/foundation-testing": "15.19.2-FUI-2596.1",
|
|
78
|
+
"@genesislcap/genx": "15.19.2-FUI-2596.1",
|
|
79
|
+
"@genesislcap/rollup-builder": "15.19.2-FUI-2596.1",
|
|
80
|
+
"@genesislcap/ts-builder": "15.19.2-FUI-2596.1",
|
|
81
|
+
"@genesislcap/uvu-playwright-builder": "15.19.2-FUI-2596.1",
|
|
82
|
+
"@genesislcap/vite-builder": "15.19.2-FUI-2596.1",
|
|
83
|
+
"@genesislcap/webpack-builder": "15.19.2-FUI-2596.1",
|
|
84
84
|
"@types/dompurify": "^3.0.5",
|
|
85
85
|
"@types/marked": "^5.0.2",
|
|
86
86
|
"esbuild": "0.25.12"
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
|
-
"@genesislcap/foundation-ai": "15.19.1",
|
|
90
|
-
"@genesislcap/foundation-logger": "15.19.1",
|
|
91
|
-
"@genesislcap/foundation-notifications": "15.19.1",
|
|
92
|
-
"@genesislcap/foundation-redux": "15.19.1",
|
|
93
|
-
"@genesislcap/foundation-ui": "15.19.1",
|
|
94
|
-
"@genesislcap/foundation-utils": "15.19.1",
|
|
95
|
-
"@genesislcap/rapid-design-system": "15.19.1",
|
|
96
|
-
"@genesislcap/web-core": "15.19.1",
|
|
89
|
+
"@genesislcap/foundation-ai": "15.19.2-FUI-2596.1",
|
|
90
|
+
"@genesislcap/foundation-logger": "15.19.2-FUI-2596.1",
|
|
91
|
+
"@genesislcap/foundation-notifications": "15.19.2-FUI-2596.1",
|
|
92
|
+
"@genesislcap/foundation-redux": "15.19.2-FUI-2596.1",
|
|
93
|
+
"@genesislcap/foundation-ui": "15.19.2-FUI-2596.1",
|
|
94
|
+
"@genesislcap/foundation-utils": "15.19.2-FUI-2596.1",
|
|
95
|
+
"@genesislcap/rapid-design-system": "15.19.2-FUI-2596.1",
|
|
96
|
+
"@genesislcap/web-core": "15.19.2-FUI-2596.1",
|
|
97
97
|
"dompurify": "^3.3.1",
|
|
98
98
|
"marked": "^17.0.3"
|
|
99
99
|
},
|