@luzmo/analytics-components-kit 1.0.3-beta.4 → 1.0.3-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ai-chat/ai-chat-request.d.ts +11 -0
- package/components/ai-chat/ai-chat.d.ts +59 -54
- package/components/ai-chat/ai-prompt-types.d.ts +93 -0
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.d.ts +9 -4
- package/components/ai-chat/index.js +2 -2
- package/components/ai-chat/session/ai-chat-session-controller.d.ts +51 -0
- package/components/ai-chat/session/ai-chat-session-types.d.ts +86 -0
- package/components/ai-chat/session/ai-chat-session.d.ts +81 -0
- package/components/ai-chat/session/index.d.ts +2 -0
- package/components/ai-chat/{ai-chat-streaming.d.ts → stream/ai-chat-streaming.d.ts} +6 -0
- package/components/ai-chat/stream/analyst-handler.d.ts +3 -0
- package/components/ai-chat/stream/dashboard-handler.d.ts +4 -0
- package/components/ai-chat/stream/index.d.ts +8 -0
- package/components/ai-chat/stream/item-handler.d.ts +2 -0
- package/components/ai-chat/stream/registry.d.ts +5 -0
- package/components/ai-chat/stream/shared.d.ts +10 -0
- package/components/ai-chat/stream/types.d.ts +26 -0
- package/components/ai-chat-CY73iYCg.cjs +154 -0
- package/components/ai-chat-DVU9XiA2.js +1788 -0
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +1 -1
- package/components/{ai-interaction-textarea-BJHzUcBF.js → ai-interaction-textarea-DI98QoMZ.js} +3 -3
- package/components/{ai-interaction-textarea-Bd1AGBmB.cjs → ai-interaction-textarea-DqWt823F.cjs} +1 -1
- package/components/{base-BAzY-whv.js → base-D3ehdFno.js} +1 -1
- package/components/{base-CbpjVnVy.cjs → base-HUGXYn6t.cjs} +1 -1
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +1 -1
- package/components/{data-field-97uH3l6o.cjs → data-field-DSzU9Apl.cjs} +1 -1
- package/components/{data-field-tfAMLb-d.js → data-field-DwSYggPc.js} +3 -3
- package/components/data-field-level/index.cjs +1 -1
- package/components/data-field-level/index.js +1 -1
- package/components/{data-field-level-BsDTHrJ6.js → data-field-level-BquNqRm1.js} +1 -1
- package/components/{data-field-level-6npuFtQo.cjs → data-field-level-CYUtLiIi.cjs} +1 -1
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/{data-field-panel-Dv5nfM0z.cjs → data-field-panel-B_83HNyI.cjs} +1 -1
- package/components/{data-field-panel-P2t8d6sG.js → data-field-panel-Bqslx0EB.js} +3 -3
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +1 -1
- package/components/{data-fields-select-B7vJTdZO.cjs → data-fields-select-BZj1cpL5.cjs} +1 -1
- package/components/{data-fields-select-DHnnYhbr.js → data-fields-select-t1ikPTLw.js} +1 -1
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +1 -1
- package/components/{dataset-selector-list-DbCmavOc.cjs → dataset-selector-list-Bta-CGoN.cjs} +1 -1
- package/components/{dataset-selector-list-CXnDkIe2.js → dataset-selector-list-Ho8JnQp7.js} +1 -1
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +1 -1
- package/components/{dataset-selector-row-HFt4sJN8.js → dataset-selector-row-8hgsmMRg.js} +4 -2
- package/components/{dataset-selector-row-D1U4ltKv.cjs → dataset-selector-row-CKhHK1H5.cjs} +2 -2
- package/components/{de-B8ds_DbE.cjs → de-CVLDoWlp.cjs} +1 -1
- package/components/{de-DMnvmNFg.js → de-D2bZwq4D.js} +6 -1
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +1 -1
- package/components/{display-settings-BLf7lBww.cjs → display-settings-Bmb0HUlu.cjs} +1 -1
- package/components/{display-settings-BLMrlvMS.js → display-settings-Di9dXtUM.js} +1 -1
- package/components/display-settings-binning/index.cjs +1 -1
- package/components/display-settings-binning/index.js +1 -1
- package/components/{display-settings-binning-hCJ0qkt5.js → display-settings-binning-B8qUIt6T.js} +2 -2
- package/components/{display-settings-binning-BAg6FoqJ.cjs → display-settings-binning-CpwCqvwm.cjs} +1 -1
- package/components/display-settings-datetime/index.cjs +1 -1
- package/components/display-settings-datetime/index.js +1 -1
- package/components/{display-settings-datetime-BzeNlKLC.cjs → display-settings-datetime-3M3DvzTN.cjs} +1 -1
- package/components/{display-settings-datetime-CCxok7d7.js → display-settings-datetime-C8JfjDJK.js} +2 -2
- package/components/display-settings-grand-totals/index.cjs +1 -1
- package/components/display-settings-grand-totals/index.js +1 -1
- package/components/{display-settings-grand-totals-HDpr3IJ5.cjs → display-settings-grand-totals-DMDa6C5k.cjs} +1 -1
- package/components/{display-settings-grand-totals-C1N1cehl.js → display-settings-grand-totals-kyfMh55D.js} +2 -2
- package/components/display-settings-numeric/index.cjs +1 -1
- package/components/display-settings-numeric/index.js +1 -1
- package/components/{display-settings-numeric-DSs20wUu.cjs → display-settings-numeric-B51KddXI.cjs} +1 -1
- package/components/{display-settings-numeric-oyCfBAGV.js → display-settings-numeric-Cw8Nx5s9.js} +2 -2
- package/components/display-settings-period-over-period/index.cjs +1 -1
- package/components/display-settings-period-over-period/index.js +1 -1
- package/components/{display-settings-period-over-period-h8bA3V5C.js → display-settings-period-over-period-B2AN0rwz.js} +2 -2
- package/components/{display-settings-period-over-period-CcX7vQnt.cjs → display-settings-period-over-period-CjjA2NqZ.cjs} +1 -1
- package/components/{es-Cc258uTs.js → es-9-jszdOJ.js} +6 -1
- package/components/{es-DGC51Dm9.cjs → es-Byjf7YBI.cjs} +1 -1
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/{filter-expression-picker-DQP5lkn4.js → filter-expression-picker-Brn-vNUd.js} +1 -1
- package/components/{filter-expression-picker-BMJkgHu9.cjs → filter-expression-picker-DCFZKpBE.cjs} +1 -1
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +1 -1
- package/components/{filter-item-BXcYNAAm.js → filter-item-BlSQe2nu.js} +4 -4
- package/components/{filter-item-D9m378Qo.cjs → filter-item-Cjrhb1RR.cjs} +1 -1
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +1 -1
- package/components/{filter-value-picker-YIkbsWDP.cjs → filter-value-picker-BCckBdal.cjs} +1 -1
- package/components/{filter-value-picker-B-dzcjEo.js → filter-value-picker-CBetCjIs.js} +4 -4
- package/components/filter-value-picker-datetime/index.cjs +1 -1
- package/components/filter-value-picker-datetime/index.js +1 -1
- package/components/{filter-value-picker-datetime-BJMcnoKH.js → filter-value-picker-datetime-CT63jJDI.js} +1 -1
- package/components/{filter-value-picker-datetime-BrrmcjIE.cjs → filter-value-picker-datetime-CxM6HXe3.cjs} +1 -1
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +1 -1
- package/components/{filter-value-picker-hierarchy-B9gDxYna.cjs → filter-value-picker-hierarchy-C5QZXiQz.cjs} +1 -1
- package/components/{filter-value-picker-hierarchy-UdDq0CZG.js → filter-value-picker-hierarchy-CAORy2A-.js} +2 -2
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +1 -1
- package/components/{filter-value-picker-numeric-D_dgITCq.cjs → filter-value-picker-numeric-CtOfHaJR.cjs} +1 -1
- package/components/{filter-value-picker-numeric-EK515Z-Y.js → filter-value-picker-numeric-Fao-PKN7.js} +1 -1
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.js +1 -1
- package/components/{filters-H2scDNLi.js → filters-CtWut3ce.js} +2 -2
- package/components/{filters-8ehwgopC.cjs → filters-DI0GTL9k.cjs} +1 -1
- package/components/{fr-BoZFY3Qe.cjs → fr-BVxPTfyF.cjs} +1 -1
- package/components/{fr-B32d4zcX.js → fr-DLf99-F8.js} +6 -1
- package/components/{get-dataset-name-CrWWViwN.cjs → get-dataset-name-CvZduuOo.cjs} +1 -1
- package/components/{get-dataset-name-7FdLQo10.js → get-dataset-name-EKmxKZU9.js} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +58 -58
- package/components/item-grid/helpers/grid-item-popover.d.ts +7 -1
- package/components/item-grid/helpers/grid-rendering.d.ts +7 -1
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +1 -1
- package/components/item-grid/item-grid.d.ts +8 -0
- package/components/{item-grid-CxblVEy3.cjs → item-grid-Bcez8lwg.cjs} +7 -7
- package/components/{item-grid-B-IFwriA.js → item-grid-DgxtJ0eX.js} +574 -564
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/{item-option-ChsD18x9.cjs → item-option-BgYyAKSW.cjs} +1 -1
- package/components/{item-option-Buxnv89s.js → item-option-DjiTHr0r.js} +1 -1
- package/components/item-option-action-button-group/index.cjs +1 -1
- package/components/item-option-action-button-group/index.js +1 -1
- package/components/{item-option-action-button-group-Cw9EDbG-.cjs → item-option-action-button-group-DdqzgR08.cjs} +1 -1
- package/components/{item-option-action-button-group-QO_darH9.js → item-option-action-button-group-U5GCtFjg.js} +1 -1
- package/components/{item-option-base-DjQ5poaH.cjs → item-option-base-BeIdCZMp.cjs} +1 -1
- package/components/{item-option-base-DMmga0dv.js → item-option-base-DM3U9dbW.js} +1 -1
- package/components/item-option-color-palette-picker/index.cjs +1 -1
- package/components/item-option-color-palette-picker/index.js +1 -1
- package/components/{item-option-color-palette-picker-CiE_aWRI.js → item-option-color-palette-picker-BsMZ3IUR.js} +1 -1
- package/components/{item-option-color-palette-picker-gZvk4ODA.cjs → item-option-color-palette-picker-oj8nSb-q.cjs} +1 -1
- package/components/item-option-color-picker/index.cjs +1 -1
- package/components/item-option-color-picker/index.js +1 -1
- package/components/{item-option-color-picker-DCnGqBgT.cjs → item-option-color-picker-BJKGTrIi.cjs} +1 -1
- package/components/{item-option-color-picker-CUskqN3R.js → item-option-color-picker-B_pemZKJ.js} +1 -1
- package/components/item-option-color-range/index.cjs +1 -1
- package/components/item-option-color-range/index.js +1 -1
- package/components/{item-option-color-range-B24EAbUi.cjs → item-option-color-range-BOegJZim.cjs} +1 -1
- package/components/{item-option-color-range-BgHXTDvx.js → item-option-color-range-DW3rdMt5.js} +1 -1
- package/components/item-option-multi-language-field/index.cjs +1 -1
- package/components/item-option-multi-language-field/index.js +1 -1
- package/components/{item-option-multi-language-field-DDIu7Hns.cjs → item-option-multi-language-field-BQZ4Lmiy.cjs} +1 -1
- package/components/{item-option-multi-language-field-qngZBXHT.js → item-option-multi-language-field-CeYgkRzs.js} +1 -1
- package/components/item-option-number-field/index.cjs +1 -1
- package/components/item-option-number-field/index.js +1 -1
- package/components/{item-option-number-field-Cd-cfpaq.js → item-option-number-field-CFQyJG_w.js} +1 -1
- package/components/{item-option-number-field-CqrO1Xu0.cjs → item-option-number-field-T2L2jFCf.cjs} +1 -1
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/{item-option-panel-B26_sDcj.cjs → item-option-panel-BOJmKPgY.cjs} +1 -1
- package/components/{item-option-panel-DZiOx_sn.js → item-option-panel-ChOItFmc.js} +2 -2
- package/components/item-option-picker/index.cjs +1 -1
- package/components/item-option-picker/index.js +1 -1
- package/components/{item-option-picker-B86AqAWp.cjs → item-option-picker-3krQktmk.cjs} +1 -1
- package/components/{item-option-picker-LRahjZUz.js → item-option-picker-IBP7QFLA.js} +1 -1
- package/components/item-option-position-picker/index.cjs +1 -1
- package/components/item-option-position-picker/index.js +1 -1
- package/components/{item-option-position-picker-Cbi2OygH.cjs → item-option-position-picker-BiLRWUWK.cjs} +1 -1
- package/components/{item-option-position-picker-NUpUlyPV.js → item-option-position-picker-DF54K_Mw.js} +1 -1
- package/components/item-option-positions-number-field/index.cjs +1 -1
- package/components/item-option-positions-number-field/index.js +1 -1
- package/components/{item-option-positions-number-field-BbIkX6wM.cjs → item-option-positions-number-field-B6qxN1x7.cjs} +1 -1
- package/components/{item-option-positions-number-field-ClPil6MM.js → item-option-positions-number-field-Dchzu5NS.js} +1 -1
- package/components/item-option-radio-button-group/index.cjs +1 -1
- package/components/item-option-radio-button-group/index.js +1 -1
- package/components/{item-option-radio-button-group-Bdd9sU4p.js → item-option-radio-button-group-BiOpqNXX.js} +1 -1
- package/components/{item-option-radio-button-group-BtYYhQyI.cjs → item-option-radio-button-group-DzI_2jB3.cjs} +1 -1
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/{item-option-slider-32oGS1fd.cjs → item-option-slider-6E4VgJpv.cjs} +1 -1
- package/components/{item-option-slider-BJ7gVQXP.js → item-option-slider-Dba7mmcA.js} +1 -1
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +1 -1
- package/components/{item-option-switch-BMVlfdx5.js → item-option-switch-BAYX5lTr.js} +1 -1
- package/components/{item-option-switch-BFk3biK9.cjs → item-option-switch-Dt4pzFNi.cjs} +1 -1
- package/components/item-option-text-field/index.cjs +1 -1
- package/components/item-option-text-field/index.js +1 -1
- package/components/{item-option-text-field-CWvgQ3pJ.cjs → item-option-text-field-BLOz4LvH.cjs} +1 -1
- package/components/{item-option-text-field-BoXwVo-B.js → item-option-text-field-CHalqTt1.js} +1 -1
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +1 -1
- package/components/{item-slot-drop-CYRVCWF0.cjs → item-slot-drop-CNeF_Qmg.cjs} +1 -1
- package/components/{item-slot-drop-C0GmOMQY.js → item-slot-drop-n6UHgA-Q.js} +4 -4
- package/components/item-slot-drop-panel/index.cjs +1 -1
- package/components/item-slot-drop-panel/index.js +1 -1
- package/components/{item-slot-drop-panel-CoRFds3a.cjs → item-slot-drop-panel-Bh6PlCJx.cjs} +1 -1
- package/components/{item-slot-drop-panel-Ci3Soo16.js → item-slot-drop-panel-Hhp9_pDd.js} +3 -3
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +1 -1
- package/components/{item-slot-picker-CmnJSYIF.cjs → item-slot-picker-7oF3vLwb.cjs} +1 -1
- package/components/{item-slot-picker-D1_NbL1A.js → item-slot-picker-BAMVwHtd.js} +5 -5
- package/components/item-slot-picker-panel/index.cjs +1 -1
- package/components/item-slot-picker-panel/index.js +1 -1
- package/components/{item-slot-picker-panel-B8VvKhRF.js → item-slot-picker-panel-BYCDx6Hk.js} +3 -3
- package/components/{item-slot-picker-panel-DzKodYTM.cjs → item-slot-picker-panel-C6mMlurQ.cjs} +1 -1
- package/components/{localized-mixin-DZuGq2Fm.js → localized-mixin-CpYxJczB.js} +1 -1
- package/components/{localized-mixin-Dujo7nlJ.cjs → localized-mixin-CxGNXOcg.cjs} +1 -1
- package/components/{nl-C9Ad2LdA.cjs → nl-D4uOyZ6h.cjs} +1 -1
- package/components/{nl-hCQgb1fB.js → nl-QLEhlKsI.js} +6 -1
- package/components/{set-locale-CXnxhP_B.js → set-locale-wsrhUZVV.js} +4 -4
- package/components/{set-locale-MCuEsOOu.cjs → set-locale-xSK2Wd4D.cjs} +1 -1
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +1 -1
- package/components/{slot-menu-CYNYwJnU.js → slot-menu-B431N66z.js} +3 -3
- package/components/{slot-menu-CDAAPyFj.cjs → slot-menu-CIQRPLvx.cjs} +1 -1
- package/components/slot-menu-list/index.cjs +1 -1
- package/components/slot-menu-list/index.js +1 -1
- package/components/{slot-menu-list-DbWiuJDF.cjs → slot-menu-list-BROocU0s.cjs} +1 -1
- package/components/{slot-menu-list-DL-x5Ggl.js → slot-menu-list-Cdh09ie0.js} +1 -1
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/{utils-BACUV6sE.js → utils-CJ3Vy98n.js} +1 -1
- package/components/{utils-DKSE_5u1.cjs → utils-iY1cKQaF.cjs} +1 -1
- package/components/utils.cjs +1 -1
- package/components/utils.js +2 -2
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +1 -1
- package/components/{viz-item-menu-DXoKwAhV.js → viz-item-menu--FyB_XCf.js} +1 -1
- package/components/{viz-item-menu-yr7TQY8-.cjs → viz-item-menu-D20StIE_.cjs} +1 -1
- package/custom-elements.json +1460 -157
- package/package.json +2 -2
- package/react/components/ai-chat/stream/index.ts +1 -0
- package/react/components/ai-chat/stream/types.ts +29 -0
- package/react/components/ai-chat.component.ts +12 -12
- package/react/esm/components/ai-chat/stream/index.d.ts +1 -0
- package/react/esm/components/ai-chat/stream/index.js +1 -0
- package/react/esm/components/ai-chat/stream/types.d.ts +26 -0
- package/react/esm/components/ai-chat/stream/types.js +1 -0
- package/react/esm/components/ai-chat.component.d.ts +8 -8
- package/react/esm/components/ai-chat.component.js +8 -8
- package/types/ai-chat.types.d.ts +1 -1
- package/components/ai-chat/request-contract.d.ts +0 -56
- package/components/ai-chat-D2L9_kci.js +0 -1258
- package/components/ai-chat-O_MP_k1b.cjs +0 -151
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luzmo/analytics-components-kit",
|
|
3
|
-
"version": "1.0.3-beta.
|
|
3
|
+
"version": "1.0.3-beta.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./components/index.js",
|
|
6
6
|
"module": "./components/index.js",
|
|
@@ -309,7 +309,7 @@
|
|
|
309
309
|
"@lit/react": "^1.0.6",
|
|
310
310
|
"@lit/task": "^1.0.1",
|
|
311
311
|
"@luzmo/icons": "^1.0.1-alpha.33",
|
|
312
|
-
"@luzmo/lucero": "^1.0.1-alpha.
|
|
312
|
+
"@luzmo/lucero": "^1.0.1-alpha.78",
|
|
313
313
|
"colorjs.io": "^0.5.2",
|
|
314
314
|
"lit": "^3.3.1",
|
|
315
315
|
"react": "^18.0.0 || ^19.0.0",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
|
|
2
|
+
import type { AiSampleChart, ChatMessage } from '../../../types';
|
|
3
|
+
import type { DashboardStatePayload, LuzmoDashboardGeneratedEventDetail } from '../ai-prompt-types';
|
|
4
|
+
|
|
5
|
+
export interface StreamHandlerCallbacks {
|
|
6
|
+
onConversationIdChange: (conversationId: string) => void;
|
|
7
|
+
onProgress: (progress: ProgressTreeNode) => void;
|
|
8
|
+
onProgressCollapsed: (collapsed: boolean) => void;
|
|
9
|
+
onMessageUpdate: (message: ChatMessage) => void;
|
|
10
|
+
dispatchChartGenerated: (detail: AiSampleChart) => void;
|
|
11
|
+
dispatchDashboardGenerated: (detail: LuzmoDashboardGeneratedEventDetail) => void;
|
|
12
|
+
dispatchResponseReceived: (message: ChatMessage, done: boolean) => void;
|
|
13
|
+
getConversationId: () => string | null;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface StreamHandlerState {
|
|
17
|
+
progressCollapsed: boolean;
|
|
18
|
+
dashboardSnapshot: DashboardStatePayload | null;
|
|
19
|
+
dashboardName: Record<string, string> | undefined;
|
|
20
|
+
interruptQuestion: string | null;
|
|
21
|
+
/** Latest item chart payload from streaming `asset_delta` events (aiprompt item agent). */
|
|
22
|
+
itemSnapshot: Record<string, unknown> | null;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface StreamHandlerContext {
|
|
26
|
+
aiMessage: ChatMessage;
|
|
27
|
+
callbacks: StreamHandlerCallbacks;
|
|
28
|
+
state: StreamHandlerState;
|
|
29
|
+
}
|
|
@@ -7,33 +7,33 @@ const LuzmoAiChatComponent = createComponent({
|
|
|
7
7
|
elementClass: LuzmoAiChatClass,
|
|
8
8
|
react: React,
|
|
9
9
|
events: {
|
|
10
|
-
onLuzmoResponseReceived: 'luzmo-response-received' as EventName<CustomEvent>,
|
|
11
|
-
onLuzmoChartGenerated: 'luzmo-chart-generated' as EventName<CustomEvent>,
|
|
12
10
|
onLuzmoMessageSent: 'luzmo-message-sent' as EventName<CustomEvent>,
|
|
13
|
-
onLuzmoRestoreRequested: 'luzmo-restore-requested' as EventName<CustomEvent>,
|
|
14
11
|
onLuzmoDatasetsChanged: 'luzmo-datasets-changed' as EventName<CustomEvent>,
|
|
15
|
-
|
|
12
|
+
onLuzmoChartGenerated: 'luzmo-chart-generated' as EventName<CustomEvent>,
|
|
13
|
+
onLuzmoDashboardGenerated: 'luzmo-dashboard-generated' as EventName<CustomEvent>,
|
|
14
|
+
onLuzmoResponseReceived: 'luzmo-response-received' as EventName<CustomEvent>,
|
|
15
|
+
onLuzmoConversationIdChanged: 'luzmo-conversation-id-changed' as EventName<CustomEvent>
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* React wrapper for <luzmo-ai-chat>
|
|
21
21
|
*
|
|
22
|
-
* @event onLuzmoResponseReceived - Fired when an AI text response is received. For chart responses, this event is only fired if the response includes a `message` field. For error responses, this event is always fired with the error explanation.
|
|
23
|
-
* @event onLuzmoChartGenerated - Fired when the AI generates a chart (includes generatedChart in response)
|
|
24
22
|
* @event onLuzmoMessageSent - Fired when a user sends a message
|
|
25
|
-
* @event
|
|
26
|
-
* @event
|
|
23
|
+
* @event onLuzmoChartGenerated - Fired when agent is `item` and a chart asset is ready
|
|
24
|
+
* @event onLuzmoDashboardGenerated - Fired when agent is `dashboard` and a dashboard asset is ready
|
|
25
|
+
* @event onLuzmoResponseReceived - Fired when an AI text response is received. For chart responses, this event is only fired if the response includes a `message` field. For error responses, this event is always fired with the error explanation.
|
|
26
|
+
* @event onLuzmoConversationIdChanged - Fired when the conversation ID is updated from the API
|
|
27
27
|
*/
|
|
28
28
|
export const LuzmoAiChat = LuzmoAiChatComponent as ReactWebComponent<
|
|
29
29
|
LuzmoAiChatClass,
|
|
30
30
|
{
|
|
31
|
-
onLuzmoResponseReceived: EventName<CustomEvent>;
|
|
32
|
-
onLuzmoChartGenerated: EventName<CustomEvent>;
|
|
33
31
|
onLuzmoMessageSent: EventName<CustomEvent>;
|
|
34
|
-
onLuzmoRestoreRequested: EventName<CustomEvent>;
|
|
35
32
|
onLuzmoDatasetsChanged: EventName<CustomEvent>;
|
|
36
|
-
|
|
33
|
+
onLuzmoChartGenerated: EventName<CustomEvent>;
|
|
34
|
+
onLuzmoDashboardGenerated: EventName<CustomEvent>;
|
|
35
|
+
onLuzmoResponseReceived: EventName<CustomEvent>;
|
|
36
|
+
onLuzmoConversationIdChanged: EventName<CustomEvent>;
|
|
37
37
|
}
|
|
38
38
|
>;
|
|
39
39
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
|
|
2
|
+
import type { AiSampleChart, ChatMessage } from '../../../types';
|
|
3
|
+
import type { DashboardStatePayload, LuzmoDashboardGeneratedEventDetail } from '../ai-prompt-types';
|
|
4
|
+
export interface StreamHandlerCallbacks {
|
|
5
|
+
onConversationIdChange: (conversationId: string) => void;
|
|
6
|
+
onProgress: (progress: ProgressTreeNode) => void;
|
|
7
|
+
onProgressCollapsed: (collapsed: boolean) => void;
|
|
8
|
+
onMessageUpdate: (message: ChatMessage) => void;
|
|
9
|
+
dispatchChartGenerated: (detail: AiSampleChart) => void;
|
|
10
|
+
dispatchDashboardGenerated: (detail: LuzmoDashboardGeneratedEventDetail) => void;
|
|
11
|
+
dispatchResponseReceived: (message: ChatMessage, done: boolean) => void;
|
|
12
|
+
getConversationId: () => string | null;
|
|
13
|
+
}
|
|
14
|
+
export interface StreamHandlerState {
|
|
15
|
+
progressCollapsed: boolean;
|
|
16
|
+
dashboardSnapshot: DashboardStatePayload | null;
|
|
17
|
+
dashboardName: Record<string, string> | undefined;
|
|
18
|
+
interruptQuestion: string | null;
|
|
19
|
+
/** Latest item chart payload from streaming `asset_delta` events (aiprompt item agent). */
|
|
20
|
+
itemSnapshot: Record<string, unknown> | null;
|
|
21
|
+
}
|
|
22
|
+
export interface StreamHandlerContext {
|
|
23
|
+
aiMessage: ChatMessage;
|
|
24
|
+
callbacks: StreamHandlerCallbacks;
|
|
25
|
+
state: StreamHandlerState;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -3,19 +3,19 @@ import { LuzmoAiChat as LuzmoAiChatClass } from '@luzmo/analytics-components-kit
|
|
|
3
3
|
/**
|
|
4
4
|
* React wrapper for <luzmo-ai-chat>
|
|
5
5
|
*
|
|
6
|
-
* @event onLuzmoResponseReceived - Fired when an AI text response is received. For chart responses, this event is only fired if the response includes a `message` field. For error responses, this event is always fired with the error explanation.
|
|
7
|
-
* @event onLuzmoChartGenerated - Fired when the AI generates a chart (includes generatedChart in response)
|
|
8
6
|
* @event onLuzmoMessageSent - Fired when a user sends a message
|
|
9
|
-
* @event
|
|
10
|
-
* @event
|
|
7
|
+
* @event onLuzmoChartGenerated - Fired when agent is `item` and a chart asset is ready
|
|
8
|
+
* @event onLuzmoDashboardGenerated - Fired when agent is `dashboard` and a dashboard asset is ready
|
|
9
|
+
* @event onLuzmoResponseReceived - Fired when an AI text response is received. For chart responses, this event is only fired if the response includes a `message` field. For error responses, this event is always fired with the error explanation.
|
|
10
|
+
* @event onLuzmoConversationIdChanged - Fired when the conversation ID is updated from the API
|
|
11
11
|
*/
|
|
12
12
|
export declare const LuzmoAiChat: ReactWebComponent<LuzmoAiChatClass, {
|
|
13
|
-
onLuzmoResponseReceived: EventName<CustomEvent>;
|
|
14
|
-
onLuzmoChartGenerated: EventName<CustomEvent>;
|
|
15
13
|
onLuzmoMessageSent: EventName<CustomEvent>;
|
|
16
|
-
onLuzmoRestoreRequested: EventName<CustomEvent>;
|
|
17
14
|
onLuzmoDatasetsChanged: EventName<CustomEvent>;
|
|
18
|
-
|
|
15
|
+
onLuzmoChartGenerated: EventName<CustomEvent>;
|
|
16
|
+
onLuzmoDashboardGenerated: EventName<CustomEvent>;
|
|
17
|
+
onLuzmoResponseReceived: EventName<CustomEvent>;
|
|
18
|
+
onLuzmoConversationIdChanged: EventName<CustomEvent>;
|
|
19
19
|
}>;
|
|
20
20
|
/** The underlying custom element type for LuzmoAiChat */
|
|
21
21
|
export type LuzmoAiChatElement = LuzmoAiChatClass;
|
|
@@ -6,21 +6,21 @@ const LuzmoAiChatComponent = createComponent({
|
|
|
6
6
|
elementClass: LuzmoAiChatClass,
|
|
7
7
|
react: React,
|
|
8
8
|
events: {
|
|
9
|
-
onLuzmoResponseReceived: 'luzmo-response-received',
|
|
10
|
-
onLuzmoChartGenerated: 'luzmo-chart-generated',
|
|
11
9
|
onLuzmoMessageSent: 'luzmo-message-sent',
|
|
12
|
-
onLuzmoRestoreRequested: 'luzmo-restore-requested',
|
|
13
10
|
onLuzmoDatasetsChanged: 'luzmo-datasets-changed',
|
|
14
|
-
|
|
11
|
+
onLuzmoChartGenerated: 'luzmo-chart-generated',
|
|
12
|
+
onLuzmoDashboardGenerated: 'luzmo-dashboard-generated',
|
|
13
|
+
onLuzmoResponseReceived: 'luzmo-response-received',
|
|
14
|
+
onLuzmoConversationIdChanged: 'luzmo-conversation-id-changed'
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
/**
|
|
18
18
|
* React wrapper for <luzmo-ai-chat>
|
|
19
19
|
*
|
|
20
|
-
* @event onLuzmoResponseReceived - Fired when an AI text response is received. For chart responses, this event is only fired if the response includes a `message` field. For error responses, this event is always fired with the error explanation.
|
|
21
|
-
* @event onLuzmoChartGenerated - Fired when the AI generates a chart (includes generatedChart in response)
|
|
22
20
|
* @event onLuzmoMessageSent - Fired when a user sends a message
|
|
23
|
-
* @event
|
|
24
|
-
* @event
|
|
21
|
+
* @event onLuzmoChartGenerated - Fired when agent is `item` and a chart asset is ready
|
|
22
|
+
* @event onLuzmoDashboardGenerated - Fired when agent is `dashboard` and a dashboard asset is ready
|
|
23
|
+
* @event onLuzmoResponseReceived - Fired when an AI text response is received. For chart responses, this event is only fired if the response includes a `message` field. For error responses, this event is always fired with the error explanation.
|
|
24
|
+
* @event onLuzmoConversationIdChanged - Fired when the conversation ID is updated from the API
|
|
25
25
|
*/
|
|
26
26
|
export const LuzmoAiChat = LuzmoAiChatComponent;
|
package/types/ai-chat.types.d.ts
CHANGED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type { Dataset, LuzmoChart } from '../../types';
|
|
2
|
-
export interface AiMessageRequestBody {
|
|
3
|
-
key: string;
|
|
4
|
-
token: string;
|
|
5
|
-
action: 'create';
|
|
6
|
-
version: string;
|
|
7
|
-
properties: {
|
|
8
|
-
content: {
|
|
9
|
-
role: 'user';
|
|
10
|
-
content: string;
|
|
11
|
-
};
|
|
12
|
-
conversation_id?: string;
|
|
13
|
-
};
|
|
14
|
-
options: {
|
|
15
|
-
available_datasets: string[];
|
|
16
|
-
dataset_id?: string;
|
|
17
|
-
chart?: Record<string, unknown>;
|
|
18
|
-
model_preference: 'performance' | 'quality';
|
|
19
|
-
stream?: boolean;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export interface AiMessageDeleteRequestBody {
|
|
23
|
-
key: string;
|
|
24
|
-
token: string;
|
|
25
|
-
action: 'delete';
|
|
26
|
-
version: string;
|
|
27
|
-
properties: {
|
|
28
|
-
restore_to_message_id: string;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
export interface BuildAiMessageRequestOptions {
|
|
32
|
-
prompt: string;
|
|
33
|
-
datasetIds: string[];
|
|
34
|
-
authKey: string;
|
|
35
|
-
authToken: string;
|
|
36
|
-
conversationId: string | null;
|
|
37
|
-
chart: LuzmoChart | null;
|
|
38
|
-
modelPreference: 'performance' | 'quality';
|
|
39
|
-
apiVersion?: string;
|
|
40
|
-
stream?: boolean;
|
|
41
|
-
}
|
|
42
|
-
export interface LuzmoPromptSubmittedEventDetail {
|
|
43
|
-
prompt: string;
|
|
44
|
-
selectedDatasets: Dataset[];
|
|
45
|
-
datasetIds: string[];
|
|
46
|
-
request: AiMessageRequestBody;
|
|
47
|
-
url: string;
|
|
48
|
-
}
|
|
49
|
-
export interface LuzmoRestoreRequestedEventDetail {
|
|
50
|
-
apiMessageId: string;
|
|
51
|
-
messageIndex: number;
|
|
52
|
-
request: AiMessageDeleteRequestBody;
|
|
53
|
-
url: string;
|
|
54
|
-
}
|
|
55
|
-
export declare function buildAiMessageRequest(options: BuildAiMessageRequestOptions): AiMessageRequestBody;
|
|
56
|
-
export declare function buildAiMessageDeleteRequest(restoreToMessageId: string, authKey: string, authToken: string, apiVersion?: string): AiMessageDeleteRequestBody;
|