@luzmo/analytics-components-kit 1.0.9-beta.7 → 1.0.9-beta.8

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 (514) hide show
  1. package/components/ai-chat/ai-chat-events.d.ts +139 -0
  2. package/components/ai-chat/ai-chat-request.d.ts +25 -0
  3. package/components/ai-chat/ai-chat.d.ts +356 -0
  4. package/components/ai-chat/ai-prompt-types.d.ts +133 -0
  5. package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +53 -0
  6. package/components/ai-chat/empty-state/index.d.ts +8 -0
  7. package/components/ai-chat/empty-state/types.d.ts +14 -0
  8. package/components/ai-chat/helpers/agent-config.d.ts +12 -0
  9. package/components/ai-chat/helpers/elicitation-template.d.ts +20 -0
  10. package/components/ai-chat/index.d.ts +24 -0
  11. package/components/ai-chat/session/ai-chat-session-controller.d.ts +60 -0
  12. package/components/ai-chat/session/ai-chat-session-types.d.ts +119 -0
  13. package/components/ai-chat/session/ai-chat-session.d.ts +119 -0
  14. package/components/ai-chat/session/index.d.ts +2 -0
  15. package/components/ai-chat/stream/chunk-extractors.d.ts +29 -0
  16. package/components/ai-chat/stream/index.d.ts +53 -0
  17. package/components/ai-chat/stream/progress.d.ts +3 -0
  18. package/components/ai-chat/stream/registry.d.ts +6 -0
  19. package/components/ai-chat/stream/stream-processor.d.ts +2 -0
  20. package/components/ai-chat/stream/transport.d.ts +26 -0
  21. package/components/ai-chat/stream/types.d.ts +59 -0
  22. package/components/ai-chat/types.d.ts +24 -0
  23. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +239 -0
  24. package/components/ai-interaction-textarea/index.d.ts +10 -0
  25. package/components/ai-interaction-textarea/types.d.ts +12 -0
  26. package/components/data-field/data-field.d.ts +31 -0
  27. package/components/data-field/index.d.ts +9 -0
  28. package/components/data-field/types.d.ts +4 -0
  29. package/components/data-field-level/data-field-level.d.ts +40 -0
  30. package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
  31. package/components/data-field-level/index.d.ts +8 -0
  32. package/components/data-field-panel/data-field-panel.d.ts +231 -0
  33. package/components/data-field-panel/index.d.ts +9 -0
  34. package/components/data-field-panel/types.d.ts +27 -0
  35. package/components/data-fields-select/data-fields-select.d.ts +137 -0
  36. package/components/data-fields-select/index.d.ts +9 -0
  37. package/components/data-fields-select/types.d.ts +4 -0
  38. package/components/dataset-icon/dataset-icon.d.ts +45 -0
  39. package/components/dataset-icon/index.d.ts +8 -0
  40. package/components/dataset-icon/types.d.ts +11 -0
  41. package/components/dataset-selector-list/dataset-selector-list.d.ts +106 -0
  42. package/components/dataset-selector-list/index.d.ts +8 -0
  43. package/components/dataset-selector-row/dataset-selector-row.d.ts +144 -0
  44. package/components/dataset-selector-row/index.d.ts +9 -0
  45. package/components/display-settings/display-settings.d.ts +117 -0
  46. package/components/display-settings/index.d.ts +8 -0
  47. package/components/display-settings/types.d.ts +9 -0
  48. package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
  49. package/components/display-settings-binning/index.d.ts +8 -0
  50. package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
  51. package/components/display-settings-datetime/index.d.ts +8 -0
  52. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
  53. package/components/display-settings-grand-totals/index.d.ts +8 -0
  54. package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
  55. package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
  56. package/components/display-settings-numeric/index.d.ts +8 -0
  57. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +76 -0
  58. package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
  59. package/components/display-settings-period-over-period/index.d.ts +8 -0
  60. package/components/filter-expression-picker/filter-expression-picker.d.ts +77 -0
  61. package/components/filter-expression-picker/index.d.ts +7 -0
  62. package/components/filter-item/filter-item.d.ts +142 -0
  63. package/components/filter-item/index.d.ts +8 -0
  64. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +91 -0
  65. package/components/filter-parameter-picker/filter-parameter-picker.helpers.d.ts +8 -0
  66. package/components/filter-parameter-picker/index.d.ts +9 -0
  67. package/components/filter-parameter-picker/types.d.ts +4 -0
  68. package/components/filter-value-picker/filter-value-picker.d.ts +72 -0
  69. package/components/filter-value-picker/index.d.ts +7 -0
  70. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +51 -0
  71. package/components/filter-value-picker-datetime/index.d.ts +7 -0
  72. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +105 -0
  73. package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
  74. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +89 -0
  75. package/components/filter-value-picker-numeric/index.d.ts +7 -0
  76. package/components/filters/filters.d.ts +182 -0
  77. package/components/filters/index.d.ts +12 -0
  78. package/components/filters/transformations/clean-filters.d.ts +37 -0
  79. package/components/filters/transformations/filter-format.d.ts +54 -0
  80. package/components/filters/transformations/transform-filters.d.ts +52 -0
  81. package/components/filters/types.d.ts +65 -0
  82. package/components/formula/formula.d.ts +66 -0
  83. package/components/formula/index.d.ts +7 -0
  84. package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
  85. package/components/formula-codemirror/index.d.ts +7 -0
  86. package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
  87. package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
  88. package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
  89. package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
  90. package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
  91. package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
  92. package/components/formula-draggable-field/index.d.ts +8 -0
  93. package/components/formula-draggable-field/types.d.ts +24 -0
  94. package/components/formula-editor/formula-aggregations-list.d.ts +21 -0
  95. package/components/formula-editor/formula-datasets-list.d.ts +37 -0
  96. package/components/formula-editor/formula-description.d.ts +17 -0
  97. package/components/formula-editor/formula-editor.d.ts +85 -0
  98. package/components/formula-editor/formula-functions-list.d.ts +28 -0
  99. package/components/formula-editor/index.d.ts +12 -0
  100. package/components/formula-field/formula-field.d.ts +20 -0
  101. package/components/formula-field/index.d.ts +7 -0
  102. package/components/interactive-viz-item/helpers/chart-helpers.d.ts +7 -0
  103. package/components/interactive-viz-item/index.d.ts +10 -0
  104. package/components/interactive-viz-item/interactive-viz-item.d.ts +97 -0
  105. package/components/interactive-viz-item/load-config-panel.d.ts +2 -0
  106. package/components/interactive-viz-item/types.d.ts +117 -0
  107. package/components/item-grid/actions.d.ts +3 -0
  108. package/components/item-grid/helpers/grid-effects.d.ts +1 -0
  109. package/components/item-grid/helpers/grid-events.d.ts +56 -0
  110. package/components/item-grid/helpers/grid-interactions.d.ts +88 -0
  111. package/components/item-grid/helpers/grid-item-management.d.ts +30 -0
  112. package/components/item-grid/helpers/grid-item-popover.d.ts +21 -0
  113. package/components/item-grid/helpers/grid-items.d.ts +9 -0
  114. package/components/item-grid/helpers/grid-keyboard-updates.d.ts +18 -0
  115. package/components/item-grid/helpers/grid-keydown-event.d.ts +18 -0
  116. package/components/item-grid/helpers/grid-popover-cleanup.d.ts +4 -0
  117. package/components/item-grid/helpers/grid-rendering.d.ts +69 -0
  118. package/components/item-grid/helpers/grid-stack-lifecycle.d.ts +26 -0
  119. package/components/item-grid/helpers/grid-theme.d.ts +16 -0
  120. package/components/item-grid/helpers/grid-update-cycle.d.ts +22 -0
  121. package/components/item-grid/index.d.ts +12 -0
  122. package/components/item-grid/item-grid-item-actions-menu.d.ts +35 -0
  123. package/components/item-grid/item-grid.d.ts +251 -0
  124. package/components/item-grid/types.d.ts +57 -0
  125. package/components/item-menu/item-list/item-list.d.ts +37 -0
  126. package/components/item-option/helpers/control-markup.d.ts +14 -0
  127. package/components/item-option/helpers/control-templates/action-button-group-template.d.ts +2 -0
  128. package/components/item-option/helpers/control-templates/color-palette-picker-template.d.ts +2 -0
  129. package/components/item-option/helpers/control-templates/color-picker-template.d.ts +2 -0
  130. package/components/item-option/helpers/control-templates/color-range-template.d.ts +2 -0
  131. package/components/item-option/helpers/control-templates/guidelines-template.d.ts +3 -0
  132. package/components/item-option/helpers/control-templates/multi-language-field-template.d.ts +8 -0
  133. package/components/item-option/helpers/control-templates/number-field-template.d.ts +2 -0
  134. package/components/item-option/helpers/control-templates/picker-template.d.ts +2 -0
  135. package/components/item-option/helpers/control-templates/position-picker-template.d.ts +2 -0
  136. package/components/item-option/helpers/control-templates/positions-number-field-template.d.ts +2 -0
  137. package/components/item-option/helpers/control-templates/radio-button-group.d.ts +2 -0
  138. package/components/item-option/helpers/control-templates/slider-template.d.ts +2 -0
  139. package/components/item-option/helpers/control-templates/switch-template.d.ts +2 -0
  140. package/components/item-option/helpers/control-templates/text-field-template.d.ts +7 -0
  141. package/components/item-option/helpers/enum-values.d.ts +7 -0
  142. package/components/item-option/helpers/generate-callback.d.ts +1 -0
  143. package/components/item-option/helpers/get-control-by-key.d.ts +1 -0
  144. package/components/item-option/helpers/get-default-value.d.ts +1 -0
  145. package/components/item-option/helpers/get-enum-values.d.ts +1 -0
  146. package/components/item-option/helpers/get-extra-label-values.d.ts +7 -0
  147. package/components/item-option/helpers/get-value-by-key.d.ts +1 -0
  148. package/components/item-option/index.d.ts +8 -0
  149. package/components/item-option/item-option.d.ts +59 -0
  150. package/components/item-option/types.d.ts +8 -0
  151. package/components/item-option-action-button-group/index.d.ts +8 -0
  152. package/components/item-option-action-button-group/item-option-action-button-group.d.ts +36 -0
  153. package/components/item-option-base/item-option-base.d.ts +23 -0
  154. package/components/item-option-color-palette-picker/index.d.ts +8 -0
  155. package/components/item-option-color-palette-picker/item-option-color-palette-picker.d.ts +46 -0
  156. package/components/item-option-color-picker/index.d.ts +8 -0
  157. package/components/item-option-color-picker/item-option-color-picker.d.ts +33 -0
  158. package/components/item-option-color-range/index.d.ts +8 -0
  159. package/components/item-option-color-range/item-option-color-range.d.ts +99 -0
  160. package/components/item-option-guidelines/helpers/guidelines-value.d.ts +12 -0
  161. package/components/item-option-guidelines/index.d.ts +10 -0
  162. package/components/item-option-guidelines/item-option-guidelines.d.ts +74 -0
  163. package/components/item-option-guidelines/types.d.ts +25 -0
  164. package/components/item-option-multi-language-field/index.d.ts +8 -0
  165. package/components/item-option-multi-language-field/item-option-multi-language-field.d.ts +30 -0
  166. package/components/item-option-number-field/index.d.ts +8 -0
  167. package/components/item-option-number-field/item-option-number-field.d.ts +38 -0
  168. package/components/item-option-panel/index.d.ts +8 -0
  169. package/components/item-option-panel/item-option-panel.d.ts +77 -0
  170. package/components/item-option-picker/index.d.ts +8 -0
  171. package/components/item-option-picker/item-option-picker.d.ts +29 -0
  172. package/components/item-option-position-picker/index.d.ts +8 -0
  173. package/components/item-option-position-picker/item-option-position-picker.d.ts +22 -0
  174. package/components/item-option-positions-number-field/index.d.ts +8 -0
  175. package/components/item-option-positions-number-field/item-option-positions-number-field.d.ts +44 -0
  176. package/components/item-option-radio-button-group/index.d.ts +8 -0
  177. package/components/item-option-radio-button-group/item-option-radio-button-group.d.ts +29 -0
  178. package/components/item-option-slider/index.d.ts +8 -0
  179. package/components/item-option-slider/item-option-slider.d.ts +33 -0
  180. package/components/item-option-switch/index.d.ts +8 -0
  181. package/components/item-option-switch/item-option-switch.d.ts +19 -0
  182. package/components/item-option-text-field/index.d.ts +8 -0
  183. package/components/item-option-text-field/item-option-text-field.d.ts +25 -0
  184. package/components/item-slot-drop/index.d.ts +11 -0
  185. package/components/item-slot-drop/item-slot-drop.d.ts +113 -0
  186. package/components/item-slot-drop/types.d.ts +5 -0
  187. package/components/item-slot-drop-panel/index.d.ts +8 -0
  188. package/components/item-slot-drop-panel/item-slot-drop-panel.d.ts +180 -0
  189. package/components/item-slot-picker/index.d.ts +8 -0
  190. package/components/item-slot-picker/item-slot-picker.d.ts +149 -0
  191. package/components/item-slot-picker-panel/index.d.ts +9 -0
  192. package/components/item-slot-picker-panel/item-slot-picker-panel.d.ts +230 -0
  193. package/components/slot-menu/index.d.ts +10 -0
  194. package/components/slot-menu/slot-menu.d.ts +148 -0
  195. package/components/slot-menu/types.d.ts +24 -0
  196. package/components/slot-menu-list/index.d.ts +8 -0
  197. package/components/slot-menu-list/slot-menu-list.d.ts +47 -0
  198. package/components/viz-item-menu/index.d.ts +8 -0
  199. package/components/viz-item-menu/types.d.ts +9 -0
  200. package/components/viz-item-menu/viz-item-menu.d.ts +85 -0
  201. package/package.json +1 -1
  202. package/react/package.json +2 -2
  203. package/angular/README.md +0 -40
  204. package/angular/components/ai-chat-empty-state.ts +0 -105
  205. package/angular/components/ai-chat.ts +0 -447
  206. package/angular/components/ai-interaction-textarea.ts +0 -290
  207. package/angular/components/data-field-level.ts +0 -130
  208. package/angular/components/data-field-panel.ts +0 -256
  209. package/angular/components/data-field.ts +0 -130
  210. package/angular/components/data-fields-select.ts +0 -226
  211. package/angular/components/dataset-icon.ts +0 -83
  212. package/angular/components/dataset-selector-list.ts +0 -147
  213. package/angular/components/dataset-selector-row.ts +0 -205
  214. package/angular/components/display-settings-binning.ts +0 -92
  215. package/angular/components/display-settings-datetime.ts +0 -100
  216. package/angular/components/display-settings-grand-totals.ts +0 -92
  217. package/angular/components/display-settings-numeric.ts +0 -113
  218. package/angular/components/display-settings-period-over-period.ts +0 -121
  219. package/angular/components/display-settings.ts +0 -227
  220. package/angular/components/filter-expression-picker.ts +0 -168
  221. package/angular/components/filter-item.ts +0 -207
  222. package/angular/components/filter-parameter-picker.ts +0 -155
  223. package/angular/components/filter-value-picker-datetime.ts +0 -125
  224. package/angular/components/filter-value-picker-hierarchy.ts +0 -146
  225. package/angular/components/filter-value-picker-numeric.ts +0 -146
  226. package/angular/components/filter-value-picker.ts +0 -160
  227. package/angular/components/filters.ts +0 -241
  228. package/angular/components/formula-editor.ts +0 -229
  229. package/angular/components/formula-field.ts +0 -198
  230. package/angular/components/formula.ts +0 -170
  231. package/angular/components/interactive-viz-item.ts +0 -186
  232. package/angular/components/item-grid-item-actions-menu.ts +0 -113
  233. package/angular/components/item-grid.ts +0 -242
  234. package/angular/components/item-option-action-button-group.ts +0 -105
  235. package/angular/components/item-option-color-palette-picker.ts +0 -126
  236. package/angular/components/item-option-color-picker.ts +0 -134
  237. package/angular/components/item-option-color-range.ts +0 -168
  238. package/angular/components/item-option-guidelines.ts +0 -84
  239. package/angular/components/item-option-multi-language-field.ts +0 -133
  240. package/angular/components/item-option-number-field.ts +0 -161
  241. package/angular/components/item-option-panel.ts +0 -149
  242. package/angular/components/item-option-picker.ts +0 -120
  243. package/angular/components/item-option-position-picker.ts +0 -98
  244. package/angular/components/item-option-positions-number-field.ts +0 -140
  245. package/angular/components/item-option-radio-button-group.ts +0 -119
  246. package/angular/components/item-option-slider.ts +0 -126
  247. package/angular/components/item-option-switch.ts +0 -98
  248. package/angular/components/item-option-text-field.ts +0 -112
  249. package/angular/components/item-option.ts +0 -163
  250. package/angular/components/item-slot-drop-panel.ts +0 -236
  251. package/angular/components/item-slot-drop.ts +0 -231
  252. package/angular/components/item-slot-picker-panel.ts +0 -299
  253. package/angular/components/item-slot-picker.ts +0 -241
  254. package/angular/components/slot-menu-list.ts +0 -121
  255. package/angular/components/slot-menu.ts +0 -304
  256. package/angular/components/viz-item-menu.ts +0 -118
  257. package/angular/esm/components/ai-chat-empty-state.d.ts +0 -41
  258. package/angular/esm/components/ai-chat-empty-state.js +0 -107
  259. package/angular/esm/components/ai-chat.d.ts +0 -149
  260. package/angular/esm/components/ai-chat.js +0 -463
  261. package/angular/esm/components/ai-interaction-textarea.d.ts +0 -108
  262. package/angular/esm/components/ai-interaction-textarea.js +0 -313
  263. package/angular/esm/components/data-field-level.d.ts +0 -50
  264. package/angular/esm/components/data-field-level.js +0 -129
  265. package/angular/esm/components/data-field-panel.d.ts +0 -86
  266. package/angular/esm/components/data-field-panel.js +0 -268
  267. package/angular/esm/components/data-field.d.ts +0 -50
  268. package/angular/esm/components/data-field.js +0 -129
  269. package/angular/esm/components/data-fields-select.d.ts +0 -87
  270. package/angular/esm/components/data-fields-select.js +0 -243
  271. package/angular/esm/components/dataset-icon.d.ts +0 -34
  272. package/angular/esm/components/dataset-icon.js +0 -86
  273. package/angular/esm/components/dataset-selector-list.d.ts +0 -56
  274. package/angular/esm/components/dataset-selector-list.js +0 -155
  275. package/angular/esm/components/dataset-selector-row.d.ts +0 -72
  276. package/angular/esm/components/dataset-selector-row.js +0 -205
  277. package/angular/esm/components/display-settings-binning.d.ts +0 -37
  278. package/angular/esm/components/display-settings-binning.js +0 -91
  279. package/angular/esm/components/display-settings-datetime.d.ts +0 -40
  280. package/angular/esm/components/display-settings-datetime.js +0 -99
  281. package/angular/esm/components/display-settings-grand-totals.d.ts +0 -37
  282. package/angular/esm/components/display-settings-grand-totals.js +0 -91
  283. package/angular/esm/components/display-settings-numeric.d.ts +0 -45
  284. package/angular/esm/components/display-settings-numeric.js +0 -115
  285. package/angular/esm/components/display-settings-period-over-period.d.ts +0 -50
  286. package/angular/esm/components/display-settings-period-over-period.js +0 -123
  287. package/angular/esm/components/display-settings.d.ts +0 -83
  288. package/angular/esm/components/display-settings.js +0 -231
  289. package/angular/esm/components/filter-expression-picker.d.ts +0 -64
  290. package/angular/esm/components/filter-expression-picker.js +0 -179
  291. package/angular/esm/components/filter-item.d.ts +0 -74
  292. package/angular/esm/components/filter-item.js +0 -222
  293. package/angular/esm/components/filter-parameter-picker.d.ts +0 -56
  294. package/angular/esm/components/filter-parameter-picker.js +0 -151
  295. package/angular/esm/components/filter-value-picker-datetime.d.ts +0 -47
  296. package/angular/esm/components/filter-value-picker-datetime.js +0 -131
  297. package/angular/esm/components/filter-value-picker-hierarchy.d.ts +0 -53
  298. package/angular/esm/components/filter-value-picker-hierarchy.js +0 -155
  299. package/angular/esm/components/filter-value-picker-numeric.d.ts +0 -53
  300. package/angular/esm/components/filter-value-picker-numeric.js +0 -155
  301. package/angular/esm/components/filter-value-picker.d.ts +0 -57
  302. package/angular/esm/components/filter-value-picker.js +0 -171
  303. package/angular/esm/components/filters.d.ts +0 -85
  304. package/angular/esm/components/filters.js +0 -251
  305. package/angular/esm/components/formula-editor.d.ts +0 -78
  306. package/angular/esm/components/formula-editor.js +0 -236
  307. package/angular/esm/components/formula-field.d.ts +0 -70
  308. package/angular/esm/components/formula-field.js +0 -209
  309. package/angular/esm/components/formula.d.ts +0 -60
  310. package/angular/esm/components/formula.js +0 -177
  311. package/angular/esm/components/interactive-viz-item.d.ts +0 -63
  312. package/angular/esm/components/interactive-viz-item.js +0 -188
  313. package/angular/esm/components/item-grid-item-actions-menu.d.ts +0 -45
  314. package/angular/esm/components/item-grid-item-actions-menu.js +0 -115
  315. package/angular/esm/components/item-grid.d.ts +0 -80
  316. package/angular/esm/components/item-grid.js +0 -245
  317. package/angular/esm/components/item-option-action-button-group.d.ts +0 -41
  318. package/angular/esm/components/item-option-action-button-group.js +0 -107
  319. package/angular/esm/components/item-option-color-palette-picker.d.ts +0 -48
  320. package/angular/esm/components/item-option-color-palette-picker.js +0 -131
  321. package/angular/esm/components/item-option-color-picker.d.ts +0 -51
  322. package/angular/esm/components/item-option-color-picker.js +0 -139
  323. package/angular/esm/components/item-option-color-range.d.ts +0 -66
  324. package/angular/esm/components/item-option-color-range.js +0 -179
  325. package/angular/esm/components/item-option-guidelines.d.ts +0 -34
  326. package/angular/esm/components/item-option-guidelines.js +0 -83
  327. package/angular/esm/components/item-option-multi-language-field.d.ts +0 -50
  328. package/angular/esm/components/item-option-multi-language-field.js +0 -139
  329. package/angular/esm/components/item-option-number-field.d.ts +0 -58
  330. package/angular/esm/components/item-option-number-field.js +0 -171
  331. package/angular/esm/components/item-option-panel.d.ts +0 -54
  332. package/angular/esm/components/item-option-panel.js +0 -155
  333. package/angular/esm/components/item-option-picker.d.ts +0 -46
  334. package/angular/esm/components/item-option-picker.js +0 -123
  335. package/angular/esm/components/item-option-position-picker.d.ts +0 -39
  336. package/angular/esm/components/item-option-position-picker.js +0 -99
  337. package/angular/esm/components/item-option-positions-number-field.d.ts +0 -54
  338. package/angular/esm/components/item-option-positions-number-field.js +0 -147
  339. package/angular/esm/components/item-option-radio-button-group.d.ts +0 -45
  340. package/angular/esm/components/item-option-radio-button-group.js +0 -123
  341. package/angular/esm/components/item-option-slider.d.ts +0 -46
  342. package/angular/esm/components/item-option-slider.js +0 -131
  343. package/angular/esm/components/item-option-switch.d.ts +0 -40
  344. package/angular/esm/components/item-option-switch.js +0 -99
  345. package/angular/esm/components/item-option-text-field.d.ts +0 -44
  346. package/angular/esm/components/item-option-text-field.js +0 -115
  347. package/angular/esm/components/item-option.d.ts +0 -58
  348. package/angular/esm/components/item-option.js +0 -171
  349. package/angular/esm/components/item-slot-drop-panel.d.ts +0 -82
  350. package/angular/esm/components/item-slot-drop-panel.js +0 -249
  351. package/angular/esm/components/item-slot-drop.d.ts +0 -77
  352. package/angular/esm/components/item-slot-drop.js +0 -227
  353. package/angular/esm/components/item-slot-picker-panel.d.ts +0 -97
  354. package/angular/esm/components/item-slot-picker-panel.js +0 -309
  355. package/angular/esm/components/item-slot-picker.d.ts +0 -86
  356. package/angular/esm/components/item-slot-picker.js +0 -259
  357. package/angular/esm/components/slot-menu-list.d.ts +0 -46
  358. package/angular/esm/components/slot-menu-list.js +0 -123
  359. package/angular/esm/components/slot-menu.d.ts +0 -104
  360. package/angular/esm/components/slot-menu.js +0 -300
  361. package/angular/esm/components/viz-item-menu.d.ts +0 -42
  362. package/angular/esm/components/viz-item-menu.js +0 -111
  363. package/angular/esm/index.d.ts +0 -109
  364. package/angular/esm/index.js +0 -217
  365. package/angular/index.ts +0 -223
  366. package/angular/package.json +0 -40
  367. package/angular/tsconfig.json +0 -36
  368. package/angular/type-fallbacks.d.ts +0 -0
  369. package/angular/utils/ai-prompt/attachments.d.ts +0 -10
  370. package/angular/utils/ai-prompt/dictation.d.ts +0 -50
  371. package/angular/utils/ai-prompt/image-upload.d.ts +0 -12
  372. package/angular/utils/ai-prompt/index.d.ts +0 -6
  373. package/angular/utils/ai-prompt/tests/attachments.test.d.ts +0 -1
  374. package/angular/utils/ai-prompt/tests/dictation.test.d.ts +0 -1
  375. package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +0 -1
  376. package/angular/utils/base/base.d.ts +0 -16
  377. package/angular/utils/base/focus-visible.d.ts +0 -29
  378. package/angular/utils/base/focusable.d.ts +0 -58
  379. package/angular/utils/base/index.d.ts +0 -5
  380. package/angular/utils/base/localized-mixin.d.ts +0 -22
  381. package/angular/utils/base/sized-mixin.d.ts +0 -17
  382. package/angular/utils/color/color-palettes.d.ts +0 -17
  383. package/angular/utils/color/extrapolate-color.d.ts +0 -1
  384. package/angular/utils/create-lazy-loader.d.ts +0 -5
  385. package/angular/utils/data/load-data-fields-for-datasets.d.ts +0 -22
  386. package/angular/utils/data-broker/index.d.ts +0 -263
  387. package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +0 -12
  388. package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +0 -1
  389. package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +0 -1
  390. package/angular/utils/drag/draggable.d.ts +0 -13
  391. package/angular/utils/drag/pragmatic-element-adapter.d.ts +0 -2
  392. package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +0 -1
  393. package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +0 -1
  394. package/angular/utils/filters/expressions.d.ts +0 -15
  395. package/angular/utils/filters/filter-text.d.ts +0 -64
  396. package/angular/utils/filters/index.d.ts +0 -2
  397. package/angular/utils/filters/presentation.d.ts +0 -4
  398. package/angular/utils/filters/tests/filter-text.test.d.ts +0 -1
  399. package/angular/utils/formatter/calculate-duration.d.ts +0 -2
  400. package/angular/utils/formatter/decompose-numeric-format.d.ts +0 -11
  401. package/angular/utils/formatter/default-local-formats.d.ts +0 -20
  402. package/angular/utils/formatter/formats/cs.d.ts +0 -20
  403. package/angular/utils/formatter/formats/da.d.ts +0 -20
  404. package/angular/utils/formatter/formats/de.d.ts +0 -21
  405. package/angular/utils/formatter/formats/en-GB.d.ts +0 -21
  406. package/angular/utils/formatter/formats/en-US.d.ts +0 -1
  407. package/angular/utils/formatter/formats/en.d.ts +0 -1
  408. package/angular/utils/formatter/formats/es.d.ts +0 -54
  409. package/angular/utils/formatter/formats/fi.d.ts +0 -20
  410. package/angular/utils/formatter/formats/fr.d.ts +0 -54
  411. package/angular/utils/formatter/formats/he.d.ts +0 -20
  412. package/angular/utils/formatter/formats/hu.d.ts +0 -20
  413. package/angular/utils/formatter/formats/it.d.ts +0 -54
  414. package/angular/utils/formatter/formats/ja.d.ts +0 -20
  415. package/angular/utils/formatter/formats/ko.d.ts +0 -20
  416. package/angular/utils/formatter/formats/mk.d.ts +0 -20
  417. package/angular/utils/formatter/formats/nl.d.ts +0 -21
  418. package/angular/utils/formatter/formats/no.d.ts +0 -21
  419. package/angular/utils/formatter/formats/pl.d.ts +0 -20
  420. package/angular/utils/formatter/formats/pt.d.ts +0 -20
  421. package/angular/utils/formatter/formats/ru.d.ts +0 -20
  422. package/angular/utils/formatter/formats/sv.d.ts +0 -20
  423. package/angular/utils/formatter/formats/tr.d.ts +0 -21
  424. package/angular/utils/formatter/formats/zh-CN.d.ts +0 -20
  425. package/angular/utils/formatter/formats/zh-TW.d.ts +0 -20
  426. package/angular/utils/formatter/formatter.d.ts +0 -9
  427. package/angular/utils/formatter/get-dataset-name.d.ts +0 -2
  428. package/angular/utils/formatter/get-localized-name.d.ts +0 -4
  429. package/angular/utils/formatter/localize.d.ts +0 -3
  430. package/angular/utils/formatter/localized-template.d.ts +0 -4
  431. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +0 -36
  432. package/angular/utils/formatter/tests/calculate-duration.test.d.ts +0 -1
  433. package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +0 -1
  434. package/angular/utils/formatter/tests/default-local-formats.test.d.ts +0 -1
  435. package/angular/utils/formatter/tests/formatter.test.d.ts +0 -1
  436. package/angular/utils/formatter/tests/get-localized-name.test.d.ts +0 -1
  437. package/angular/utils/formatter/tests/localize.test.d.ts +0 -1
  438. package/angular/utils/formatter/tests/localized-template.test.d.ts +0 -1
  439. package/angular/utils/formula/base/formula-base.d.ts +0 -117
  440. package/angular/utils/formula/base/formula-input-base.d.ts +0 -62
  441. package/angular/utils/formula/codemirror/actions.d.ts +0 -47
  442. package/angular/utils/formula/codemirror/drop-cursor.d.ts +0 -15
  443. package/angular/utils/formula/codemirror/icon-element.d.ts +0 -7
  444. package/angular/utils/formula/codemirror/parser.d.ts +0 -16
  445. package/angular/utils/formula/codemirror/tests/actions.test.d.ts +0 -1
  446. package/angular/utils/formula/codemirror/theme.d.ts +0 -20
  447. package/angular/utils/formula/codemirror/widget.d.ts +0 -18
  448. package/angular/utils/formula/config/aggregations.d.ts +0 -9
  449. package/angular/utils/formula/config/build-datasets.d.ts +0 -10
  450. package/angular/utils/formula/config/expression-helpers.d.ts +0 -42
  451. package/angular/utils/formula/config/functions.d.ts +0 -3
  452. package/angular/utils/formula/config/groupings.d.ts +0 -9
  453. package/angular/utils/formula/config/regex.d.ts +0 -39
  454. package/angular/utils/formula/config/resolve-column-presentation.d.ts +0 -19
  455. package/angular/utils/formula/config/tests/build-datasets.test.d.ts +0 -1
  456. package/angular/utils/formula/config/validate-expression.d.ts +0 -19
  457. package/angular/utils/formula/load-formula-codemirror.d.ts +0 -4
  458. package/angular/utils/formula/render-explanation-tooltip.d.ts +0 -7
  459. package/angular/utils/formula/store/formula-display-store.d.ts +0 -93
  460. package/angular/utils/formula/store/formula-editor-context.d.ts +0 -8
  461. package/angular/utils/formula/store/formula-editor-store.d.ts +0 -46
  462. package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +0 -1
  463. package/angular/utils/formula/tests/validate-expression.test.d.ts +0 -1
  464. package/angular/utils/get-css-variable.d.ts +0 -1
  465. package/angular/utils/index.d.ts +0 -10
  466. package/angular/utils/localize/set-locale.d.ts +0 -7
  467. package/angular/utils/map-tile-providers/index.d.ts +0 -93
  468. package/angular/utils/set-nested-value.d.ts +0 -6
  469. package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +0 -7
  470. package/angular/utils/slot-content/render-calculation-label.d.ts +0 -7
  471. package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +0 -1
  472. package/angular/utils/slot-state/slot-context.d.ts +0 -4
  473. package/angular/utils/slot-state/slot-store.d.ts +0 -43
  474. package/angular/utils/slot-state/tests/slot-store.test.d.ts +0 -1
  475. package/angular/utils/store/base-store.d.ts +0 -158
  476. package/angular/utils/store/dashboard-store.d.ts +0 -49
  477. package/angular/utils/store/index.d.ts +0 -135
  478. package/angular/utils/store/item-store.d.ts +0 -33
  479. package/angular/utils/store/store-registry.d.ts +0 -170
  480. package/angular/utils/store/tests/dashboard-store.test.d.ts +0 -1
  481. package/angular/utils/store/tests/item-store.test.d.ts +0 -1
  482. package/angular/utils/store/tests/store-registry.test.d.ts +0 -1
  483. package/angular/utils/store/types.d.ts +0 -270
  484. package/angular/utils/switch-item/index.d.ts +0 -34
  485. package/angular/utils/switch-item/slot-role-classification.d.ts +0 -31
  486. package/angular/utils/switch-item/stories/switch-item.stories.d.ts +0 -17
  487. package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +0 -1
  488. package/angular/utils/switch-item/tests/switch-item.test.d.ts +0 -1
  489. package/angular/utils/tests/create-lazy-loader.test.d.ts +0 -1
  490. package/angular/utils/tests/set-nested-value.test.d.ts +0 -1
  491. package/angular/utils/themes/bliss.d.ts +0 -2
  492. package/angular/utils/themes/classic-dark.d.ts +0 -2
  493. package/angular/utils/themes/classic.d.ts +0 -2
  494. package/angular/utils/themes/default-dark.d.ts +0 -2
  495. package/angular/utils/themes/default.d.ts +0 -2
  496. package/angular/utils/themes/index.d.ts +0 -4
  497. package/angular/utils/themes/orion.d.ts +0 -2
  498. package/angular/utils/themes/pinky.d.ts +0 -2
  499. package/angular/utils/themes/radiant.d.ts +0 -2
  500. package/angular/utils/themes/royale.d.ts +0 -2
  501. package/angular/utils/themes/seasonal.d.ts +0 -2
  502. package/angular/utils/themes/urban.d.ts +0 -2
  503. package/angular/utils/themes/vivid.d.ts +0 -2
  504. package/angular/utils/time/formats.const.d.ts +0 -4
  505. package/angular/utils/time/period-over-period-condition.const.d.ts +0 -8
  506. package/angular/utils/time/periods.const.d.ts +0 -15
  507. package/angular/utils/timezone/datetime-timezone.d.ts +0 -25
  508. package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +0 -1
  509. package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +0 -9
  510. package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +0 -30
  511. package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +0 -1
  512. package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +0 -1
  513. package/angular/utils/types/tests/type-check.test.d.ts +0 -1
  514. package/angular/utils/types/type-check.d.ts +0 -28
@@ -0,0 +1,139 @@
1
+ import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
2
+ import type { AiSampleChart, ChatMessage } from '../../types';
3
+ import type { AiPromptAgent, AiPromptCustomItemInput, DashboardStatePayload } from './ai-prompt-types';
4
+ /**
5
+ * Common fields present on every streamed step event, recognized or not.
6
+ */
7
+ export interface AiChatStepBase {
8
+ /** The aiprompt agent that produced this step (`item`, `dashboard`, `analyst`, `custom-item`). */
9
+ agent: AiPromptAgent;
10
+ /** Current conversation id, or `null` before the backend assigns one. */
11
+ conversationId: string | null;
12
+ /** Backend message id, when the chunk carries one. */
13
+ messageId?: string;
14
+ /** Always present — the original stream chunk that produced this step. */
15
+ raw: Record<string, unknown>;
16
+ }
17
+ /** Recognized stream-step type discriminants. */
18
+ export type AiChatRecognizedStepType = 'decision' | 'text' | 'progress' | 'dashboard-title' | 'dashboard-layout' | 'dashboard-item' | 'chart' | 'custom-item' | 'elicitation' | 'interrupt';
19
+ /**
20
+ * Stream steps assembled into a typed `data` payload.
21
+ * Discriminated by `type` (when `recognized` is `true`).
22
+ */
23
+ export type RecognizedStepEvent = (AiChatStepBase & {
24
+ recognized: true;
25
+ type: 'decision';
26
+ data: {
27
+ decision: 'create' | 'edit' | 'question';
28
+ };
29
+ }) | (AiChatStepBase & {
30
+ recognized: true;
31
+ type: 'text';
32
+ data: {
33
+ delta: string;
34
+ text: string;
35
+ };
36
+ }) | (AiChatStepBase & {
37
+ recognized: true;
38
+ type: 'progress';
39
+ data: ProgressTreeNode;
40
+ }) | (AiChatStepBase & {
41
+ recognized: true;
42
+ type: 'dashboard-title';
43
+ data: {
44
+ name: Record<string, string>;
45
+ };
46
+ }) | (AiChatStepBase & {
47
+ recognized: true;
48
+ type: 'dashboard-layout';
49
+ data: DashboardStatePayload;
50
+ }) | (AiChatStepBase & {
51
+ recognized: true;
52
+ type: 'dashboard-item';
53
+ data: {
54
+ slot: number;
55
+ chart: Record<string, unknown>;
56
+ };
57
+ }) | (AiChatStepBase & {
58
+ recognized: true;
59
+ type: 'chart';
60
+ data: Record<string, unknown>;
61
+ }) | (AiChatStepBase & {
62
+ recognized: true;
63
+ type: 'custom-item';
64
+ data: AiPromptCustomItemInput['value'];
65
+ }) | (AiChatStepBase & {
66
+ recognized: true;
67
+ type: 'elicitation';
68
+ data: {
69
+ question: string;
70
+ options: string[];
71
+ };
72
+ }) | (AiChatStepBase & {
73
+ recognized: true;
74
+ type: 'interrupt';
75
+ data: {
76
+ question: string;
77
+ };
78
+ });
79
+ /**
80
+ * Stream steps not (yet) modeled. Still delivered so consumers never
81
+ * silently lose data; `data` is a best-effort payload (often identical to `raw`).
82
+ */
83
+ export type UnknownStepEvent = AiChatStepBase & {
84
+ recognized: false;
85
+ /** Raw chunk `type` / `asset_type`. */
86
+ type: string;
87
+ /** Best-effort payload (often `=== raw`). */
88
+ data: unknown;
89
+ };
90
+ /**
91
+ * Open union of streamed step events. Use {@link isRecognizedStep} to narrow to
92
+ * the typed {@link RecognizedStepEvent} set; otherwise inspect `raw`.
93
+ */
94
+ export type AiChatStepEvent = RecognizedStepEvent | UnknownStepEvent;
95
+ /**
96
+ * Authoritative final result of a streamed response, fired exactly once.
97
+ */
98
+ export interface AiChatCompleteEvent {
99
+ /** The aiprompt agent that produced this result. */
100
+ agent: AiPromptAgent;
101
+ /** Conversation id for this response. */
102
+ conversationId: string | null;
103
+ /** Final assistant message (text + flags). */
104
+ message: ChatMessage;
105
+ /** Authoritative dashboard payload (dashboard agent). */
106
+ dashboard?: DashboardStatePayload;
107
+ /** Authoritative chart payload (item agent). */
108
+ chart?: AiSampleChart;
109
+ /**
110
+ * Updated custom item draft (custom-item agent), present only when the agent changed it.
111
+ * Carries the chart document under `document` plus validation results such as `ok`.
112
+ */
113
+ customItem?: AiPromptCustomItemInput['value'];
114
+ /** Dashboard name keyed by locale (dashboard agent). */
115
+ name?: Record<string, string>;
116
+ /** Forward-compat: any final assets not modeled explicitly. */
117
+ assets?: Record<string, unknown>;
118
+ /** Present when the response failed. */
119
+ error?: unknown;
120
+ /** Original terminal chunk. */
121
+ raw?: Record<string, unknown>;
122
+ }
123
+ /**
124
+ * Type guard separating the typed, recognized step set from the open passthrough.
125
+ * Lets consumers `switch` exhaustively on `event.type` with fully narrowed `data`.
126
+ *
127
+ * @example
128
+ * ```ts
129
+ * onStep: (event) => {
130
+ * if (!isRecognizedStep(event)) return; // forward-compatible: ignore or use event.raw
131
+ * switch (event.type) {
132
+ * case 'decision':
133
+ * // event.data.decision is typed
134
+ * break;
135
+ * }
136
+ * };
137
+ * ```
138
+ */
139
+ export declare function isRecognizedStep(event: AiChatStepEvent): event is RecognizedStepEvent;
@@ -0,0 +1,25 @@
1
+ import type { LuzmoChart } from '../../types';
2
+ import type { AiPromptAgent, AiPromptCreateBody, AiPromptDeleteBody, AiPromptProperties, AiPromptSavedAgentProperties, BuildAiPromptRequestContext } from './ai-prompt-types';
3
+ export type { AiPromptAgent, AiPromptBuiltInAgentProperties, AiPromptImageInput, AiPromptCreateBody, AiPromptDeleteBody, AiPromptInput, AiPromptItemTask, AiPromptProperties, AiPromptPropertiesBase, AiPromptSavedAgentProperties, AiPromptScreenMode, BuildAiPromptRequestContext, DashboardStatePayload, LuzmoDashboardGeneratedEventDetail, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail } from './ai-prompt-types';
4
+ export { AI_PROMPT_ACCEPTED_IMAGE_MIME_TYPES, AI_PROMPT_MAX_ATTACHMENTS, assertValidAiPromptAttachmentFiles, assertValidAiPromptAttachmentUrls, isAiPromptAcceptedImageFile, isAiPromptAcceptedImageMimeType, isAiPromptAcceptedImageUrl } from '../../utils/ai-prompt';
5
+ export declare function getAiPromptUrl(apiUrl: string, apiVersion: string): string;
6
+ export declare function chartToItemAsset(chart: LuzmoChart): Record<string, unknown> | null;
7
+ export declare function buildItemAiPromptProperties(ctx: BuildAiPromptRequestContext): AiPromptProperties;
8
+ export declare function buildDashboardAiPromptProperties(ctx: BuildAiPromptRequestContext): AiPromptProperties;
9
+ export declare function buildAnalystAiPromptProperties(ctx: BuildAiPromptRequestContext): AiPromptProperties;
10
+ /**
11
+ * Properties for the custom-item agent, which authors custom chart code. It reads no datasets
12
+ * and replies in markdown, which the chat renders.
13
+ */
14
+ export declare function buildCustomItemAiPromptProperties(ctx: BuildAiPromptRequestContext): AiPromptProperties;
15
+ /**
16
+ * Properties for a saved Agent run. The agent id resolves datasets, capabilities and theme
17
+ * server-side, so `agent` and `task` are deliberately absent: sending either alongside
18
+ * `agent_id` is a 400. Chart and dashboard context still travel: a saved Agent runs as the
19
+ * universal agent, whose planner reads `item` and `dashboard` entries out of the current
20
+ * input, so dropping them would blind it to what the host is showing.
21
+ */
22
+ export declare function buildSavedAgentAiPromptProperties(agentId: string, ctx: BuildAiPromptRequestContext): AiPromptSavedAgentProperties;
23
+ export declare function buildAiPromptProperties(agent: AiPromptAgent, ctx: BuildAiPromptRequestContext): AiPromptProperties;
24
+ export declare function buildAiPromptRequest(agent: AiPromptAgent, ctx: BuildAiPromptRequestContext): AiPromptCreateBody;
25
+ export declare function buildAiPromptDeleteRequest(restoreToMessageId: string, authKey: string, authToken: string, apiVersion?: string, conversationId?: string | null): AiPromptDeleteBody;
@@ -0,0 +1,356 @@
1
+ import '@luzmo/lucero/button';
2
+ import '@luzmo/lucero/chat-message';
3
+ import '@luzmo/lucero/icon';
4
+ import '@luzmo/lucero/overlay';
5
+ import '@luzmo/lucero/popover';
6
+ import '@luzmo/lucero/progress-steps';
7
+ import { LuzmoElement } from '../../utils/base';
8
+ import { type PropertyValues, TemplateResult } from 'lit';
9
+ import type { ChatMessage, Dataset, LuzmoChart } from '../../types';
10
+ import '../ai-interaction-textarea';
11
+ import type { AiPromptAgent, AiPromptCustomItemInput, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from './ai-prompt-types';
12
+ import type { AiChatAgentConfig } from './types';
13
+ import './empty-state';
14
+ import type { AiChatEmptyStateSuggestion } from './empty-state';
15
+ import type { AiChatSession } from './session/ai-chat-session';
16
+ declare const LuzmoAiChat_base: typeof LuzmoElement & {
17
+ new (...args: any[]): import("../../utils/base/sized-mixin").SizedElementInterface;
18
+ prototype: import("../../utils/base/sized-mixin").SizedElementInterface;
19
+ };
20
+ /**
21
+ * @customElement luzmo-ai-chat
22
+ * @summary AI chat UI backed by AiChatSession for transcript, datasets, and streaming.
23
+ * @description Chat state lives in an AiChatSession. By default the element creates an internal
24
+ * session from auth, agent, and chart or dashboard props; optional messages and selected-datasets
25
+ * seed it once on connect. Pass .chatSession for a host-owned session (e.g. dashboard editor).
26
+ * See {@link AiChatSession} / createAiChatSession for callbacks and external fetchStreaming.
27
+ * @fires {CustomEvent<AiChatStepEvent>} luzmo-step - Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, custom-item, elicitation, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow.
28
+ * @fires {CustomEvent<AiChatCompleteEvent>} luzmo-complete - Fired exactly once per response with the authoritative final result (dashboard/chart/name/customItem) or an `error`.
29
+ * @fires {CustomEvent<AiChatMessageSentEventDetail>} luzmo-message-sent - Fired when a user sends a message
30
+ * @fires {CustomEvent<AiChatDatasetsChangedEventDetail>} luzmo-datasets-changed - Fired when the selected datasets change
31
+ * @fires {CustomEvent<AiChatConversationIdChangedEventDetail>} luzmo-conversation-id-changed - Fired when the conversation ID is updated from the API
32
+ * @fires {CustomEvent<AssistantMessageActionEventDetail>} luzmo-assistant-message-action - Fired when a built-in assistant message action is activated (after confirmation when `confirm` is set)
33
+ * @fires {CustomEvent<void>} luzmo-stop - Fired when an in-flight prompt is stopped
34
+ *
35
+ * @attr size - Size of the chat: `s`, `m` (default), `l` or `xl`. Scales messages, progress steps, questions, the empty state and the prompt input together.
36
+ *
37
+ * Custom actions beyond built-in `ChatMessage.actions` buttons can be projected via the
38
+ * `assistant-message-actions` light-DOM slot on the latest assistant message.
39
+ * @property {string} --luzmo-ai-chat-background - Background of the chat container
40
+ * @property {string} --luzmo-ai-chat-border-radius - Border radius of the chat container
41
+ * @property {string} --luzmo-ai-chat-padding - Padding of the chat container
42
+ * @property {string} --luzmo-ai-chat-gap - Gap between chat sections and messages
43
+ * @property {string} --luzmo-ai-chat-border - Border of the chat container
44
+ * @property {string} --luzmo-ai-chat-box-shadow - Box shadow of the chat container
45
+ * @property {string} --luzmo-ai-chat-scrollbar-width - Width of the messages scrollbar
46
+ * @property {string} --luzmo-ai-chat-scrollbar-track-background - Background of the messages scrollbar track
47
+ * @property {string} --luzmo-ai-chat-scrollbar-track-border-radius - Border radius of the messages scrollbar track
48
+ * @property {string} --luzmo-ai-chat-scrollbar-thumb-background - Background of the messages scrollbar thumb
49
+ * @property {string} --luzmo-ai-chat-scrollbar-thumb-border-radius - Border radius of the messages scrollbar thumb
50
+ * @property {string} --luzmo-ai-chat-scrollbar-thumb-hover-background - Hover background of the messages scrollbar thumb
51
+ * @property {string} --luzmo-ai-chat-loading-message-color - Color of the loading spinner icon
52
+ * @property {string} --luzmo-ai-chat-loading-message-icon-font-size - Font size of the loading spinner icon
53
+ * @property {string} --luzmo-ai-chat-error-message-color - Color of assistant error messages
54
+ * @property {string} --luzmo-ai-chat-context-menu-trigger-size - Size of the assistant context menu trigger button
55
+ * @property {string} --luzmo-ai-chat-context-menu-trigger-border-color - Border color of the context menu trigger button
56
+ * @property {string} --luzmo-ai-chat-context-menu-trigger-border-radius - Border radius of the context menu trigger button
57
+ * @property {string} --luzmo-ai-chat-context-menu-trigger-background - Background of the context menu trigger button
58
+ * @property {string} --luzmo-ai-chat-context-menu-trigger-color - Icon color of the context menu trigger button
59
+ * @property {string} --luzmo-ai-chat-context-menu-trigger-hover-background - Hover background of the context menu trigger button
60
+ * @property {string} --luzmo-ai-chat-context-menu-trigger-hover-border-color - Hover border color of the context menu trigger button
61
+ * @property {string} --luzmo-ai-chat-context-menu-trigger-hover-color - Hover icon color of the context menu trigger button
62
+ * @property {string} --luzmo-ai-chat-context-menu-item-font-family - Font family of context menu items
63
+ * @property {string} --luzmo-ai-chat-context-menu-item-hover-background - Hover background of context menu items
64
+ * @property {string} --luzmo-ai-chat-markdown-line-height - Line height of rendered assistant markdown
65
+ * @property {string} --luzmo-ai-chat-markdown-spacing - Bottom spacing between markdown blocks (paragraphs, lists, tables, etc.)
66
+ * @property {string} --luzmo-ai-chat-markdown-heading-spacing - Top spacing above markdown headings (and `hr` margins)
67
+ * @property {string} --luzmo-ai-chat-markdown-heading-font-weight - Font weight of markdown headings
68
+ * @property {string} --luzmo-ai-chat-markdown-list-indent - Inline start padding (indent) of markdown lists
69
+ * @property {string} --luzmo-ai-chat-markdown-link-color - Color of links in markdown
70
+ * @property {string} --luzmo-ai-chat-markdown-code-font-family - Font family of inline and block code
71
+ * @property {string} --luzmo-ai-chat-markdown-code-font-size - Font size of inline and block code
72
+ * @property {string} --luzmo-ai-chat-markdown-code-background - Background of inline code and code blocks
73
+ * @property {string} --luzmo-ai-chat-markdown-code-border-radius - Border radius of inline code and code blocks
74
+ * @property {string} --luzmo-ai-chat-markdown-border-color - Border color for blockquotes, horizontal rules, and tables
75
+ * @property {string} --luzmo-ai-chat-markdown-table-header-background - Background of markdown table header cells
76
+ * @property {string} --luzmo-ai-chat-assistant-message-actions-gap - Gap between controls in the assistant message actions footer
77
+ * @property {string} --luzmo-ai-chat-assistant-message-actions-margin-top - Top spacing above the assistant message actions footer
78
+ * @property {string} --luzmo-ai-chat-assistant-message-actions-color - Text color for assistant message actions footer content (default: `--luzmo-font-color-extra-dimmed`)
79
+ * @property {string} --luzmo-ai-chat-assistant-message-actions-font-style - Font style for plain text in the assistant message actions footer (default: `italic`)
80
+ * @property {string} --luzmo-ai-chat-assistant-message-font-family - Font family shared by assistant messages and their actions footer
81
+ * @property {string} --luzmo-ai-chat-assistant-message-font-size - Font size shared by assistant messages (including streaming and loading) and their actions footer; defaults to the font size of the chat `size`
82
+ * @property {string} --luzmo-ai-chat-assistant-message-line-height - Line height shared by assistant messages and their actions footer
83
+ */
84
+ export declare class LuzmoAiChat extends LuzmoAiChat_base {
85
+ static styles: import("lit").CSSResult;
86
+ static tagName: string;
87
+ /** Light-DOM slot for optional custom actions below the latest assistant message. */
88
+ static readonly assistantMessageActionsSlot = "assistant-message-actions";
89
+ /**
90
+ * Live transcript is {@link AiChatSessionState.messages}. This prop optionally seeds the session on first connect.
91
+ */
92
+ messages: ChatMessage[];
93
+ /**
94
+ * Live selection is in the session. This prop optionally seeds on first connect.
95
+ */
96
+ selectedDatasets: Dataset[];
97
+ /**
98
+ * Placeholder text for the textarea
99
+ */
100
+ placeholder: string;
101
+ /**
102
+ * When true, disables the entire chat interface
103
+ */
104
+ disabled: boolean;
105
+ /**
106
+ * When true, shows a stop control on the prompt input while a response is generating
107
+ */
108
+ stoppable: boolean;
109
+ /**
110
+ * When true, shows context menu (3 dots) on assistant messages
111
+ */
112
+ showAssistantContextMenu: boolean;
113
+ /**
114
+ * Auth key for DataBroker authentication
115
+ */
116
+ authKey: string;
117
+ /**
118
+ * Auth token for DataBroker authentication
119
+ */
120
+ authToken: string;
121
+ /**
122
+ * API URL for DataBroker
123
+ * @default https://api.luzmo.com
124
+ */
125
+ apiUrl: string;
126
+ /**
127
+ * The URL of the app server for thumbnails and assets
128
+ * @default https://app.luzmo.com
129
+ */
130
+ appServer: string;
131
+ /** When true, shows public datasets alongside the user's other datasets. */
132
+ includePublicDatasets: boolean;
133
+ /**
134
+ * Alias for includePublicDatasets.
135
+ * @deprecated Use includePublicDatasets instead.
136
+ */
137
+ get flagOpendata(): boolean;
138
+ set flagOpendata(value: boolean);
139
+ /**
140
+ * When true, hides the "+ Add dataset" button in the input
141
+ */
142
+ hideDatasetButton: boolean;
143
+ /**
144
+ * When true, hides dataset icons in the input dataset selector and @ mention dataset headers
145
+ */
146
+ hideDatasetIcons: boolean;
147
+ /**
148
+ * When true, hides the add-dataset button and disables removing selected datasets while keeping pills visible
149
+ */
150
+ disableDatasetModification: boolean;
151
+ /**
152
+ * When true, hides the dataset row and add-dataset button entirely
153
+ */
154
+ hideSelectedDatasets: boolean;
155
+ /**
156
+ * When true, hides the Agents section in the input and runs prompts without a picked agent
157
+ */
158
+ hideAgents: boolean;
159
+ /**
160
+ * When true, disables @ trigger mentions for dataset fields in the input
161
+ */
162
+ disableColumnMentions: boolean;
163
+ /**
164
+ * When true, a picked agent or at least one selected dataset is required before the prompt can be submitted
165
+ */
166
+ requireDataset: boolean;
167
+ /** Enables image attachments (PNG/JPEG/WebP/GIF). */
168
+ allowImages: boolean;
169
+ /** Enables mic dictation; audio is transcribed via `POST /aidictation` and inserted as editable text. */
170
+ allowVoiceInput: boolean;
171
+ /** Attachment MIME types/extensions. Defaults to PNG/JPEG/WebP/GIF when `allow-images` is set. */
172
+ acceptedFileTypes: string[];
173
+ /** Optional upload override; otherwise uploads via `POST /upload` on attach. */
174
+ uploadAttachments?: (files: File[], options?: {
175
+ signal?: AbortSignal;
176
+ }) => Promise<string[]>;
177
+ /**
178
+ * Which aiprompt agent to use (`item`, `dashboard`, `analyst` or `custom-item`). Determines request
179
+ * payload and stream handling. With `agent-id` set it no longer shapes the request payload, only stream handling.
180
+ * Custom-item hosts must set `hide-agents` and leave `agent-id` unset to preserve draft context
181
+ * and internal repair prompts.
182
+ * @default 'item'
183
+ */
184
+ agent: AiPromptAgent;
185
+ /**
186
+ * Typed agent selection and context. Takes precedence over legacy agent, task and context properties.
187
+ * Omit context to preserve the same agent's session context; use null to clear it.
188
+ * Undefined leaves a host session's typed configuration intact and uses legacy properties for an internal session.
189
+ */
190
+ agentConfig?: AiChatAgentConfig;
191
+ /**
192
+ * Saved Agent id (UUID) to run the prompt as. An agent picked in the prompt box takes precedence for that prompt.
193
+ */
194
+ agentId?: string;
195
+ /**
196
+ * Task for the item agent (`generate`, `suggest`, `describe`). Ignored when `agent-id` is set.
197
+ * @default 'generate'
198
+ */
199
+ task: AiPromptItemTask;
200
+ /**
201
+ * AI model preference for item agent chart generation
202
+ * @default 'performance'
203
+ */
204
+ modelPreference: 'performance' | 'quality';
205
+ /**
206
+ * Host-owned {@link AiChatSession}. The component subscribes and renders; does not abort on disconnect.
207
+ */
208
+ chatSession: AiChatSession | null;
209
+ /**
210
+ * Conversation ID (synced into the session; updated when the API returns a new id).
211
+ * @default null
212
+ */
213
+ conversationId: string | null;
214
+ /**
215
+ * Chart context for `agent="item"`.
216
+ * @default null
217
+ */
218
+ chart: LuzmoChart | null;
219
+ /**
220
+ * Dashboard context for `agent="dashboard"`.
221
+ * @default null
222
+ */
223
+ dashboard: DashboardStatePayload | null;
224
+ /**
225
+ * Draft context for `agent="custom-item"`, sent as its `custom-item` input. The host owns the
226
+ * shape: the chart document under `document`, plus fields such as `chartId`.
227
+ * With a host `chatSession`, the default null preserves its draft. Once this element supplies
228
+ * a draft, setting this property to null clears the session's custom item context.
229
+ * @default null
230
+ */
231
+ customItem: AiPromptCustomItemInput['value'] | null;
232
+ /**
233
+ * Current screen mode when editing a dashboard.
234
+ */
235
+ currentScreenMode?: AiPromptScreenMode;
236
+ /**
237
+ * Locale ID sent to the aiprompt API.
238
+ */
239
+ localeId?: string;
240
+ /**
241
+ * Timezone ID for dashboard agent requests.
242
+ * @default 'UTC'
243
+ */
244
+ timezoneId: string;
245
+ /**
246
+ * API version
247
+ * @default '0.1.0'
248
+ */
249
+ apiVersion: string;
250
+ /**
251
+ * When true, uses NDJSON streaming for AI responses.
252
+ * When false, uses a single JSON response.
253
+ * @default true
254
+ */
255
+ stream: boolean;
256
+ /**
257
+ * Loading message shown while generating and before progress steps are available.
258
+ * @default null
259
+ */
260
+ loadingMessage: string | null;
261
+ /**
262
+ * Message shown in place of the assistant reply when the user stops an in-flight response.
263
+ * Falls back to a localized default when not set.
264
+ * @default null
265
+ */
266
+ cancelledMessage: string | null;
267
+ /**
268
+ * When set, auto-submits via the session without adding a duplicate user message
269
+ * (assumes the prompt is already in the transcript).
270
+ * @default null
271
+ */
272
+ initialPrompt: string | null;
273
+ /**
274
+ * Title for the empty state when there are no messages.
275
+ */
276
+ emptyStateTitle: string;
277
+ /**
278
+ * Optional label above empty-state suggestion chips. Only shown when `emptyStateSuggestions` is non-empty.
279
+ */
280
+ emptyStateSubtitle: string;
281
+ /**
282
+ * Optional suggestion chips for the empty state. When empty, only the title is shown.
283
+ * Each entry may include `selectedDatasets` to pre-select datasets when the chip is activated.
284
+ */
285
+ emptyStateSuggestions: AiChatEmptyStateSuggestion[];
286
+ private _textareaValue;
287
+ private _assistantMessageActionsSlotHasContent;
288
+ private _pendingAssistantMessageAction;
289
+ private _shouldFocusAssistantMessageActionConfirm;
290
+ private _lastProcessedInitialPrompt;
291
+ private readonly _session;
292
+ /** Active {@link AiChatSession} (host or auto-created). Null until first bind or action. */
293
+ get session(): AiChatSession | null;
294
+ private _getRenderState;
295
+ private _createDomBridgeCallbacks;
296
+ private get _pickedAgentId();
297
+ /** Assistant message action buttons sit one step below the chat size, like secondary controls elsewhere in the kit. */
298
+ private get _oneSizeSmaller();
299
+ private get _resolvedAcceptedFileTypes();
300
+ private _buildSessionConfig;
301
+ private _getAgentConfig;
302
+ private _emitConversationIdChanged;
303
+ private _restoreViaSession;
304
+ private _handleRestoreState;
305
+ private _handleDatasetSelected;
306
+ private _handleDatasetRemoved;
307
+ private _handleAgentSelected;
308
+ private _submitViaSession;
309
+ private _handlePromptSubmitted;
310
+ private _handlePromptStopped;
311
+ private _handleEmptyStateSuggestionSelected;
312
+ private _processInitialPrompt;
313
+ connectedCallback(): void;
314
+ disconnectedCallback(): void;
315
+ private _scrollToBottom;
316
+ protected willUpdate(changedProperties: PropertyValues): void;
317
+ protected updated(changedProperties: Map<string, unknown>): void;
318
+ private _syncSession;
319
+ private _handleInitialPromptChange;
320
+ /**
321
+ * Parses assistant markdown into HTML and sanitizes it to prevent XSS attacks
322
+ * while preserving safe formatting (headings, lists, tables, code, links).
323
+ * @param markdownContent - The markdown string returned by the assistant
324
+ * @returns Sanitized HTML string safe for rendering
325
+ */
326
+ private _renderMarkdown;
327
+ private _renderProgress;
328
+ private _isLastAiMessageWithProgress;
329
+ private _syncAssistantMessageActionsVisibility;
330
+ private _handleAssistantMessageActionsSlotChange;
331
+ private _setAssistantMessageActionsSlotHasContent;
332
+ private _isLatestAssistantMessage;
333
+ private _hasBuiltInAssistantMessageActions;
334
+ private _assistantMessageActionsFooterHasContent;
335
+ private _syncPendingAssistantMessageAction;
336
+ private _getDefaultAssistantMessageActionConfirmMessage;
337
+ private _isAssistantMessageActionConfirming;
338
+ private _getPendingAssistantMessageAction;
339
+ private _handleAssistantMessageAction;
340
+ private _handleAssistantMessageActionClick;
341
+ private _cancelAssistantMessageActionConfirm;
342
+ private _confirmAssistantMessageAction;
343
+ private _handleAssistantMessageActionConfirmKeydown;
344
+ private _focusPendingAssistantMessageActionConfirm;
345
+ private _renderBuiltInAssistantMessageAction;
346
+ private _renderAssistantMessageActionConfirm;
347
+ private _renderAssistantMessageActions;
348
+ private _renderRestoreMenu;
349
+ private _renderMessages;
350
+ private _handleElicitationSubmit;
351
+ private _renderStreamingResponse;
352
+ private _renderLoadingMessage;
353
+ private _renderEmptyState;
354
+ protected render(): TemplateResult;
355
+ }
356
+ export {};
@@ -0,0 +1,133 @@
1
+ import type { PromptBoxAttachment } from '@luzmo/lucero';
2
+ import type { Dataset, LuzmoChart } from '../../types';
3
+ export type AiPromptAgent = 'item' | 'dashboard' | 'analyst' | 'custom-item';
4
+ export type AiPromptItemTask = 'generate' | 'suggest' | 'describe';
5
+ export type AiPromptScreenMode = 'desktop' | 'tablet' | 'mobile';
6
+ /** Dashboard payload for `agent: 'dashboard'` input (views, syncScreenModes, optional theme). */
7
+ export interface DashboardStatePayload {
8
+ views: unknown[];
9
+ syncScreenModes?: boolean;
10
+ theme?: Record<string, unknown>;
11
+ [key: string]: unknown;
12
+ }
13
+ export interface AiPromptTextInput {
14
+ type: 'text';
15
+ text: string;
16
+ }
17
+ export interface AiPromptDatasetInput {
18
+ type: 'dataset';
19
+ id: string;
20
+ }
21
+ export interface AiPromptItemInput {
22
+ type: 'item';
23
+ value: Record<string, unknown>;
24
+ }
25
+ export interface AiPromptDashboardInput {
26
+ type: 'dashboard';
27
+ value: DashboardStatePayload;
28
+ current_screen_mode?: AiPromptScreenMode;
29
+ }
30
+ /**
31
+ * Draft context for `agent: 'custom-item'`. The host owns its shape: the chart document under
32
+ * `document`, plus optional fields such as `chartId`, `isExample`, `hostTheme` and `previewFrame`.
33
+ */
34
+ export interface AiPromptCustomItemInput {
35
+ type: 'custom-item';
36
+ value: Record<string, unknown>;
37
+ }
38
+ export interface AiPromptImageInput {
39
+ type: 'image';
40
+ url: string;
41
+ }
42
+ export type AiPromptInput = AiPromptTextInput | AiPromptDatasetInput | AiPromptItemInput | AiPromptDashboardInput | AiPromptCustomItemInput | AiPromptImageInput;
43
+ /** Fields both aiprompt create shapes share, whichever agent selector is used. */
44
+ export interface AiPromptPropertiesBase {
45
+ conversation_id?: string;
46
+ locale_id?: string;
47
+ timezone_id?: string;
48
+ text_format?: 'plain' | 'markdown';
49
+ stream: boolean;
50
+ response_mode: 'mixed';
51
+ input: AiPromptInput[];
52
+ }
53
+ /** Built-in agent request: `agent` (plus `task`) selects the server-side behaviour. */
54
+ export interface AiPromptBuiltInAgentProperties extends AiPromptPropertiesBase {
55
+ agent: AiPromptAgent;
56
+ task: AiPromptItemTask | 'generate';
57
+ /** Hides the prompt from the restored transcript. Custom-item agent only. */
58
+ internal?: boolean;
59
+ agent_id?: never;
60
+ }
61
+ /**
62
+ * Saved Agent request: the agent id resolves datasets, capabilities and theme server-side.
63
+ * `agent_id` combined with `agent`, `task` or `capabilities` is a 400 — it is strictly one or the other.
64
+ */
65
+ export interface AiPromptSavedAgentProperties extends AiPromptPropertiesBase {
66
+ agent_id: string;
67
+ agent?: never;
68
+ task?: never;
69
+ }
70
+ export type AiPromptProperties = AiPromptBuiltInAgentProperties | AiPromptSavedAgentProperties;
71
+ export interface AiPromptCreateBody {
72
+ key: string;
73
+ token: string;
74
+ action: 'create';
75
+ version: string;
76
+ properties: AiPromptProperties;
77
+ }
78
+ export interface AiPromptDeleteBody {
79
+ key: string;
80
+ token: string;
81
+ action: 'delete';
82
+ version: string;
83
+ properties: {
84
+ agent: 'item';
85
+ restore_to_message_id: string;
86
+ conversation_id?: string;
87
+ };
88
+ }
89
+ export interface BuildAiPromptRequestContext {
90
+ prompt: string;
91
+ datasetIds: string[];
92
+ authKey: string;
93
+ authToken: string;
94
+ conversationId: string | null;
95
+ agentId?: string;
96
+ apiVersion?: string;
97
+ stream?: boolean;
98
+ localeId?: string;
99
+ timezoneId?: string;
100
+ /** Session/UI preference only; not serialized on aiprompt create until the backend supports it. */
101
+ modelPreference?: 'performance' | 'quality';
102
+ chart?: LuzmoChart | null;
103
+ dashboard?: DashboardStatePayload | null;
104
+ /** Draft context for `agent: 'custom-item'`. */
105
+ customItem?: AiPromptCustomItemInput['value'] | null;
106
+ currentScreenMode?: AiPromptScreenMode;
107
+ task?: AiPromptItemTask;
108
+ attachmentUrls?: string[];
109
+ /** Sends `internal: true` so the prompt stays out of the restored transcript (custom-item agent only). */
110
+ internal?: boolean;
111
+ }
112
+ export interface LuzmoPromptSubmittedEventDetail {
113
+ prompt: string;
114
+ selectedDatasets: Dataset[];
115
+ datasetIds: string[];
116
+ agent: AiPromptAgent;
117
+ request: AiPromptCreateBody;
118
+ url: string;
119
+ signal?: AbortSignal;
120
+ attachments?: PromptBoxAttachment[];
121
+ attachmentUrls?: string[];
122
+ }
123
+ export interface LuzmoRestoreRequestedEventDetail {
124
+ apiMessageId: string;
125
+ messageIndex: number;
126
+ request: AiPromptDeleteBody;
127
+ url: string;
128
+ }
129
+ export interface LuzmoDashboardGeneratedEventDetail {
130
+ dashboard: DashboardStatePayload;
131
+ conversationId: string | null;
132
+ name?: Record<string, string>;
133
+ }