@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.
Files changed (236) hide show
  1. package/components/ai-chat/ai-chat-request.d.ts +11 -0
  2. package/components/ai-chat/ai-chat.d.ts +59 -54
  3. package/components/ai-chat/ai-prompt-types.d.ts +93 -0
  4. package/components/ai-chat/index.cjs +1 -1
  5. package/components/ai-chat/index.d.ts +9 -4
  6. package/components/ai-chat/index.js +2 -2
  7. package/components/ai-chat/session/ai-chat-session-controller.d.ts +51 -0
  8. package/components/ai-chat/session/ai-chat-session-types.d.ts +86 -0
  9. package/components/ai-chat/session/ai-chat-session.d.ts +81 -0
  10. package/components/ai-chat/session/index.d.ts +2 -0
  11. package/components/ai-chat/{ai-chat-streaming.d.ts → stream/ai-chat-streaming.d.ts} +6 -0
  12. package/components/ai-chat/stream/analyst-handler.d.ts +3 -0
  13. package/components/ai-chat/stream/dashboard-handler.d.ts +4 -0
  14. package/components/ai-chat/stream/index.d.ts +8 -0
  15. package/components/ai-chat/stream/item-handler.d.ts +2 -0
  16. package/components/ai-chat/stream/registry.d.ts +5 -0
  17. package/components/ai-chat/stream/shared.d.ts +10 -0
  18. package/components/ai-chat/stream/types.d.ts +26 -0
  19. package/components/ai-chat-CY73iYCg.cjs +154 -0
  20. package/components/ai-chat-DVU9XiA2.js +1788 -0
  21. package/components/ai-interaction-textarea/index.cjs +1 -1
  22. package/components/ai-interaction-textarea/index.js +1 -1
  23. package/components/{ai-interaction-textarea-BJHzUcBF.js → ai-interaction-textarea-DI98QoMZ.js} +3 -3
  24. package/components/{ai-interaction-textarea-Bd1AGBmB.cjs → ai-interaction-textarea-DqWt823F.cjs} +1 -1
  25. package/components/{base-BAzY-whv.js → base-D3ehdFno.js} +1 -1
  26. package/components/{base-CbpjVnVy.cjs → base-HUGXYn6t.cjs} +1 -1
  27. package/components/data-field/index.cjs +1 -1
  28. package/components/data-field/index.js +1 -1
  29. package/components/{data-field-97uH3l6o.cjs → data-field-DSzU9Apl.cjs} +1 -1
  30. package/components/{data-field-tfAMLb-d.js → data-field-DwSYggPc.js} +3 -3
  31. package/components/data-field-level/index.cjs +1 -1
  32. package/components/data-field-level/index.js +1 -1
  33. package/components/{data-field-level-BsDTHrJ6.js → data-field-level-BquNqRm1.js} +1 -1
  34. package/components/{data-field-level-6npuFtQo.cjs → data-field-level-CYUtLiIi.cjs} +1 -1
  35. package/components/data-field-panel/index.cjs +1 -1
  36. package/components/data-field-panel/index.js +1 -1
  37. package/components/{data-field-panel-Dv5nfM0z.cjs → data-field-panel-B_83HNyI.cjs} +1 -1
  38. package/components/{data-field-panel-P2t8d6sG.js → data-field-panel-Bqslx0EB.js} +3 -3
  39. package/components/data-fields-select/index.cjs +1 -1
  40. package/components/data-fields-select/index.js +1 -1
  41. package/components/{data-fields-select-B7vJTdZO.cjs → data-fields-select-BZj1cpL5.cjs} +1 -1
  42. package/components/{data-fields-select-DHnnYhbr.js → data-fields-select-t1ikPTLw.js} +1 -1
  43. package/components/dataset-selector-list/index.cjs +1 -1
  44. package/components/dataset-selector-list/index.js +1 -1
  45. package/components/{dataset-selector-list-DbCmavOc.cjs → dataset-selector-list-Bta-CGoN.cjs} +1 -1
  46. package/components/{dataset-selector-list-CXnDkIe2.js → dataset-selector-list-Ho8JnQp7.js} +1 -1
  47. package/components/dataset-selector-row/index.cjs +1 -1
  48. package/components/dataset-selector-row/index.js +1 -1
  49. package/components/{dataset-selector-row-HFt4sJN8.js → dataset-selector-row-8hgsmMRg.js} +4 -2
  50. package/components/{dataset-selector-row-D1U4ltKv.cjs → dataset-selector-row-CKhHK1H5.cjs} +2 -2
  51. package/components/{de-B8ds_DbE.cjs → de-CVLDoWlp.cjs} +1 -1
  52. package/components/{de-DMnvmNFg.js → de-D2bZwq4D.js} +6 -1
  53. package/components/display-settings/index.cjs +1 -1
  54. package/components/display-settings/index.js +1 -1
  55. package/components/{display-settings-BLf7lBww.cjs → display-settings-Bmb0HUlu.cjs} +1 -1
  56. package/components/{display-settings-BLMrlvMS.js → display-settings-Di9dXtUM.js} +1 -1
  57. package/components/display-settings-binning/index.cjs +1 -1
  58. package/components/display-settings-binning/index.js +1 -1
  59. package/components/{display-settings-binning-hCJ0qkt5.js → display-settings-binning-B8qUIt6T.js} +2 -2
  60. package/components/{display-settings-binning-BAg6FoqJ.cjs → display-settings-binning-CpwCqvwm.cjs} +1 -1
  61. package/components/display-settings-datetime/index.cjs +1 -1
  62. package/components/display-settings-datetime/index.js +1 -1
  63. package/components/{display-settings-datetime-BzeNlKLC.cjs → display-settings-datetime-3M3DvzTN.cjs} +1 -1
  64. package/components/{display-settings-datetime-CCxok7d7.js → display-settings-datetime-C8JfjDJK.js} +2 -2
  65. package/components/display-settings-grand-totals/index.cjs +1 -1
  66. package/components/display-settings-grand-totals/index.js +1 -1
  67. package/components/{display-settings-grand-totals-HDpr3IJ5.cjs → display-settings-grand-totals-DMDa6C5k.cjs} +1 -1
  68. package/components/{display-settings-grand-totals-C1N1cehl.js → display-settings-grand-totals-kyfMh55D.js} +2 -2
  69. package/components/display-settings-numeric/index.cjs +1 -1
  70. package/components/display-settings-numeric/index.js +1 -1
  71. package/components/{display-settings-numeric-DSs20wUu.cjs → display-settings-numeric-B51KddXI.cjs} +1 -1
  72. package/components/{display-settings-numeric-oyCfBAGV.js → display-settings-numeric-Cw8Nx5s9.js} +2 -2
  73. package/components/display-settings-period-over-period/index.cjs +1 -1
  74. package/components/display-settings-period-over-period/index.js +1 -1
  75. package/components/{display-settings-period-over-period-h8bA3V5C.js → display-settings-period-over-period-B2AN0rwz.js} +2 -2
  76. package/components/{display-settings-period-over-period-CcX7vQnt.cjs → display-settings-period-over-period-CjjA2NqZ.cjs} +1 -1
  77. package/components/{es-Cc258uTs.js → es-9-jszdOJ.js} +6 -1
  78. package/components/{es-DGC51Dm9.cjs → es-Byjf7YBI.cjs} +1 -1
  79. package/components/filter-expression-picker/index.cjs +1 -1
  80. package/components/filter-expression-picker/index.js +1 -1
  81. package/components/{filter-expression-picker-DQP5lkn4.js → filter-expression-picker-Brn-vNUd.js} +1 -1
  82. package/components/{filter-expression-picker-BMJkgHu9.cjs → filter-expression-picker-DCFZKpBE.cjs} +1 -1
  83. package/components/filter-item/index.cjs +1 -1
  84. package/components/filter-item/index.js +1 -1
  85. package/components/{filter-item-BXcYNAAm.js → filter-item-BlSQe2nu.js} +4 -4
  86. package/components/{filter-item-D9m378Qo.cjs → filter-item-Cjrhb1RR.cjs} +1 -1
  87. package/components/filter-value-picker/index.cjs +1 -1
  88. package/components/filter-value-picker/index.js +1 -1
  89. package/components/{filter-value-picker-YIkbsWDP.cjs → filter-value-picker-BCckBdal.cjs} +1 -1
  90. package/components/{filter-value-picker-B-dzcjEo.js → filter-value-picker-CBetCjIs.js} +4 -4
  91. package/components/filter-value-picker-datetime/index.cjs +1 -1
  92. package/components/filter-value-picker-datetime/index.js +1 -1
  93. package/components/{filter-value-picker-datetime-BJMcnoKH.js → filter-value-picker-datetime-CT63jJDI.js} +1 -1
  94. package/components/{filter-value-picker-datetime-BrrmcjIE.cjs → filter-value-picker-datetime-CxM6HXe3.cjs} +1 -1
  95. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  96. package/components/filter-value-picker-hierarchy/index.js +1 -1
  97. package/components/{filter-value-picker-hierarchy-B9gDxYna.cjs → filter-value-picker-hierarchy-C5QZXiQz.cjs} +1 -1
  98. package/components/{filter-value-picker-hierarchy-UdDq0CZG.js → filter-value-picker-hierarchy-CAORy2A-.js} +2 -2
  99. package/components/filter-value-picker-numeric/index.cjs +1 -1
  100. package/components/filter-value-picker-numeric/index.js +1 -1
  101. package/components/{filter-value-picker-numeric-D_dgITCq.cjs → filter-value-picker-numeric-CtOfHaJR.cjs} +1 -1
  102. package/components/{filter-value-picker-numeric-EK515Z-Y.js → filter-value-picker-numeric-Fao-PKN7.js} +1 -1
  103. package/components/filters/index.cjs +1 -1
  104. package/components/filters/index.js +1 -1
  105. package/components/{filters-H2scDNLi.js → filters-CtWut3ce.js} +2 -2
  106. package/components/{filters-8ehwgopC.cjs → filters-DI0GTL9k.cjs} +1 -1
  107. package/components/{fr-BoZFY3Qe.cjs → fr-BVxPTfyF.cjs} +1 -1
  108. package/components/{fr-B32d4zcX.js → fr-DLf99-F8.js} +6 -1
  109. package/components/{get-dataset-name-CrWWViwN.cjs → get-dataset-name-CvZduuOo.cjs} +1 -1
  110. package/components/{get-dataset-name-7FdLQo10.js → get-dataset-name-EKmxKZU9.js} +1 -1
  111. package/components/index.cjs +1 -1
  112. package/components/index.js +58 -58
  113. package/components/item-grid/helpers/grid-item-popover.d.ts +7 -1
  114. package/components/item-grid/helpers/grid-rendering.d.ts +7 -1
  115. package/components/item-grid/index.cjs +1 -1
  116. package/components/item-grid/index.js +1 -1
  117. package/components/item-grid/item-grid.d.ts +8 -0
  118. package/components/{item-grid-CxblVEy3.cjs → item-grid-Bcez8lwg.cjs} +7 -7
  119. package/components/{item-grid-B-IFwriA.js → item-grid-DgxtJ0eX.js} +574 -564
  120. package/components/item-option/index.cjs +1 -1
  121. package/components/item-option/index.js +1 -1
  122. package/components/{item-option-ChsD18x9.cjs → item-option-BgYyAKSW.cjs} +1 -1
  123. package/components/{item-option-Buxnv89s.js → item-option-DjiTHr0r.js} +1 -1
  124. package/components/item-option-action-button-group/index.cjs +1 -1
  125. package/components/item-option-action-button-group/index.js +1 -1
  126. package/components/{item-option-action-button-group-Cw9EDbG-.cjs → item-option-action-button-group-DdqzgR08.cjs} +1 -1
  127. package/components/{item-option-action-button-group-QO_darH9.js → item-option-action-button-group-U5GCtFjg.js} +1 -1
  128. package/components/{item-option-base-DjQ5poaH.cjs → item-option-base-BeIdCZMp.cjs} +1 -1
  129. package/components/{item-option-base-DMmga0dv.js → item-option-base-DM3U9dbW.js} +1 -1
  130. package/components/item-option-color-palette-picker/index.cjs +1 -1
  131. package/components/item-option-color-palette-picker/index.js +1 -1
  132. package/components/{item-option-color-palette-picker-CiE_aWRI.js → item-option-color-palette-picker-BsMZ3IUR.js} +1 -1
  133. package/components/{item-option-color-palette-picker-gZvk4ODA.cjs → item-option-color-palette-picker-oj8nSb-q.cjs} +1 -1
  134. package/components/item-option-color-picker/index.cjs +1 -1
  135. package/components/item-option-color-picker/index.js +1 -1
  136. package/components/{item-option-color-picker-DCnGqBgT.cjs → item-option-color-picker-BJKGTrIi.cjs} +1 -1
  137. package/components/{item-option-color-picker-CUskqN3R.js → item-option-color-picker-B_pemZKJ.js} +1 -1
  138. package/components/item-option-color-range/index.cjs +1 -1
  139. package/components/item-option-color-range/index.js +1 -1
  140. package/components/{item-option-color-range-B24EAbUi.cjs → item-option-color-range-BOegJZim.cjs} +1 -1
  141. package/components/{item-option-color-range-BgHXTDvx.js → item-option-color-range-DW3rdMt5.js} +1 -1
  142. package/components/item-option-multi-language-field/index.cjs +1 -1
  143. package/components/item-option-multi-language-field/index.js +1 -1
  144. package/components/{item-option-multi-language-field-DDIu7Hns.cjs → item-option-multi-language-field-BQZ4Lmiy.cjs} +1 -1
  145. package/components/{item-option-multi-language-field-qngZBXHT.js → item-option-multi-language-field-CeYgkRzs.js} +1 -1
  146. package/components/item-option-number-field/index.cjs +1 -1
  147. package/components/item-option-number-field/index.js +1 -1
  148. package/components/{item-option-number-field-Cd-cfpaq.js → item-option-number-field-CFQyJG_w.js} +1 -1
  149. package/components/{item-option-number-field-CqrO1Xu0.cjs → item-option-number-field-T2L2jFCf.cjs} +1 -1
  150. package/components/item-option-panel/index.cjs +1 -1
  151. package/components/item-option-panel/index.js +1 -1
  152. package/components/{item-option-panel-B26_sDcj.cjs → item-option-panel-BOJmKPgY.cjs} +1 -1
  153. package/components/{item-option-panel-DZiOx_sn.js → item-option-panel-ChOItFmc.js} +2 -2
  154. package/components/item-option-picker/index.cjs +1 -1
  155. package/components/item-option-picker/index.js +1 -1
  156. package/components/{item-option-picker-B86AqAWp.cjs → item-option-picker-3krQktmk.cjs} +1 -1
  157. package/components/{item-option-picker-LRahjZUz.js → item-option-picker-IBP7QFLA.js} +1 -1
  158. package/components/item-option-position-picker/index.cjs +1 -1
  159. package/components/item-option-position-picker/index.js +1 -1
  160. package/components/{item-option-position-picker-Cbi2OygH.cjs → item-option-position-picker-BiLRWUWK.cjs} +1 -1
  161. package/components/{item-option-position-picker-NUpUlyPV.js → item-option-position-picker-DF54K_Mw.js} +1 -1
  162. package/components/item-option-positions-number-field/index.cjs +1 -1
  163. package/components/item-option-positions-number-field/index.js +1 -1
  164. package/components/{item-option-positions-number-field-BbIkX6wM.cjs → item-option-positions-number-field-B6qxN1x7.cjs} +1 -1
  165. package/components/{item-option-positions-number-field-ClPil6MM.js → item-option-positions-number-field-Dchzu5NS.js} +1 -1
  166. package/components/item-option-radio-button-group/index.cjs +1 -1
  167. package/components/item-option-radio-button-group/index.js +1 -1
  168. package/components/{item-option-radio-button-group-Bdd9sU4p.js → item-option-radio-button-group-BiOpqNXX.js} +1 -1
  169. package/components/{item-option-radio-button-group-BtYYhQyI.cjs → item-option-radio-button-group-DzI_2jB3.cjs} +1 -1
  170. package/components/item-option-slider/index.cjs +1 -1
  171. package/components/item-option-slider/index.js +1 -1
  172. package/components/{item-option-slider-32oGS1fd.cjs → item-option-slider-6E4VgJpv.cjs} +1 -1
  173. package/components/{item-option-slider-BJ7gVQXP.js → item-option-slider-Dba7mmcA.js} +1 -1
  174. package/components/item-option-switch/index.cjs +1 -1
  175. package/components/item-option-switch/index.js +1 -1
  176. package/components/{item-option-switch-BMVlfdx5.js → item-option-switch-BAYX5lTr.js} +1 -1
  177. package/components/{item-option-switch-BFk3biK9.cjs → item-option-switch-Dt4pzFNi.cjs} +1 -1
  178. package/components/item-option-text-field/index.cjs +1 -1
  179. package/components/item-option-text-field/index.js +1 -1
  180. package/components/{item-option-text-field-CWvgQ3pJ.cjs → item-option-text-field-BLOz4LvH.cjs} +1 -1
  181. package/components/{item-option-text-field-BoXwVo-B.js → item-option-text-field-CHalqTt1.js} +1 -1
  182. package/components/item-slot-drop/index.cjs +1 -1
  183. package/components/item-slot-drop/index.js +1 -1
  184. package/components/{item-slot-drop-CYRVCWF0.cjs → item-slot-drop-CNeF_Qmg.cjs} +1 -1
  185. package/components/{item-slot-drop-C0GmOMQY.js → item-slot-drop-n6UHgA-Q.js} +4 -4
  186. package/components/item-slot-drop-panel/index.cjs +1 -1
  187. package/components/item-slot-drop-panel/index.js +1 -1
  188. package/components/{item-slot-drop-panel-CoRFds3a.cjs → item-slot-drop-panel-Bh6PlCJx.cjs} +1 -1
  189. package/components/{item-slot-drop-panel-Ci3Soo16.js → item-slot-drop-panel-Hhp9_pDd.js} +3 -3
  190. package/components/item-slot-picker/index.cjs +1 -1
  191. package/components/item-slot-picker/index.js +1 -1
  192. package/components/{item-slot-picker-CmnJSYIF.cjs → item-slot-picker-7oF3vLwb.cjs} +1 -1
  193. package/components/{item-slot-picker-D1_NbL1A.js → item-slot-picker-BAMVwHtd.js} +5 -5
  194. package/components/item-slot-picker-panel/index.cjs +1 -1
  195. package/components/item-slot-picker-panel/index.js +1 -1
  196. package/components/{item-slot-picker-panel-B8VvKhRF.js → item-slot-picker-panel-BYCDx6Hk.js} +3 -3
  197. package/components/{item-slot-picker-panel-DzKodYTM.cjs → item-slot-picker-panel-C6mMlurQ.cjs} +1 -1
  198. package/components/{localized-mixin-DZuGq2Fm.js → localized-mixin-CpYxJczB.js} +1 -1
  199. package/components/{localized-mixin-Dujo7nlJ.cjs → localized-mixin-CxGNXOcg.cjs} +1 -1
  200. package/components/{nl-C9Ad2LdA.cjs → nl-D4uOyZ6h.cjs} +1 -1
  201. package/components/{nl-hCQgb1fB.js → nl-QLEhlKsI.js} +6 -1
  202. package/components/{set-locale-CXnxhP_B.js → set-locale-wsrhUZVV.js} +4 -4
  203. package/components/{set-locale-MCuEsOOu.cjs → set-locale-xSK2Wd4D.cjs} +1 -1
  204. package/components/slot-menu/index.cjs +1 -1
  205. package/components/slot-menu/index.js +1 -1
  206. package/components/{slot-menu-CYNYwJnU.js → slot-menu-B431N66z.js} +3 -3
  207. package/components/{slot-menu-CDAAPyFj.cjs → slot-menu-CIQRPLvx.cjs} +1 -1
  208. package/components/slot-menu-list/index.cjs +1 -1
  209. package/components/slot-menu-list/index.js +1 -1
  210. package/components/{slot-menu-list-DbWiuJDF.cjs → slot-menu-list-BROocU0s.cjs} +1 -1
  211. package/components/{slot-menu-list-DL-x5Ggl.js → slot-menu-list-Cdh09ie0.js} +1 -1
  212. package/components/utils/base.cjs +1 -1
  213. package/components/utils/base.js +2 -2
  214. package/components/{utils-BACUV6sE.js → utils-CJ3Vy98n.js} +1 -1
  215. package/components/{utils-DKSE_5u1.cjs → utils-iY1cKQaF.cjs} +1 -1
  216. package/components/utils.cjs +1 -1
  217. package/components/utils.js +2 -2
  218. package/components/viz-item-menu/index.cjs +1 -1
  219. package/components/viz-item-menu/index.js +1 -1
  220. package/components/{viz-item-menu-DXoKwAhV.js → viz-item-menu--FyB_XCf.js} +1 -1
  221. package/components/{viz-item-menu-yr7TQY8-.cjs → viz-item-menu-D20StIE_.cjs} +1 -1
  222. package/custom-elements.json +1460 -157
  223. package/package.json +2 -2
  224. package/react/components/ai-chat/stream/index.ts +1 -0
  225. package/react/components/ai-chat/stream/types.ts +29 -0
  226. package/react/components/ai-chat.component.ts +12 -12
  227. package/react/esm/components/ai-chat/stream/index.d.ts +1 -0
  228. package/react/esm/components/ai-chat/stream/index.js +1 -0
  229. package/react/esm/components/ai-chat/stream/types.d.ts +26 -0
  230. package/react/esm/components/ai-chat/stream/types.js +1 -0
  231. package/react/esm/components/ai-chat.component.d.ts +8 -8
  232. package/react/esm/components/ai-chat.component.js +8 -8
  233. package/types/ai-chat.types.d.ts +1 -1
  234. package/components/ai-chat/request-contract.d.ts +0 -56
  235. package/components/ai-chat-D2L9_kci.js +0 -1258
  236. 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.4",
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.77",
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
- onLuzmoPromptSubmitted: 'luzmo-prompt-submitted' as EventName<CustomEvent>
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 onLuzmoRestoreRequested - Fired when a restore action is triggered in external mode
26
- * @event onLuzmoPromptSubmitted - Fired when request-mode is set to external so the host can execute the API request lifecycle.
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
- onLuzmoPromptSubmitted: EventName<CustomEvent>;
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 onLuzmoRestoreRequested - Fired when a restore action is triggered in external mode
10
- * @event onLuzmoPromptSubmitted - Fired when request-mode is set to external so the host can execute the API request lifecycle.
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
- onLuzmoPromptSubmitted: EventName<CustomEvent>;
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
- onLuzmoPromptSubmitted: 'luzmo-prompt-submitted'
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 onLuzmoRestoreRequested - Fired when a restore action is triggered in external mode
24
- * @event onLuzmoPromptSubmitted - Fired when request-mode is set to external so the host can execute the API request lifecycle.
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;
@@ -35,7 +35,7 @@ export interface LuzmoChart {
35
35
  update?: boolean;
36
36
  aichartId?: string;
37
37
  }
38
- export interface AISampleChart {
38
+ export interface AiSampleChart {
39
39
  error?: string;
40
40
  generatedChart: Record<string, unknown> & {
41
41
  feedback: unknown;
@@ -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;