@luzmo/analytics-components-kit 1.0.8-beta.5 → 1.0.8-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular/README.md +40 -0
- package/angular/components/ai-chat-empty-state.ts +98 -0
- package/angular/components/ai-chat.ts +440 -0
- package/angular/components/ai-interaction-textarea.ts +283 -0
- package/angular/components/data-field-level.ts +130 -0
- package/angular/components/data-field-panel.ts +256 -0
- package/angular/components/data-field.ts +130 -0
- package/angular/components/data-fields-select.ts +212 -0
- package/angular/components/dataset-icon.ts +83 -0
- package/angular/components/dataset-selector-list.ts +147 -0
- package/angular/components/dataset-selector-row.ts +198 -0
- package/angular/components/display-settings-binning.ts +92 -0
- package/angular/components/display-settings-datetime.ts +100 -0
- package/angular/components/display-settings-grand-totals.ts +92 -0
- package/angular/components/display-settings-numeric.ts +113 -0
- package/angular/components/display-settings-period-over-period.ts +107 -0
- package/angular/components/display-settings.ts +227 -0
- package/angular/components/filter-expression-picker.ts +168 -0
- package/angular/components/filter-item.ts +175 -0
- package/angular/components/filter-parameter-picker.ts +155 -0
- package/angular/components/filter-value-picker-datetime.ts +125 -0
- package/angular/components/filter-value-picker-hierarchy.ts +146 -0
- package/angular/components/filter-value-picker-numeric.ts +146 -0
- package/angular/components/filter-value-picker.ts +160 -0
- package/angular/components/filters.ts +209 -0
- package/angular/components/formula-editor.ts +229 -0
- package/angular/components/formula-field.ts +198 -0
- package/angular/components/formula.ts +170 -0
- package/angular/components/interactive-viz-item.ts +186 -0
- package/angular/components/item-grid-item-actions-menu.ts +113 -0
- package/angular/components/item-grid.ts +242 -0
- package/angular/components/item-option-action-button-group.ts +105 -0
- package/angular/components/item-option-color-palette-picker.ts +126 -0
- package/angular/components/item-option-color-picker.ts +134 -0
- package/angular/components/item-option-color-range.ts +168 -0
- package/angular/components/item-option-guidelines.ts +84 -0
- package/angular/components/item-option-multi-language-field.ts +133 -0
- package/angular/components/item-option-number-field.ts +161 -0
- package/angular/components/item-option-panel.ts +149 -0
- package/angular/components/item-option-picker.ts +120 -0
- package/angular/components/item-option-position-picker.ts +98 -0
- package/angular/components/item-option-positions-number-field.ts +140 -0
- package/angular/components/item-option-radio-button-group.ts +119 -0
- package/angular/components/item-option-slider.ts +126 -0
- package/angular/components/item-option-switch.ts +98 -0
- package/angular/components/item-option-text-field.ts +112 -0
- package/angular/components/item-option.ts +163 -0
- package/angular/components/item-slot-drop-panel.ts +236 -0
- package/angular/components/item-slot-drop.ts +231 -0
- package/angular/components/item-slot-picker-panel.ts +299 -0
- package/angular/components/item-slot-picker.ts +241 -0
- package/angular/components/slot-menu-list.ts +121 -0
- package/angular/components/slot-menu.ts +304 -0
- package/angular/components/viz-item-menu.ts +118 -0
- package/angular/esm/components/ai-chat-empty-state.d.ts +39 -0
- package/angular/esm/components/ai-chat-empty-state.js +99 -0
- package/angular/esm/components/ai-chat.d.ts +147 -0
- package/angular/esm/components/ai-chat.js +455 -0
- package/angular/esm/components/ai-interaction-textarea.d.ts +106 -0
- package/angular/esm/components/ai-interaction-textarea.js +305 -0
- package/angular/esm/components/data-field-level.d.ts +50 -0
- package/angular/esm/components/data-field-level.js +129 -0
- package/angular/esm/components/data-field-panel.d.ts +86 -0
- package/angular/esm/components/data-field-panel.js +268 -0
- package/angular/esm/components/data-field.d.ts +50 -0
- package/angular/esm/components/data-field.js +129 -0
- package/angular/esm/components/data-fields-select.d.ts +81 -0
- package/angular/esm/components/data-fields-select.js +227 -0
- package/angular/esm/components/dataset-icon.d.ts +34 -0
- package/angular/esm/components/dataset-icon.js +86 -0
- package/angular/esm/components/dataset-selector-list.d.ts +56 -0
- package/angular/esm/components/dataset-selector-list.js +155 -0
- package/angular/esm/components/dataset-selector-row.d.ts +70 -0
- package/angular/esm/components/dataset-selector-row.js +197 -0
- package/angular/esm/components/display-settings-binning.d.ts +37 -0
- package/angular/esm/components/display-settings-binning.js +91 -0
- package/angular/esm/components/display-settings-datetime.d.ts +40 -0
- package/angular/esm/components/display-settings-datetime.js +99 -0
- package/angular/esm/components/display-settings-grand-totals.d.ts +37 -0
- package/angular/esm/components/display-settings-grand-totals.js +91 -0
- package/angular/esm/components/display-settings-numeric.d.ts +45 -0
- package/angular/esm/components/display-settings-numeric.js +115 -0
- package/angular/esm/components/display-settings-period-over-period.d.ts +44 -0
- package/angular/esm/components/display-settings-period-over-period.js +107 -0
- package/angular/esm/components/display-settings.d.ts +83 -0
- package/angular/esm/components/display-settings.js +231 -0
- package/angular/esm/components/filter-expression-picker.d.ts +64 -0
- package/angular/esm/components/filter-expression-picker.js +179 -0
- package/angular/esm/components/filter-item.d.ts +63 -0
- package/angular/esm/components/filter-item.js +187 -0
- package/angular/esm/components/filter-parameter-picker.d.ts +56 -0
- package/angular/esm/components/filter-parameter-picker.js +151 -0
- package/angular/esm/components/filter-value-picker-datetime.d.ts +47 -0
- package/angular/esm/components/filter-value-picker-datetime.js +131 -0
- package/angular/esm/components/filter-value-picker-hierarchy.d.ts +53 -0
- package/angular/esm/components/filter-value-picker-hierarchy.js +155 -0
- package/angular/esm/components/filter-value-picker-numeric.d.ts +53 -0
- package/angular/esm/components/filter-value-picker-numeric.js +155 -0
- package/angular/esm/components/filter-value-picker.d.ts +57 -0
- package/angular/esm/components/filter-value-picker.js +171 -0
- package/angular/esm/components/filters.d.ts +75 -0
- package/angular/esm/components/filters.js +215 -0
- package/angular/esm/components/formula-editor.d.ts +78 -0
- package/angular/esm/components/formula-editor.js +236 -0
- package/angular/esm/components/formula-field.d.ts +70 -0
- package/angular/esm/components/formula-field.js +209 -0
- package/angular/esm/components/formula.d.ts +60 -0
- package/angular/esm/components/formula.js +177 -0
- package/angular/esm/components/interactive-viz-item.d.ts +63 -0
- package/angular/esm/components/interactive-viz-item.js +188 -0
- package/angular/esm/components/item-grid-item-actions-menu.d.ts +45 -0
- package/angular/esm/components/item-grid-item-actions-menu.js +115 -0
- package/angular/esm/components/item-grid.d.ts +80 -0
- package/angular/esm/components/item-grid.js +245 -0
- package/angular/esm/components/item-option-action-button-group.d.ts +41 -0
- package/angular/esm/components/item-option-action-button-group.js +107 -0
- package/angular/esm/components/item-option-color-palette-picker.d.ts +48 -0
- package/angular/esm/components/item-option-color-palette-picker.js +131 -0
- package/angular/esm/components/item-option-color-picker.d.ts +51 -0
- package/angular/esm/components/item-option-color-picker.js +139 -0
- package/angular/esm/components/item-option-color-range.d.ts +66 -0
- package/angular/esm/components/item-option-color-range.js +179 -0
- package/angular/esm/components/item-option-guidelines.d.ts +34 -0
- package/angular/esm/components/item-option-guidelines.js +83 -0
- package/angular/esm/components/item-option-multi-language-field.d.ts +50 -0
- package/angular/esm/components/item-option-multi-language-field.js +139 -0
- package/angular/esm/components/item-option-number-field.d.ts +58 -0
- package/angular/esm/components/item-option-number-field.js +171 -0
- package/angular/esm/components/item-option-panel.d.ts +54 -0
- package/angular/esm/components/item-option-panel.js +155 -0
- package/angular/esm/components/item-option-picker.d.ts +46 -0
- package/angular/esm/components/item-option-picker.js +123 -0
- package/angular/esm/components/item-option-position-picker.d.ts +39 -0
- package/angular/esm/components/item-option-position-picker.js +99 -0
- package/angular/esm/components/item-option-positions-number-field.d.ts +54 -0
- package/angular/esm/components/item-option-positions-number-field.js +147 -0
- package/angular/esm/components/item-option-radio-button-group.d.ts +45 -0
- package/angular/esm/components/item-option-radio-button-group.js +123 -0
- package/angular/esm/components/item-option-slider.d.ts +46 -0
- package/angular/esm/components/item-option-slider.js +131 -0
- package/angular/esm/components/item-option-switch.d.ts +40 -0
- package/angular/esm/components/item-option-switch.js +99 -0
- package/angular/esm/components/item-option-text-field.d.ts +44 -0
- package/angular/esm/components/item-option-text-field.js +115 -0
- package/angular/esm/components/item-option.d.ts +58 -0
- package/angular/esm/components/item-option.js +171 -0
- package/angular/esm/components/item-slot-drop-panel.d.ts +82 -0
- package/angular/esm/components/item-slot-drop-panel.js +249 -0
- package/angular/esm/components/item-slot-drop.d.ts +77 -0
- package/angular/esm/components/item-slot-drop.js +227 -0
- package/angular/esm/components/item-slot-picker-panel.d.ts +97 -0
- package/angular/esm/components/item-slot-picker-panel.js +309 -0
- package/angular/esm/components/item-slot-picker.d.ts +86 -0
- package/angular/esm/components/item-slot-picker.js +259 -0
- package/angular/esm/components/slot-menu-list.d.ts +46 -0
- package/angular/esm/components/slot-menu-list.js +123 -0
- package/angular/esm/components/slot-menu.d.ts +104 -0
- package/angular/esm/components/slot-menu.js +300 -0
- package/angular/esm/components/viz-item-menu.d.ts +42 -0
- package/angular/esm/components/viz-item-menu.js +111 -0
- package/angular/esm/index.d.ts +109 -0
- package/angular/esm/index.js +217 -0
- package/angular/index.ts +223 -0
- package/angular/package.json +40 -0
- package/angular/tsconfig.json +36 -0
- package/angular/type-fallbacks.d.ts +0 -0
- package/angular/utils/ai-prompt/attachments.d.ts +10 -0
- package/angular/utils/ai-prompt/dictation.d.ts +50 -0
- package/angular/utils/ai-prompt/image-upload.d.ts +12 -0
- package/angular/utils/ai-prompt/index.d.ts +6 -0
- package/angular/utils/ai-prompt/tests/attachments.test.d.ts +1 -0
- package/angular/utils/ai-prompt/tests/dictation.test.d.ts +1 -0
- package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +1 -0
- package/angular/utils/base/base.d.ts +16 -0
- package/angular/utils/base/focus-visible.d.ts +29 -0
- package/angular/utils/base/focusable.d.ts +58 -0
- package/angular/utils/base/index.d.ts +5 -0
- package/angular/utils/base/localized-mixin.d.ts +22 -0
- package/angular/utils/base/sized-mixin.d.ts +17 -0
- package/angular/utils/color/color-palettes.d.ts +17 -0
- package/angular/utils/color/extrapolate-color.d.ts +1 -0
- package/angular/utils/data/load-data-fields-for-datasets.d.ts +22 -0
- package/angular/utils/data-broker/index.d.ts +263 -0
- package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +12 -0
- package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +1 -0
- package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +1 -0
- package/angular/utils/drag/draggable.d.ts +13 -0
- package/angular/utils/drag/pragmatic-element-adapter.d.ts +2 -0
- package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +1 -0
- package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +1 -0
- package/angular/utils/filters/expressions.d.ts +15 -0
- package/angular/utils/filters/index.d.ts +1 -0
- package/angular/utils/formatter/calculate-duration.d.ts +2 -0
- package/angular/utils/formatter/decompose-numeric-format.d.ts +11 -0
- package/angular/utils/formatter/default-local-formats.d.ts +20 -0
- package/angular/utils/formatter/formats/cs.d.ts +20 -0
- package/angular/utils/formatter/formats/da.d.ts +20 -0
- package/angular/utils/formatter/formats/de.d.ts +21 -0
- package/angular/utils/formatter/formats/en-GB.d.ts +21 -0
- package/angular/utils/formatter/formats/en-US.d.ts +1 -0
- package/angular/utils/formatter/formats/en.d.ts +1 -0
- package/angular/utils/formatter/formats/es.d.ts +54 -0
- package/angular/utils/formatter/formats/fi.d.ts +20 -0
- package/angular/utils/formatter/formats/fr.d.ts +54 -0
- package/angular/utils/formatter/formats/he.d.ts +20 -0
- package/angular/utils/formatter/formats/hu.d.ts +20 -0
- package/angular/utils/formatter/formats/it.d.ts +54 -0
- package/angular/utils/formatter/formats/ja.d.ts +20 -0
- package/angular/utils/formatter/formats/ko.d.ts +20 -0
- package/angular/utils/formatter/formats/mk.d.ts +20 -0
- package/angular/utils/formatter/formats/nl.d.ts +21 -0
- package/angular/utils/formatter/formats/no.d.ts +21 -0
- package/angular/utils/formatter/formats/pl.d.ts +20 -0
- package/angular/utils/formatter/formats/pt.d.ts +20 -0
- package/angular/utils/formatter/formats/ru.d.ts +20 -0
- package/angular/utils/formatter/formats/sv.d.ts +20 -0
- package/angular/utils/formatter/formats/tr.d.ts +21 -0
- package/angular/utils/formatter/formats/zh-CN.d.ts +20 -0
- package/angular/utils/formatter/formats/zh-TW.d.ts +20 -0
- package/angular/utils/formatter/formatter.d.ts +9 -0
- package/angular/utils/formatter/get-dataset-name.d.ts +2 -0
- package/angular/utils/formatter/get-localized-name.d.ts +4 -0
- package/angular/utils/formatter/localize.d.ts +3 -0
- package/angular/utils/formatter/smart-datetime-formats.const.d.ts +36 -0
- package/angular/utils/formatter/tests/calculate-duration.test.d.ts +1 -0
- package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +1 -0
- package/angular/utils/formatter/tests/default-local-formats.test.d.ts +1 -0
- package/angular/utils/formatter/tests/formatter.test.d.ts +1 -0
- package/angular/utils/formatter/tests/get-localized-name.test.d.ts +1 -0
- package/angular/utils/formatter/tests/localize.test.d.ts +1 -0
- package/angular/utils/formula/base/formula-base.d.ts +117 -0
- package/angular/utils/formula/base/formula-input-base.d.ts +62 -0
- package/angular/utils/formula/codemirror/actions.d.ts +47 -0
- package/angular/utils/formula/codemirror/drop-cursor.d.ts +15 -0
- package/angular/utils/formula/codemirror/icon-element.d.ts +7 -0
- package/angular/utils/formula/codemirror/parser.d.ts +16 -0
- package/angular/utils/formula/codemirror/tests/actions.test.d.ts +1 -0
- package/angular/utils/formula/codemirror/theme.d.ts +20 -0
- package/angular/utils/formula/codemirror/widget.d.ts +18 -0
- package/angular/utils/formula/config/aggregations.d.ts +9 -0
- package/angular/utils/formula/config/build-datasets.d.ts +10 -0
- package/angular/utils/formula/config/expression-helpers.d.ts +42 -0
- package/angular/utils/formula/config/functions.d.ts +3 -0
- package/angular/utils/formula/config/groupings.d.ts +9 -0
- package/angular/utils/formula/config/regex.d.ts +39 -0
- package/angular/utils/formula/config/resolve-column-presentation.d.ts +19 -0
- package/angular/utils/formula/config/tests/build-datasets.test.d.ts +1 -0
- package/angular/utils/formula/config/validate-expression.d.ts +19 -0
- package/angular/utils/formula/load-formula-codemirror.d.ts +4 -0
- package/angular/utils/formula/render-explanation-tooltip.d.ts +7 -0
- package/angular/utils/formula/store/formula-display-store.d.ts +93 -0
- package/angular/utils/formula/store/formula-editor-context.d.ts +8 -0
- package/angular/utils/formula/store/formula-editor-store.d.ts +46 -0
- package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +1 -0
- package/angular/utils/formula/tests/validate-expression.test.d.ts +1 -0
- package/angular/utils/get-css-variable.d.ts +1 -0
- package/angular/utils/index.d.ts +10 -0
- package/angular/utils/localize/set-locale.d.ts +7 -0
- package/angular/utils/map-tile-providers/index.d.ts +93 -0
- package/angular/utils/set-nested-value.d.ts +6 -0
- package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +7 -0
- package/angular/utils/slot-content/render-calculation-label.d.ts +7 -0
- package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +1 -0
- package/angular/utils/slot-state/slot-context.d.ts +4 -0
- package/angular/utils/slot-state/slot-store.d.ts +39 -0
- package/angular/utils/store/base-store.d.ts +158 -0
- package/angular/utils/store/dashboard-store.d.ts +49 -0
- package/angular/utils/store/index.d.ts +135 -0
- package/angular/utils/store/item-store.d.ts +33 -0
- package/angular/utils/store/store-registry.d.ts +170 -0
- package/angular/utils/store/tests/dashboard-store.test.d.ts +1 -0
- package/angular/utils/store/tests/item-store.test.d.ts +1 -0
- package/angular/utils/store/tests/store-registry.test.d.ts +1 -0
- package/angular/utils/store/types.d.ts +270 -0
- package/angular/utils/switch-item/index.d.ts +34 -0
- package/angular/utils/switch-item/slot-role-classification.d.ts +31 -0
- package/angular/utils/switch-item/stories/switch-item.stories.d.ts +17 -0
- package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +1 -0
- package/angular/utils/switch-item/tests/switch-item.test.d.ts +1 -0
- package/angular/utils/tests/set-nested-value.test.d.ts +1 -0
- package/angular/utils/themes/bliss.d.ts +2 -0
- package/angular/utils/themes/classic-dark.d.ts +2 -0
- package/angular/utils/themes/classic.d.ts +2 -0
- package/angular/utils/themes/default-dark.d.ts +2 -0
- package/angular/utils/themes/default.d.ts +2 -0
- package/angular/utils/themes/index.d.ts +4 -0
- package/angular/utils/themes/orion.d.ts +2 -0
- package/angular/utils/themes/pinky.d.ts +2 -0
- package/angular/utils/themes/radiant.d.ts +2 -0
- package/angular/utils/themes/royale.d.ts +2 -0
- package/angular/utils/themes/seasonal.d.ts +2 -0
- package/angular/utils/themes/urban.d.ts +2 -0
- package/angular/utils/themes/vivid.d.ts +2 -0
- package/angular/utils/time/formats.const.d.ts +4 -0
- package/angular/utils/time/period-over-period-condition.const.d.ts +8 -0
- package/angular/utils/time/periods.const.d.ts +15 -0
- package/angular/utils/timezone/datetime-timezone.d.ts +25 -0
- package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +1 -0
- package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +9 -0
- package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +30 -0
- package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +1 -0
- package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +1 -0
- package/angular/utils/types/tests/type-check.test.d.ts +1 -0
- package/angular/utils/types/type-check.d.ts +28 -0
- package/components/ai-chat/ai-chat-events.d.ts +19 -3
- package/components/ai-chat/ai-chat-request.d.ts +5 -0
- package/components/ai-chat/ai-chat.d.ts +24 -5
- package/components/ai-chat/ai-prompt-types.d.ts +17 -2
- package/components/ai-chat/helpers/agent-config.d.ts +12 -0
- package/components/ai-chat/helpers/elicitation-template.d.ts +18 -0
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.d.ts +2 -1
- package/components/ai-chat/index.js +3 -3
- package/components/ai-chat/session/ai-chat-session-controller.d.ts +3 -0
- package/components/ai-chat/session/ai-chat-session-types.d.ts +19 -3
- package/components/ai-chat/session/ai-chat-session.d.ts +17 -1
- package/components/ai-chat/stream/chunk-extractors.d.ts +3 -1
- package/components/ai-chat/stream/index.d.ts +1 -0
- package/components/ai-chat/stream/types.d.ts +5 -1
- package/components/ai-chat/types.d.ts +24 -0
- package/components/ai-chat-CG-eIiBr.cjs +337 -0
- package/components/{ai-chat-CI9l8ZOE.js → ai-chat-CMc_9Oo2.js} +917 -694
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +1 -1
- package/components/{ai-interaction-textarea-Crcz4rCV.cjs → ai-interaction-textarea-B6tZgh5k.cjs} +1 -1
- package/components/{ai-interaction-textarea-BbVH-aF4.js → ai-interaction-textarea-D9g9G0T1.js} +3 -3
- package/components/{area-chart-positioning.config-DT7OiLe4.js → area-chart-positioning.config-BEwDQj3T.js} +1 -1
- package/components/{area-chart-positioning.config-D8_KYS-h.cjs → area-chart-positioning.config-CS-5H8-C.cjs} +1 -1
- package/components/{bar-chart-positioning.config-FEwWvMF6.js → bar-chart-positioning.config-CBbTYesB.js} +1 -1
- package/components/{bar-chart-positioning.config-CnMHGk5K.cjs → bar-chart-positioning.config-DkIvwJI5.cjs} +1 -1
- package/components/{base-XtzYH7G4.cjs → base-D6QPZnpu.cjs} +1 -1
- package/components/{base-BkD2CWTy.js → base-DSeXdW9S.js} +1 -1
- package/components/{box-plot-positioning.config-DxRLb2qS.js → box-plot-positioning.config-CNC-RTwl.js} +1 -1
- package/components/{box-plot-positioning.config-Cij5pfeH.cjs → box-plot-positioning.config-o5D-mRFr.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-CVnk6LlN.js → bubble-chart-positioning.config-3ilPXLpZ.js} +1 -1
- package/components/{bubble-chart-positioning.config-BmNR5EQH.cjs → bubble-chart-positioning.config-CtreNdST.cjs} +1 -1
- package/components/{bullet-chart-positioning.config-7sPWksMT.js → bullet-chart-positioning.config-CkFhShBk.js} +1 -1
- package/components/{bullet-chart-positioning.config-CNkU3bzI.cjs → bullet-chart-positioning.config-dHj3YrT_.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-CljoQanM.cjs → choropleth-map-positioning.config-BSs-bRGv.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-CuaL7fSP.js → choropleth-map-positioning.config-DOt86t59.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-maqHu5T2.js → circle-pack-chart-positioning.config-BkFATJjC.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-CiF6h2TX.cjs → circle-pack-chart-positioning.config-CVNdIYau.cjs} +1 -1
- package/components/{circular-gauge-positioning.config-e9_VgpRY.js → circular-gauge-positioning.config-BV2xb5TF.js} +1 -1
- package/components/{circular-gauge-positioning.config-BK2YSDr1.cjs → circular-gauge-positioning.config-SrbCaaOr.cjs} +1 -1
- package/components/{column-chart-positioning.config-DdiwInY-.cjs → column-chart-positioning.config-DTQe3h_H.cjs} +1 -1
- package/components/{column-chart-positioning.config-DpPXllzx.js → column-chart-positioning.config-T7juV3XT.js} +1 -1
- package/components/{combination-chart-positioning.config-D7c6z5j6.js → combination-chart-positioning.config-78C7wKnS.js} +1 -1
- package/components/{combination-chart-positioning.config-5Qnm4ZYG.cjs → combination-chart-positioning.config-BrSmdan-.cjs} +1 -1
- package/components/{conditional-number-positioning.config-Bmc5b4Hr.cjs → conditional-number-positioning.config-_9ySKU1z.cjs} +1 -1
- package/components/{conditional-number-positioning.config-BnMcO9mu.js → conditional-number-positioning.config-z_eEfpud.js} +1 -1
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +1 -1
- package/components/{data-field-BmpgtPX8.cjs → data-field-9ZZFw68C.cjs} +1 -1
- package/components/{data-field-DTQxvpeM.js → data-field-D1WW_V0N.js} +3 -3
- package/components/data-field-level/index.cjs +1 -1
- package/components/data-field-level/index.js +1 -1
- package/components/{data-field-level-EOj5KvoG.js → data-field-level-DR_dXjnL.js} +1 -1
- package/components/{data-field-level-D0RZHwqF.cjs → data-field-level-Dc-EMhC3.cjs} +1 -1
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/{data-field-panel-Bc_4pQwc.cjs → data-field-panel-DFA97_8o.cjs} +1 -1
- package/components/{data-field-panel-Dya_9wHn.js → data-field-panel-U-5Q-TRp.js} +3 -3
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +1 -1
- package/components/{data-fields-select-2Da7XC6m.js → data-fields-select-BYhAzdA6.js} +1 -1
- package/components/{data-fields-select-D4Sxxb_Z.cjs → data-fields-select-BtXNFZy9.cjs} +1 -1
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +1 -1
- package/components/{dataset-selector-list-m1XmVt8T.cjs → dataset-selector-list-BXg6DIKI.cjs} +1 -1
- package/components/{dataset-selector-list-CK9KzC1a.js → dataset-selector-list-q6qWA7B-.js} +1 -1
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +1 -1
- package/components/{dataset-selector-row-gBQl1Bza.js → dataset-selector-row-ZKET7lVc.js} +2 -2
- package/components/{dataset-selector-row-B78ZLWQS.cjs → dataset-selector-row-bqwY3zaf.cjs} +1 -1
- package/components/{de-_-1hLVI0.js → de-C5CMIy08.js} +3 -0
- package/components/de-CdZnQbKI.cjs +20 -0
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +1 -1
- package/components/{display-settings-DLWnhQe0.cjs → display-settings-BlMhlvVS.cjs} +1 -1
- package/components/{display-settings-DgOPeUie.js → display-settings-D_wBgzm1.js} +2 -2
- package/components/display-settings-binning/index.cjs +1 -1
- package/components/display-settings-binning/index.js +1 -1
- package/components/{display-settings-binning-CE4hmdtx.js → display-settings-binning-GIE6ww1Q.js} +2 -2
- package/components/{display-settings-binning-CYM7FpXw.cjs → display-settings-binning-HrXOdGwO.cjs} +1 -1
- package/components/display-settings-datetime/index.cjs +1 -1
- package/components/display-settings-datetime/index.js +1 -1
- package/components/{display-settings-datetime-h8CvoTZ8.cjs → display-settings-datetime-DNeLEl3L.cjs} +1 -1
- package/components/{display-settings-datetime-D4f_o6NK.js → display-settings-datetime-YS7_TUet.js} +2 -2
- package/components/display-settings-grand-totals/index.cjs +1 -1
- package/components/display-settings-grand-totals/index.js +1 -1
- package/components/{display-settings-grand-totals-CnP8P-cu.js → display-settings-grand-totals-Bt_ju8jp.js} +2 -2
- package/components/{display-settings-grand-totals-D0YsVbSs.cjs → display-settings-grand-totals-C-7s1Tyo.cjs} +1 -1
- package/components/display-settings-numeric/index.cjs +1 -1
- package/components/display-settings-numeric/index.js +1 -1
- package/components/{display-settings-numeric-DF4zjmZj.cjs → display-settings-numeric--uwJWzC1.cjs} +1 -1
- package/components/{display-settings-numeric-DyAFuYTz.js → display-settings-numeric-OHmktQsz.js} +2 -2
- package/components/display-settings-period-over-period/index.cjs +1 -1
- package/components/display-settings-period-over-period/index.js +1 -1
- package/components/{display-settings-period-over-period-B634a88N.js → display-settings-period-over-period-B1_IJjWK.js} +2 -2
- package/components/{display-settings-period-over-period-DXuRHg-1.cjs → display-settings-period-over-period-C4X8c-_R.cjs} +1 -1
- package/components/{donut-chart-positioning.config-BhIwOPI0.cjs → donut-chart-positioning.config-BY2TIeeY.cjs} +1 -1
- package/components/{donut-chart-positioning.config-Peq3v9qK.js → donut-chart-positioning.config-D34HegyZ.js} +1 -1
- package/components/es-7RD7O4q3.cjs +20 -0
- package/components/{es-Cdl4GvQt.js → es-BCur0-77.js} +3 -0
- package/components/{evolution-number-positioning.config-ClGlayIt.cjs → evolution-number-positioning.config-BBvULr59.cjs} +1 -1
- package/components/{evolution-number-positioning.config-e90XUBQG.js → evolution-number-positioning.config-CKzCTjdO.js} +1 -1
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/{filter-expression-picker-COCoT5LG.cjs → filter-expression-picker-BOLyxG2r.cjs} +1 -1
- package/components/{filter-expression-picker-BPAwOijt.js → filter-expression-picker-DurfSgRY.js} +1 -1
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +1 -1
- package/components/{filter-item-CbDbNmni.js → filter-item-C58zIpPh.js} +5 -5
- package/components/{filter-item-cyApfc9M.cjs → filter-item-obyHcs9f.cjs} +1 -1
- package/components/filter-parameter-picker/index.cjs +1 -1
- package/components/filter-parameter-picker/index.js +1 -1
- package/components/{filter-parameter-picker-CCd77cYS.js → filter-parameter-picker-BWNBc8BI.js} +1 -1
- package/components/{filter-parameter-picker-F68BatwD.cjs → filter-parameter-picker-DSYaE9Sv.cjs} +1 -1
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +1 -1
- package/components/{filter-value-picker-DADia7jo.cjs → filter-value-picker-DYl_1pis.cjs} +1 -1
- package/components/filter-value-picker-datetime/index.cjs +1 -1
- package/components/filter-value-picker-datetime/index.js +1 -1
- package/components/{filter-value-picker-datetime-CuMmWJFV.cjs → filter-value-picker-datetime-BFbmCKs3.cjs} +1 -1
- package/components/{filter-value-picker-datetime-DM2K7Nrv.js → filter-value-picker-datetime-CP5__ua6.js} +1 -1
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +1 -1
- package/components/{filter-value-picker-hierarchy-BQTrc0ZU.cjs → filter-value-picker-hierarchy-BTf992WX.cjs} +1 -1
- package/components/{filter-value-picker-hierarchy-W-a9ycWV.js → filter-value-picker-hierarchy-j0LRYW1c.js} +2 -2
- package/components/{filter-value-picker-CLUUhn1d.js → filter-value-picker-kzIrnmdp.js} +4 -4
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +1 -1
- package/components/{filter-value-picker-numeric-DL5cqR8I.js → filter-value-picker-numeric-BmKmeOol.js} +1 -1
- package/components/{filter-value-picker-numeric-CXfgDZ4W.cjs → filter-value-picker-numeric-DJi0Utk_.cjs} +1 -1
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.js +1 -1
- package/components/{filters-bruSosZt.js → filters-BddhKRZC.js} +2 -2
- package/components/{filters-Dj4mQklp.cjs → filters-Dx6g0xl9.cjs} +1 -1
- package/components/formula/index.cjs +1 -1
- package/components/formula/index.js +1 -1
- package/components/{formula-CbApVbw7.js → formula-BYx4gH6i.js} +2 -2
- package/components/{formula-DkANj6Hi.cjs → formula-cc2AaiLt.cjs} +1 -1
- package/components/{formula-codemirror-C_wCMc2M.js → formula-codemirror-CVzyYNLO.js} +4 -4
- package/components/{formula-codemirror-DGxXJYCi.cjs → formula-codemirror-EMK3MCNZ.cjs} +1 -1
- package/components/{formula-display-store-SkrNDfyG.js → formula-display-store-BPn9m5TL.js} +3 -3
- package/components/{formula-display-store-B2DUrVwh.cjs → formula-display-store-DER7C0GG.cjs} +1 -1
- package/components/formula-editor/index.cjs +1 -1
- package/components/formula-editor/index.js +3 -3
- package/components/{formula-editor-DX5FRb2v.js → formula-editor-BxoIkARr.js} +5 -5
- package/components/{formula-editor-Dv4UIAe_.cjs → formula-editor-CWKXcUTF.cjs} +1 -1
- package/components/formula-field/index.cjs +1 -1
- package/components/formula-field/index.js +1 -1
- package/components/{formula-field-CwnAHHpw.js → formula-field-BtvaOWki.js} +1 -1
- package/components/{formula-field-tJsQsXic.cjs → formula-field-CzS2pKJI.cjs} +1 -1
- package/components/{formula-input-base-6iVykYb0.cjs → formula-input-base-CvD0b2cO.cjs} +1 -1
- package/components/{formula-input-base-mKhAiYM0.js → formula-input-base-DVtGLoyA.js} +1 -1
- package/components/{fr-qv7EjBRo.js → fr-BnECl1nx.js} +3 -0
- package/components/fr-CGw2IwXh.cjs +20 -0
- package/components/{funnel-chart-positioning.config-PrEIQPXg.cjs → funnel-chart-positioning.config-BPSmV76y.cjs} +1 -1
- package/components/{funnel-chart-positioning.config-Havc4gNs.js → funnel-chart-positioning.config-CvhpE7rN.js} +1 -1
- package/components/{get-dataset-name-CIf7x0nh.js → get-dataset-name-D53TN7N9.js} +1 -1
- package/components/{get-dataset-name-BR_H1MNL.cjs → get-dataset-name-DYLdbEs-.cjs} +1 -1
- package/components/{groupings-BKSBZ34s.cjs → groupings-Bn9384Zw.cjs} +1 -1
- package/components/{groupings-CIVQITJp.js → groupings-BtmmUlPK.js} +1 -1
- package/components/{heat-map-positioning.config-CF6XNksR.js → heat-map-positioning.config-AOHTEJf7.js} +1 -1
- package/components/{heat-map-positioning.config-L91C9c0t.cjs → heat-map-positioning.config-CHDHFIo2.cjs} +1 -1
- package/components/{heat-table-positioning.config-BuH8txu-.cjs → heat-table-positioning.config-DCLE9cy4.cjs} +1 -1
- package/components/{heat-table-positioning.config-0YNV-Whw.js → heat-table-positioning.config-DprOfmlW.js} +1 -1
- package/components/{hexbin-map-positioning.config-wKi8qbMF.js → hexbin-map-positioning.config-BjxkoqGh.js} +1 -1
- package/components/{hexbin-map-positioning.config-Dx42tGRj.cjs → hexbin-map-positioning.config-BmLljWez.cjs} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +67 -67
- package/components/interactive-viz-item/index.cjs +1 -1
- package/components/interactive-viz-item/index.js +1 -1
- package/components/{interactive-viz-item-DMOsdrLN.js → interactive-viz-item-DL5aqkvx.js} +5 -5
- package/components/{interactive-viz-item-YwkjBGtN.cjs → interactive-viz-item-DTr14-9-.cjs} +1 -1
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +1 -1
- package/components/{item-grid-iYxxuvvA.js → item-grid-C_OTtv4T.js} +6 -6
- package/components/{item-grid-B1ColM8x.cjs → item-grid-CcwnD_u5.cjs} +4 -4
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/{item-option-BIWC5VRT.js → item-option-DRWLN89_.js} +1 -1
- package/components/item-option-action-button-group/index.cjs +1 -1
- package/components/item-option-action-button-group/index.js +1 -1
- package/components/{item-option-action-button-group-TPUU3sts.js → item-option-action-button-group-B9ghoHeh.js} +1 -1
- package/components/{item-option-action-button-group-Dq6xKpHi.cjs → item-option-action-button-group-Byg9h7uo.cjs} +1 -1
- package/components/{item-option-base-BKo7DBxK.cjs → item-option-base-Dwf3dByS.cjs} +1 -1
- package/components/{item-option-base-DcZILy3S.js → item-option-base-pYrkqt6q.js} +1 -1
- package/components/item-option-color-palette-picker/index.cjs +1 -1
- package/components/item-option-color-palette-picker/index.js +1 -1
- package/components/{item-option-color-palette-picker-i6Tnv4qN.js → item-option-color-palette-picker-DnVqGnm4.js} +1 -1
- package/components/{item-option-color-palette-picker-C_Jx5Prb.cjs → item-option-color-palette-picker-v6TBE-I0.cjs} +1 -1
- package/components/item-option-color-picker/index.cjs +1 -1
- package/components/item-option-color-picker/index.js +1 -1
- package/components/{item-option-color-picker-Co3iTjwo.cjs → item-option-color-picker-CNkNZ1p-.cjs} +1 -1
- package/components/{item-option-color-picker-BSXsKzZ-.js → item-option-color-picker-CO-OAFOs.js} +1 -1
- package/components/item-option-color-range/index.cjs +1 -1
- package/components/item-option-color-range/index.js +1 -1
- package/components/{item-option-color-range-CUYGCwQG.cjs → item-option-color-range-BveD6fsp.cjs} +1 -1
- package/components/{item-option-color-range-DE8-UNxr.js → item-option-color-range-bdYUxgQ9.js} +1 -1
- package/components/item-option-guidelines/index.cjs +1 -1
- package/components/item-option-guidelines/index.js +1 -1
- package/components/{item-option-guidelines-DWdPS45K.js → item-option-guidelines-Ce88dTV-.js} +3 -3
- package/components/{item-option-guidelines-DUjfN-eB.cjs → item-option-guidelines-D8UjylMx.cjs} +1 -1
- package/components/{item-option-Cz10G9yw.cjs → item-option-h8URFjZ2.cjs} +1 -1
- package/components/item-option-multi-language-field/index.cjs +1 -1
- package/components/item-option-multi-language-field/index.js +1 -1
- package/components/{item-option-multi-language-field-D5e36e1G.js → item-option-multi-language-field-0qfdBanp.js} +1 -1
- package/components/{item-option-multi-language-field-CWE9WrxP.cjs → item-option-multi-language-field-D0jRPAjY.cjs} +1 -1
- package/components/item-option-number-field/index.cjs +1 -1
- package/components/item-option-number-field/index.js +1 -1
- package/components/{item-option-number-field-BElZmdUU.js → item-option-number-field-CcEav5C3.js} +1 -1
- package/components/{item-option-number-field-RJ88VAyR.cjs → item-option-number-field-DYJ0eIf7.cjs} +1 -1
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/{item-option-panel-BmaT4y_2.cjs → item-option-panel-6Voh87nt.cjs} +1 -1
- package/components/{item-option-panel-D7klHx03.js → item-option-panel-DrI7HYrY.js} +2 -2
- package/components/item-option-picker/index.cjs +1 -1
- package/components/item-option-picker/index.js +1 -1
- package/components/{item-option-picker-DnWKHPYS.js → item-option-picker-Bv4aGaCO.js} +1 -1
- package/components/{item-option-picker-C3M-7kWF.cjs → item-option-picker-DkEgfEE7.cjs} +1 -1
- package/components/item-option-position-picker/index.cjs +1 -1
- package/components/item-option-position-picker/index.js +1 -1
- package/components/{item-option-position-picker-CUTrYLPj.js → item-option-position-picker-1d7qZmDv.js} +1 -1
- package/components/{item-option-position-picker-B2qUrVJd.cjs → item-option-position-picker-CKgaqFJR.cjs} +1 -1
- package/components/item-option-positions-number-field/index.cjs +1 -1
- package/components/item-option-positions-number-field/index.js +1 -1
- package/components/{item-option-positions-number-field-EXPp_Vr4.cjs → item-option-positions-number-field-BJXer0y5.cjs} +1 -1
- package/components/{item-option-positions-number-field-B4zcS62B.js → item-option-positions-number-field-DUlBsbUL.js} +1 -1
- package/components/item-option-radio-button-group/index.cjs +1 -1
- package/components/item-option-radio-button-group/index.js +1 -1
- package/components/{item-option-radio-button-group-D8GbkHVX.cjs → item-option-radio-button-group-ChtTIO3B.cjs} +1 -1
- package/components/{item-option-radio-button-group-Cs1sSCVM.js → item-option-radio-button-group-DuMcIZvr.js} +1 -1
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/{item-option-slider-Bo1ALP8q.cjs → item-option-slider-CBSnkHVq.cjs} +1 -1
- package/components/{item-option-slider-CcKLS-V5.js → item-option-slider-CWxRoAbA.js} +1 -1
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +1 -1
- package/components/{item-option-switch-Ch6u9CAm.js → item-option-switch-DvMLATBO.js} +1 -1
- package/components/{item-option-switch-CpeC7Eh7.cjs → item-option-switch-dO66fjoD.cjs} +1 -1
- package/components/item-option-text-field/index.cjs +1 -1
- package/components/item-option-text-field/index.js +1 -1
- package/components/{item-option-text-field-DAbQegOZ.js → item-option-text-field-DS-gn_Gc.js} +1 -1
- package/components/{item-option-text-field-BxvQAHf3.cjs → item-option-text-field-Furz80ho.cjs} +1 -1
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +1 -1
- package/components/{item-slot-drop-DDffbp-i.js → item-slot-drop-DE90FDdS.js} +5 -5
- package/components/{item-slot-drop-mKhyjodt.cjs → item-slot-drop-f8jm-34W.cjs} +1 -1
- package/components/item-slot-drop-panel/index.cjs +1 -1
- package/components/item-slot-drop-panel/index.js +1 -1
- package/components/{item-slot-drop-panel-BtrZehGL.js → item-slot-drop-panel-CyfhbUlE.js} +39 -39
- package/components/{item-slot-drop-panel-CKXMQCyt.cjs → item-slot-drop-panel-DLqyYvKj.cjs} +1 -1
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +1 -1
- package/components/{item-slot-picker-CWqeOJ8R.js → item-slot-picker-BM03UNRE.js} +6 -6
- package/components/{item-slot-picker-CwMjRpkT.cjs → item-slot-picker-CgEtqhqe.cjs} +1 -1
- package/components/item-slot-picker-panel/index.cjs +1 -1
- package/components/item-slot-picker-panel/index.js +1 -1
- package/components/{item-slot-picker-panel-C6Hpc2rT.cjs → item-slot-picker-panel-CuH3OcmV.cjs} +1 -1
- package/components/{item-slot-picker-panel-cD3DvPbA.js → item-slot-picker-panel-DPaabfv5.js} +3 -3
- package/components/{line-chart-positioning.config-ZZid30rm.cjs → line-chart-positioning.config-BnDYCjGX.cjs} +1 -1
- package/components/{line-chart-positioning.config-DoHg1rwA.js → line-chart-positioning.config-CPGyHeJF.js} +1 -1
- package/components/{localized-mixin-DZFYG6RG.cjs → localized-mixin-CtNoCjjI.cjs} +1 -1
- package/components/{localized-mixin-CSF-kZFt.js → localized-mixin-DBUkUh0o.js} +1 -1
- package/components/{marker-map-positioning.config-DGZWoFAk.cjs → marker-map-positioning.config-Bq1EPg3J.cjs} +1 -1
- package/components/{marker-map-positioning.config-DX6bFQld.js → marker-map-positioning.config-CBERtxkG.js} +1 -1
- package/components/nl-BnzS_ZtB.cjs +20 -0
- package/components/{nl-MWgzbW0R.js → nl-h9vVAk2e.js} +3 -0
- package/components/{ohlc-chart-positioning.config-DaEUcXBJ.js → ohlc-chart-positioning.config-CpPJyyLB.js} +1 -1
- package/components/{ohlc-chart-positioning.config-Bev8Atsx.cjs → ohlc-chart-positioning.config-aCf-SEt7.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-DJ7K-dVp.cjs → parallel-coordinates-plot-positioning.config-D1CB7jOv.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-NWEEOd4d.js → parallel-coordinates-plot-positioning.config-DsNDp1G7.js} +1 -1
- package/components/{pivot-table-positioning.config-DpMiUVtd.js → pivot-table-positioning.config-BFWS3Yk_.js} +1 -1
- package/components/{pivot-table-positioning.config-U-M08Rwc.cjs → pivot-table-positioning.config-gBHM1_-K.cjs} +1 -1
- package/components/{pyramid-chart-positioning.config-CZwx_f40.js → pyramid-chart-positioning.config-B8dbZhvt.js} +1 -1
- package/components/{pyramid-chart-positioning.config-BpdI6jmg.cjs → pyramid-chart-positioning.config-DD64vCwl.cjs} +1 -1
- package/components/{radar-chart-positioning.config-IFacftgi.js → radar-chart-positioning.config-C2DWQu8V.js} +1 -1
- package/components/{radar-chart-positioning.config-IcaEKe9Q.cjs → radar-chart-positioning.config-DN51_Tzb.cjs} +1 -1
- package/components/{route-map-positioning.config-CHfz0eM_.js → route-map-positioning.config-D7X6QuWY.js} +1 -1
- package/components/{route-map-positioning.config-DKZvRmfJ.cjs → route-map-positioning.config-ryk_dUkh.cjs} +1 -1
- package/components/{sankey-diagram-positioning.config-BaCoBJXV.js → sankey-diagram-positioning.config-A_7xM06n.js} +1 -1
- package/components/{sankey-diagram-positioning.config-DJaK2xJX.cjs → sankey-diagram-positioning.config-CJfGpnPS.cjs} +1 -1
- package/components/{scatter-plot-positioning.config-DaNI54rh.cjs → scatter-plot-positioning.config-Duao2ftU.cjs} +1 -1
- package/components/{scatter-plot-positioning.config-PC47tloI.js → scatter-plot-positioning.config-qpwrugRe.js} +1 -1
- package/components/{set-locale-v6POkwmC.cjs → set-locale-B-GvqA1H.cjs} +1 -1
- package/components/{set-locale-Jz3DhqaW.js → set-locale-CgCeLPlb.js} +4 -4
- package/components/{slicer-filter-positioning.config-DMqYOG9Z.js → slicer-filter-positioning.config-93hC7jID.js} +1 -1
- package/components/{slicer-filter-positioning.config-KANe71ep.cjs → slicer-filter-positioning.config-DxhC39ak.cjs} +1 -1
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +1 -1
- package/components/{slot-menu-CWMA97fn.cjs → slot-menu-CPxyyKSe.cjs} +6 -6
- package/components/{slot-menu-Cwee5fNa.js → slot-menu-DHJtAZ5_.js} +16 -16
- package/components/slot-menu-list/index.cjs +1 -1
- package/components/slot-menu-list/index.js +1 -1
- package/components/{slot-menu-list-BEou0QhK.cjs → slot-menu-list-CeWcE4KK.cjs} +1 -1
- package/components/{slot-menu-list-De2q0GGZ.js → slot-menu-list-QltpaoWh.js} +1 -1
- package/components/{speedometer-chart-positioning.config-CYVK0VnJ.js → speedometer-chart-positioning.config-CZbwyYsk.js} +1 -1
- package/components/{speedometer-chart-positioning.config-DW3dJD7n.cjs → speedometer-chart-positioning.config-DtRG3-e5.cjs} +1 -1
- package/components/{spike-map-positioning.config-Dl-Uf_O6.cjs → spike-map-positioning.config-CevjyQ5F.cjs} +1 -1
- package/components/{spike-map-positioning.config-CfVFEygx.js → spike-map-positioning.config-LBqSYD2n.js} +1 -1
- package/components/{strip-plot-positioning.config-eJ5MbyBk.cjs → strip-plot-positioning.config-DF5VxzvB.cjs} +1 -1
- package/components/{strip-plot-positioning.config-BMNtb-to.js → strip-plot-positioning.config-cCdQxMM_.js} +1 -1
- package/components/{sunburst-chart-positioning.config-CJgmPm-9.cjs → sunburst-chart-positioning.config-CERBvfoF.cjs} +1 -1
- package/components/{sunburst-chart-positioning.config-BRWF7dVf.js → sunburst-chart-positioning.config-DmkZEexM.js} +1 -1
- package/components/{symbol-map-positioning.config-_8L-oDxW.js → symbol-map-positioning.config-BwG_G6He.js} +1 -1
- package/components/{symbol-map-positioning.config-ONSN27l9.cjs → symbol-map-positioning.config-DhYxG8RC.cjs} +1 -1
- package/components/{treemap-chart-positioning.config-DrCRoNzf.cjs → treemap-chart-positioning.config-BwrrXs4a.cjs} +1 -1
- package/components/{treemap-chart-positioning.config-Bggn7Mqz.js → treemap-chart-positioning.config-arjPT6b_.js} +1 -1
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/{utils-B2Eqs5i5.js → utils-B_rE5b7a.js} +1 -1
- package/components/{utils-CNH9xGyk.cjs → utils-BwJNkc-z.cjs} +1 -1
- package/components/utils.cjs +1 -1
- package/components/utils.js +2 -2
- package/components/{venn-diagram-positioning.config-BoH0wNEM.js → venn-diagram-positioning.config-DSh3Ns9L.js} +1 -1
- package/components/{venn-diagram-positioning.config-B-prEVEc.cjs → venn-diagram-positioning.config-GGLCcrqp.cjs} +1 -1
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +1 -1
- package/components/{viz-item-menu-BUSjo6j_.js → viz-item-menu-Ht6bklNL.js} +1 -1
- package/components/{viz-item-menu-C-kpX-Ft.cjs → viz-item-menu-XHh4qhtn.cjs} +1 -1
- package/components/{wordcloud-chart-positioning.config-B6pvD7_a.js → wordcloud-chart-positioning.config-B8ZzwIdd.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-BJi5SVYf.cjs → wordcloud-chart-positioning.config-Cxyhs6gk.cjs} +1 -1
- package/custom-elements.json +254 -5
- package/package.json +1 -1
- package/react/components/ai-chat.component.ts +2 -2
- package/react/esm/components/ai-chat.component.d.ts +2 -2
- package/react/esm/components/ai-chat.component.js +2 -2
- package/react/package.json +2 -2
- package/types/ai-chat.types.d.ts +9 -0
- package/components/ai-chat-7kHoMVeu.cjs +0 -321
- package/components/de-g8uRTFxZ.cjs +0 -20
- package/components/es-C3dhJP2H.cjs +0 -20
- package/components/fr-WdV_fXl_.cjs +0 -20
- package/components/nl-D3gRr88b.cjs +0 -20
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { DatasetDataField } from '../../types/dataset-data-field.types';
|
|
2
|
+
import type { DatasetColumnMetadata, DatasetFormulaMetadata, DatasetMetadata } from '../data-broker/index';
|
|
3
|
+
export declare const mapDatasetColumnToDatasetDataField: (datasetId: string, column: DatasetColumnMetadata, options?: {
|
|
4
|
+
includeHidden?: boolean;
|
|
5
|
+
}) => Extract<DatasetDataField, {
|
|
6
|
+
columnId: string;
|
|
7
|
+
}> | null;
|
|
8
|
+
export declare const mapDatasetFormulaToDatasetDataField: (datasetId: string, formula: DatasetFormulaMetadata, options?: {
|
|
9
|
+
includeHidden?: boolean;
|
|
10
|
+
}) => Extract<DatasetDataField, {
|
|
11
|
+
formulaId: string;
|
|
12
|
+
}> | null;
|
|
13
|
+
export declare const mapDatasetToDataFields: (dataset: DatasetMetadata, options?: {
|
|
14
|
+
includeHidden?: boolean;
|
|
15
|
+
}) => DatasetDataField[];
|
|
16
|
+
export interface DatasetWithDataFields {
|
|
17
|
+
id: string;
|
|
18
|
+
name: Record<string, string>;
|
|
19
|
+
description?: Record<string, string>;
|
|
20
|
+
dataFields: DatasetDataField[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Converts DataBroker dataset metadata to datasets with data fields.
|
|
24
|
+
* @param datasets Array of datasets to convert.
|
|
25
|
+
* @param options Mapping options to control visibility and field types.
|
|
26
|
+
* @returns Array of datasets, each containing its metadata and data fields.
|
|
27
|
+
*/
|
|
28
|
+
export declare const convertDatasetsToDataFields: (datasets: DatasetMetadata[], options?: {
|
|
29
|
+
includeHidden?: boolean;
|
|
30
|
+
}) => DatasetWithDataFields[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare function isEmpty(value: any): boolean;
|
|
2
|
+
export declare function isString(value: any): value is string;
|
|
3
|
+
export declare function isNumeric(value: any): value is number;
|
|
4
|
+
export declare function isBoolean(value: any): value is boolean;
|
|
5
|
+
export declare function isObject(value: any): boolean;
|
|
6
|
+
export declare function isDate(value: any): value is Date;
|
|
7
|
+
export declare function isEmptyObject(value: any): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Validates if a string is a valid UUID v4 format
|
|
10
|
+
* @param value - The string to validate
|
|
11
|
+
* @returns true if the string is a valid UUID, false otherwise
|
|
12
|
+
*/
|
|
13
|
+
export declare function isValidUuid(value: unknown): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Filters an array of strings to only include valid UUIDs
|
|
16
|
+
* @param ids - Array of strings to filter
|
|
17
|
+
* @returns Array containing only valid UUIDs
|
|
18
|
+
*/
|
|
19
|
+
export declare function filterValidUuids(ids: string[]): string[];
|
|
20
|
+
/**
|
|
21
|
+
* Validates an array of IDs and returns info about invalid ones
|
|
22
|
+
* @param ids - Array of IDs to validate
|
|
23
|
+
* @returns Object with valid IDs array and invalid IDs array
|
|
24
|
+
*/
|
|
25
|
+
export declare function validateUuids(ids: string[]): {
|
|
26
|
+
valid: string[];
|
|
27
|
+
invalid: string[];
|
|
28
|
+
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
|
|
2
2
|
import type { AiSampleChart, ChatMessage } from '../../types';
|
|
3
|
-
import type { AiPromptAgent, DashboardStatePayload } from './ai-prompt-types';
|
|
3
|
+
import type { AiPromptAgent, AiPromptCustomItemInput, DashboardStatePayload } from './ai-prompt-types';
|
|
4
4
|
/**
|
|
5
5
|
* Common fields present on every streamed step event, recognized or not.
|
|
6
6
|
*/
|
|
7
7
|
export interface AiChatStepBase {
|
|
8
|
-
/** The aiprompt agent that produced this step (`item`, `dashboard`, `analyst`). */
|
|
8
|
+
/** The aiprompt agent that produced this step (`item`, `dashboard`, `analyst`, `custom-item`). */
|
|
9
9
|
agent: AiPromptAgent;
|
|
10
10
|
/** Current conversation id, or `null` before the backend assigns one. */
|
|
11
11
|
conversationId: string | null;
|
|
@@ -15,7 +15,7 @@ export interface AiChatStepBase {
|
|
|
15
15
|
raw: Record<string, unknown>;
|
|
16
16
|
}
|
|
17
17
|
/** Recognized stream-step type discriminants. */
|
|
18
|
-
export type AiChatRecognizedStepType = 'decision' | 'text' | 'progress' | 'dashboard-title' | 'dashboard-layout' | 'dashboard-item' | 'chart' | 'interrupt';
|
|
18
|
+
export type AiChatRecognizedStepType = 'decision' | 'text' | 'progress' | 'dashboard-title' | 'dashboard-layout' | 'dashboard-item' | 'chart' | 'custom-item' | 'elicitation' | 'interrupt';
|
|
19
19
|
/**
|
|
20
20
|
* Stream steps assembled into a typed `data` payload.
|
|
21
21
|
* Discriminated by `type` (when `recognized` is `true`).
|
|
@@ -58,6 +58,17 @@ export type RecognizedStepEvent = (AiChatStepBase & {
|
|
|
58
58
|
recognized: true;
|
|
59
59
|
type: 'chart';
|
|
60
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
|
+
};
|
|
61
72
|
}) | (AiChatStepBase & {
|
|
62
73
|
recognized: true;
|
|
63
74
|
type: 'interrupt';
|
|
@@ -95,6 +106,11 @@ export interface AiChatCompleteEvent {
|
|
|
95
106
|
dashboard?: DashboardStatePayload;
|
|
96
107
|
/** Authoritative chart payload (item agent). */
|
|
97
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'];
|
|
98
114
|
/** Dashboard name keyed by locale (dashboard agent). */
|
|
99
115
|
name?: Record<string, string>;
|
|
100
116
|
/** Forward-compat: any final assets not modeled explicitly. */
|
|
@@ -7,6 +7,11 @@ export declare function chartToItemAsset(chart: LuzmoChart): Record<string, unkn
|
|
|
7
7
|
export declare function buildItemAiPromptProperties(ctx: BuildAiPromptRequestContext): AiPromptProperties;
|
|
8
8
|
export declare function buildDashboardAiPromptProperties(ctx: BuildAiPromptRequestContext): AiPromptProperties;
|
|
9
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;
|
|
10
15
|
/**
|
|
11
16
|
* Properties for a saved Agent run. The agent id resolves datasets, capabilities and theme
|
|
12
17
|
* server-side, so `agent` and `task` are deliberately absent: sending either alongside
|
|
@@ -8,7 +8,8 @@ import { LuzmoElement } from '../../utils/base';
|
|
|
8
8
|
import { type PropertyValues, TemplateResult } from 'lit';
|
|
9
9
|
import type { ChatMessage, Dataset, LuzmoChart } from '../../types';
|
|
10
10
|
import '../ai-interaction-textarea';
|
|
11
|
-
import type { AiPromptAgent, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from './ai-prompt-types';
|
|
11
|
+
import type { AiPromptAgent, AiPromptCustomItemInput, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from './ai-prompt-types';
|
|
12
|
+
import type { AiChatAgentConfig } from './types';
|
|
12
13
|
import './empty-state';
|
|
13
14
|
import type { AiChatEmptyStateSuggestion } from './empty-state';
|
|
14
15
|
import type { AiChatSession } from './session/ai-chat-session';
|
|
@@ -19,8 +20,8 @@ import type { AiChatSession } from './session/ai-chat-session';
|
|
|
19
20
|
* session from auth, agent, and chart or dashboard props; optional messages and selected-datasets
|
|
20
21
|
* seed it once on connect. Pass .chatSession for a host-owned session (e.g. dashboard editor).
|
|
21
22
|
* See {@link AiChatSession} / createAiChatSession for callbacks and external fetchStreaming.
|
|
22
|
-
* @fires {CustomEvent<AiChatStepEvent>} luzmo-step - Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow.
|
|
23
|
-
* @fires {CustomEvent<AiChatCompleteEvent>} luzmo-complete - Fired exactly once per response with the authoritative final result (dashboard/chart/name) or an `error`.
|
|
23
|
+
* @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.
|
|
24
|
+
* @fires {CustomEvent<AiChatCompleteEvent>} luzmo-complete - Fired exactly once per response with the authoritative final result (dashboard/chart/name/customItem) or an `error`.
|
|
24
25
|
* @fires {CustomEvent<AiChatMessageSentEventDetail>} luzmo-message-sent - Fired when a user sends a message
|
|
25
26
|
* @fires {CustomEvent<AiChatDatasetsChangedEventDetail>} luzmo-datasets-changed - Fired when the selected datasets change
|
|
26
27
|
* @fires {CustomEvent<AiChatConversationIdChangedEventDetail>} luzmo-conversation-id-changed - Fired when the conversation ID is updated from the API
|
|
@@ -168,11 +169,19 @@ export declare class LuzmoAiChat extends LuzmoElement {
|
|
|
168
169
|
signal?: AbortSignal;
|
|
169
170
|
}) => Promise<string[]>;
|
|
170
171
|
/**
|
|
171
|
-
* Which aiprompt agent to use
|
|
172
|
-
* With `agent-id` set it no longer shapes the request payload, only stream handling.
|
|
172
|
+
* Which aiprompt agent to use (`item`, `dashboard`, `analyst` or `custom-item`). Determines request
|
|
173
|
+
* payload and stream handling. With `agent-id` set it no longer shapes the request payload, only stream handling.
|
|
174
|
+
* Custom-item hosts must set `hide-agents` and leave `agent-id` unset to preserve draft context
|
|
175
|
+
* and internal repair prompts.
|
|
173
176
|
* @default 'item'
|
|
174
177
|
*/
|
|
175
178
|
agent: AiPromptAgent;
|
|
179
|
+
/**
|
|
180
|
+
* Typed agent selection and context. Takes precedence over legacy agent, task and context properties.
|
|
181
|
+
* Omit context to preserve the same agent's session context; use null to clear it.
|
|
182
|
+
* Undefined leaves a host session's typed configuration intact and uses legacy properties for an internal session.
|
|
183
|
+
*/
|
|
184
|
+
agentConfig?: AiChatAgentConfig;
|
|
176
185
|
/**
|
|
177
186
|
* Saved Agent id (UUID) to run the prompt as. An agent picked in the prompt box takes precedence for that prompt.
|
|
178
187
|
*/
|
|
@@ -206,6 +215,14 @@ export declare class LuzmoAiChat extends LuzmoElement {
|
|
|
206
215
|
* @default null
|
|
207
216
|
*/
|
|
208
217
|
dashboard: DashboardStatePayload | null;
|
|
218
|
+
/**
|
|
219
|
+
* Draft context for `agent="custom-item"`, sent as its `custom-item` input. The host owns the
|
|
220
|
+
* shape: the chart document under `document`, plus fields such as `chartId`.
|
|
221
|
+
* With a host `chatSession`, the default null preserves its draft. Once this element supplies
|
|
222
|
+
* a draft, setting this property to null clears the session's custom item context.
|
|
223
|
+
* @default null
|
|
224
|
+
*/
|
|
225
|
+
customItem: AiPromptCustomItemInput['value'] | null;
|
|
209
226
|
/**
|
|
210
227
|
* Current screen mode when editing a dashboard.
|
|
211
228
|
*/
|
|
@@ -273,6 +290,7 @@ export declare class LuzmoAiChat extends LuzmoElement {
|
|
|
273
290
|
private get _pickedAgentId();
|
|
274
291
|
private get _resolvedAcceptedFileTypes();
|
|
275
292
|
private _buildSessionConfig;
|
|
293
|
+
private _getAgentConfig;
|
|
276
294
|
private _emitConversationIdChanged;
|
|
277
295
|
private _restoreViaSession;
|
|
278
296
|
private _handleRestoreState;
|
|
@@ -321,6 +339,7 @@ export declare class LuzmoAiChat extends LuzmoElement {
|
|
|
321
339
|
private _renderAssistantMessageActions;
|
|
322
340
|
private _renderRestoreMenu;
|
|
323
341
|
private _renderMessages;
|
|
342
|
+
private _handleElicitationSubmit;
|
|
324
343
|
private _renderStreamingResponse;
|
|
325
344
|
private _renderLoadingMessage;
|
|
326
345
|
private _renderEmptyState;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PromptBoxAttachment } from '@luzmo/lucero';
|
|
2
2
|
import type { Dataset, LuzmoChart } from '../../types';
|
|
3
|
-
export type AiPromptAgent = 'item' | 'dashboard' | 'analyst';
|
|
3
|
+
export type AiPromptAgent = 'item' | 'dashboard' | 'analyst' | 'custom-item';
|
|
4
4
|
export type AiPromptItemTask = 'generate' | 'suggest' | 'describe';
|
|
5
5
|
export type AiPromptScreenMode = 'desktop' | 'tablet' | 'mobile';
|
|
6
6
|
/** Dashboard payload for `agent: 'dashboard'` input (views, syncScreenModes, optional theme). */
|
|
@@ -27,16 +27,25 @@ export interface AiPromptDashboardInput {
|
|
|
27
27
|
value: DashboardStatePayload;
|
|
28
28
|
current_screen_mode?: AiPromptScreenMode;
|
|
29
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
|
+
}
|
|
30
38
|
export interface AiPromptImageInput {
|
|
31
39
|
type: 'image';
|
|
32
40
|
url: string;
|
|
33
41
|
}
|
|
34
|
-
export type AiPromptInput = AiPromptTextInput | AiPromptDatasetInput | AiPromptItemInput | AiPromptDashboardInput | AiPromptImageInput;
|
|
42
|
+
export type AiPromptInput = AiPromptTextInput | AiPromptDatasetInput | AiPromptItemInput | AiPromptDashboardInput | AiPromptCustomItemInput | AiPromptImageInput;
|
|
35
43
|
/** Fields both aiprompt create shapes share, whichever agent selector is used. */
|
|
36
44
|
export interface AiPromptPropertiesBase {
|
|
37
45
|
conversation_id?: string;
|
|
38
46
|
locale_id?: string;
|
|
39
47
|
timezone_id?: string;
|
|
48
|
+
text_format?: 'plain' | 'markdown';
|
|
40
49
|
stream: boolean;
|
|
41
50
|
response_mode: 'mixed';
|
|
42
51
|
input: AiPromptInput[];
|
|
@@ -45,6 +54,8 @@ export interface AiPromptPropertiesBase {
|
|
|
45
54
|
export interface AiPromptBuiltInAgentProperties extends AiPromptPropertiesBase {
|
|
46
55
|
agent: AiPromptAgent;
|
|
47
56
|
task: AiPromptItemTask | 'generate';
|
|
57
|
+
/** Hides the prompt from the restored transcript. Custom-item agent only. */
|
|
58
|
+
internal?: boolean;
|
|
48
59
|
agent_id?: never;
|
|
49
60
|
}
|
|
50
61
|
/**
|
|
@@ -90,9 +101,13 @@ export interface BuildAiPromptRequestContext {
|
|
|
90
101
|
modelPreference?: 'performance' | 'quality';
|
|
91
102
|
chart?: LuzmoChart | null;
|
|
92
103
|
dashboard?: DashboardStatePayload | null;
|
|
104
|
+
/** Draft context for `agent: 'custom-item'`. */
|
|
105
|
+
customItem?: AiPromptCustomItemInput['value'] | null;
|
|
93
106
|
currentScreenMode?: AiPromptScreenMode;
|
|
94
107
|
task?: AiPromptItemTask;
|
|
95
108
|
attachmentUrls?: string[];
|
|
109
|
+
/** Sends `internal: true` so the prompt stays out of the restored transcript (custom-item agent only). */
|
|
110
|
+
internal?: boolean;
|
|
96
111
|
}
|
|
97
112
|
export interface LuzmoPromptSubmittedEventDetail {
|
|
98
113
|
prompt: string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AiPromptAgent, BuildAiPromptRequestContext } from '../ai-prompt-types';
|
|
2
|
+
import type { AiChatAgentConfig } from '../types';
|
|
3
|
+
type LegacyAgentContext = Pick<BuildAiPromptRequestContext, 'chart' | 'dashboard' | 'customItem' | 'currentScreenMode' | 'task'>;
|
|
4
|
+
type AgentConfigSource = LegacyAgentContext & {
|
|
5
|
+
agent?: AiPromptAgent;
|
|
6
|
+
agentConfig?: AiChatAgentConfig;
|
|
7
|
+
};
|
|
8
|
+
/** Adapt existing flat inputs, or inherit omitted typed context only when the agent type matches. */
|
|
9
|
+
export declare function resolveAiChatAgentConfig(source: AgentConfigSource, previous?: AiChatAgentConfig): AiChatAgentConfig;
|
|
10
|
+
/** Clear inactive legacy fields so a typed configuration cannot leak another agent's context. */
|
|
11
|
+
export declare function agentRequestContext(config: AiChatAgentConfig): LegacyAgentContext;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import '@luzmo/lucero/question-box';
|
|
2
|
+
import type { QuestionBoxResultDetail } from '@luzmo/lucero/question-box';
|
|
3
|
+
import type { ChatMessage } from '../../../types';
|
|
4
|
+
/**
|
|
5
|
+
* - `open`: the latest question, waiting for an answer.
|
|
6
|
+
* - `answered`: an answer was sent; shown read-only.
|
|
7
|
+
* - `closed`: not answerable, because the conversation moved on, a response is generating or the chat is disabled.
|
|
8
|
+
*/
|
|
9
|
+
export type ElicitationState = 'open' | 'answered' | 'closed';
|
|
10
|
+
export interface ElicitationMarkupArgs {
|
|
11
|
+
message: ChatMessage;
|
|
12
|
+
state: ElicitationState;
|
|
13
|
+
onSubmit: (event: CustomEvent<QuestionBoxResultDetail>) => void;
|
|
14
|
+
}
|
|
15
|
+
/** Reads the chosen option from a question box `luzmo-submit` event. */
|
|
16
|
+
export declare function readElicitationAnswer(detail: QuestionBoxResultDetail): string | undefined;
|
|
17
|
+
/** Renders the agent question on an assistant message as a single-choice question box. */
|
|
18
|
+
export declare function elicitationMarkup({ message, state, onSubmit }: ElicitationMarkupArgs): unknown;
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../ai-interaction-textarea-
|
|
20
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../ai-interaction-textarea-B6tZgh5k.cjs"),t=require("../ai-chat-CG-eIiBr.cjs");exports.AI_PROMPT_ACCEPTED_IMAGE_MIME_TYPES=e.c,exports.AI_PROMPT_MAX_ATTACHMENTS=e.l,exports.AiChatSession=t.i,exports.AiChatSessionController=t.r,exports.LuzmoAiChat=t.n,exports.LuzmoAiChatEmptyState=t.D,exports.assertValidAiPromptAttachmentFiles=e.u,exports.assertValidAiPromptAttachmentUrls=e.d,exports.blobToBase64=e.n,exports.buildAiDictationRequest=e.r,exports.buildAiPromptDeleteRequest=t._,exports.buildAiPromptProperties=t.v,exports.buildAiPromptRequest=t.y,exports.buildAnalystAiPromptProperties=t.b,exports.buildCustomItemAiPromptProperties=t.x,exports.buildDashboardAiPromptProperties=t.S,exports.buildItemAiPromptProperties=t.C,exports.buildSavedAgentAiPromptProperties=t.w,exports.chartToItemAsset=t.T,exports.createAiChatSession=t.a,exports.createInitialProgress=t.f,exports.createInitialStreamState=t.o,exports.createStreamHandler=t.s,exports.extractChartFromChunk=t.u,exports.extractDashboardFromChunk=t.d,exports.fetchStreamingResponse=t.m,exports.getAgentStreamDefinition=t.c,exports.getAiDictationUrl=e.i,exports.getAiPromptUrl=t.E,exports.getUploadUrl=e.o,exports.hasProgressChunk=t.p,exports.isAiPromptAcceptedImageFile=e.f,exports.isAiPromptAcceptedImageMimeType=e.p,exports.isAiPromptAcceptedImageUrl=e.m,exports.isRecognizedStep=t.t,exports.parseStreamLine=t.h,exports.processStreamChunk=t.l,exports.readNdjsonStream=t.g,exports.streamAiDictation=e.a,exports.uploadAiPromptImages=e.s;
|
|
@@ -4,7 +4,7 @@ declare global {
|
|
|
4
4
|
'luzmo-ai-chat': LuzmoAiChat;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
export type { ProgressTreeNode, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AiChatMessageSentEventDetail, AiChatDatasetsChangedEventDetail, AiChatConversationIdChangedEventDetail } from '../../types/ai-chat.types';
|
|
7
|
+
export type { ProgressTreeNode, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, ChatMessageElicitation, AiChatMessageSentEventDetail, AiChatDatasetsChangedEventDetail, AiChatConversationIdChangedEventDetail } from '../../types/ai-chat.types';
|
|
8
8
|
export type { PromptBoxAttachment, PromptBoxFileIcons } from '../ai-interaction-textarea';
|
|
9
9
|
export { isRecognizedStep } from './ai-chat-events';
|
|
10
10
|
export type { AiChatCompleteEvent, AiChatRecognizedStepType, AiChatStepBase, AiChatStepEvent, RecognizedStepEvent, UnknownStepEvent } from './ai-chat-events';
|
|
@@ -12,6 +12,7 @@ export { AiChatSession, AiChatSessionController, createAiChatSession } from './s
|
|
|
12
12
|
export type { AiChatSessionControllerOptions, AiChatSessionSeed } from './session/ai-chat-session-controller';
|
|
13
13
|
export type { AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionState, AiChatSessionSubmitParams, AiPromptCreateBody, AiPromptDeleteBody, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail } from './session/ai-chat-session-types';
|
|
14
14
|
export { LuzmoAiChat } from './ai-chat';
|
|
15
|
+
export type { AiChatAgentConfig } from './types';
|
|
15
16
|
export { LuzmoAiChatEmptyState } from './empty-state';
|
|
16
17
|
export type { AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail } from './empty-state';
|
|
17
18
|
export * from './ai-prompt-types';
|
|
@@ -24,6 +24,6 @@
|
|
|
24
24
|
e.setAttribute("data-luzmo-vars", ""), e.textContent = "html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), black 45%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 7%), black 1%);--luzmo-background-color-focus: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), black 20%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-shadow-color-rgb: 0, 0, 0;--luzmo-shadow-opacity: 0.1;--luzmo-shadow-color: rgba(var(--luzmo-shadow-color-rgb), var(--luzmo-shadow-opacity));--luzmo-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), black 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-width: thin;--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba(var(--luzmo-border-color-rgb), 0.4);--luzmo-primary: #4434ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), black 20%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-down: color-mix(in oklch, var(--luzmo-secondary), black 20%);--luzmo-secondary-focus: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), black 20%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), black 20%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), black 45%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), black 45%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}", document.head.appendChild(e);
|
|
25
25
|
}
|
|
26
26
|
})();
|
|
27
|
-
import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, u as f } from "../ai-interaction-textarea-
|
|
28
|
-
import { C as p,
|
|
29
|
-
export { t as AI_PROMPT_ACCEPTED_IMAGE_MIME_TYPES, a as AI_PROMPT_MAX_ATTACHMENTS,
|
|
27
|
+
import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, u as f } from "../ai-interaction-textarea-D9g9G0T1.js";
|
|
28
|
+
import { C as p, D as m, E as h, S as g, T as _, _ as v, a as y, b, c as x, d as S, f as C, g as w, h as T, i as E, l as D, m as O, n as k, o as A, p as j, r as M, s as N, t as P, u as F, v as I, w as L, x as R, y as z } from "../ai-chat-CMc_9Oo2.js";
|
|
29
|
+
export { t as AI_PROMPT_ACCEPTED_IMAGE_MIME_TYPES, a as AI_PROMPT_MAX_ATTACHMENTS, E as AiChatSession, M as AiChatSessionController, k as LuzmoAiChat, m as LuzmoAiChatEmptyState, f as assertValidAiPromptAttachmentFiles, n as assertValidAiPromptAttachmentUrls, s as blobToBase64, u as buildAiDictationRequest, v as buildAiPromptDeleteRequest, I as buildAiPromptProperties, z as buildAiPromptRequest, b as buildAnalystAiPromptProperties, R as buildCustomItemAiPromptProperties, g as buildDashboardAiPromptProperties, p as buildItemAiPromptProperties, L as buildSavedAgentAiPromptProperties, _ as chartToItemAsset, y as createAiChatSession, C as createInitialProgress, A as createInitialStreamState, N as createStreamHandler, F as extractChartFromChunk, S as extractDashboardFromChunk, O as fetchStreamingResponse, x as getAgentStreamDefinition, i as getAiDictationUrl, h as getAiPromptUrl, c as getUploadUrl, j as hasProgressChunk, r as isAiPromptAcceptedImageFile, l as isAiPromptAcceptedImageMimeType, o as isAiPromptAcceptedImageUrl, P as isRecognizedStep, T as parseStreamLine, D as processStreamChunk, w as readNdjsonStream, e as streamAiDictation, d as uploadAiPromptImages };
|
|
@@ -22,6 +22,8 @@ export declare class AiChatSessionController {
|
|
|
22
22
|
private _session;
|
|
23
23
|
/** When true, {@link teardown} aborts and clears the session. */
|
|
24
24
|
private _ownsSession;
|
|
25
|
+
/** Once the element supplies a custom item, its null value also overrides a host session. */
|
|
26
|
+
private _customItemFromProps;
|
|
25
27
|
/** Whether the session has been seeded from props. Used to avoid unnecessary updates. */
|
|
26
28
|
private _seededFromProps;
|
|
27
29
|
private _unsubscribe;
|
|
@@ -43,6 +45,7 @@ export declare class AiChatSessionController {
|
|
|
43
45
|
/**
|
|
44
46
|
* Auth/API props from the element for host-owned sessions.
|
|
45
47
|
* Skips nullish chart/dashboard/screen mode so host-owned values are not wiped.
|
|
48
|
+
* Preserves a host custom item until the element supplies one; later null clears it.
|
|
46
49
|
* Never touches host `fetchStreaming`.
|
|
47
50
|
*/
|
|
48
51
|
private _mergeHostElementConfig;
|
|
@@ -2,10 +2,15 @@ import type { PromptBoxAttachment } from '@luzmo/lucero';
|
|
|
2
2
|
import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
|
|
3
3
|
import type { AiSampleChart, ChatMessage, Dataset, LuzmoChart } from '../../../types';
|
|
4
4
|
import type { AiChatCompleteEvent, AiChatStepEvent } from '../ai-chat-events';
|
|
5
|
-
import type { AiPromptAgent, AiPromptCreateBody, AiPromptDeleteBody, AiPromptItemTask, AiPromptScreenMode, BuildAiPromptRequestContext, DashboardStatePayload, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail } from '../ai-prompt-types';
|
|
5
|
+
import type { AiPromptAgent, AiPromptCustomItemInput, AiPromptCreateBody, AiPromptDeleteBody, AiPromptItemTask, AiPromptScreenMode, BuildAiPromptRequestContext, DashboardStatePayload, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail } from '../ai-prompt-types';
|
|
6
6
|
import type { StreamingRequestOptions, StreamingResponse } from '../stream/transport';
|
|
7
|
+
import type { AiChatAgentConfig } from '../types';
|
|
7
8
|
export interface AiChatSessionConfig {
|
|
8
|
-
agent
|
|
9
|
+
/** Legacy agent selector. Defaults to item; agentConfig takes precedence. */
|
|
10
|
+
agent?: AiPromptAgent;
|
|
11
|
+
/** Typed agent selection and context. Omitted context preserves the same agent's context; null clears it. */
|
|
12
|
+
agentConfig?: AiChatAgentConfig;
|
|
13
|
+
/** Saved Agent override. Leave unset for custom-item sessions to preserve draft context and internal prompts. */
|
|
9
14
|
agentId?: string;
|
|
10
15
|
authKey: string;
|
|
11
16
|
authToken: string;
|
|
@@ -15,6 +20,8 @@ export interface AiChatSessionConfig {
|
|
|
15
20
|
conversationId?: string | null;
|
|
16
21
|
chart?: LuzmoChart | null;
|
|
17
22
|
dashboard?: DashboardStatePayload | null;
|
|
23
|
+
/** Draft context for `agent: 'custom-item'`, sent as its `custom-item` input. */
|
|
24
|
+
customItem?: AiPromptCustomItemInput['value'] | null;
|
|
18
25
|
currentScreenMode?: AiPromptScreenMode;
|
|
19
26
|
localeId?: string;
|
|
20
27
|
timezoneId?: string;
|
|
@@ -88,8 +95,17 @@ export interface AiChatSessionSubmitParams {
|
|
|
88
95
|
attachments?: PromptBoxAttachment[];
|
|
89
96
|
/** Signed image URLs already uploaded (`{ type: 'image', url }` inputs). Skips upload. */
|
|
90
97
|
attachmentUrls?: string[];
|
|
91
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Saved Agent id for this prompt. Defaults to {@link AiChatSessionConfig.agentId}.
|
|
100
|
+
* Leave unset for custom-item sessions to preserve draft context and internal prompts.
|
|
101
|
+
*/
|
|
92
102
|
agentId?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Sends the prompt as `internal: true`, which keeps it out of the restored transcript.
|
|
105
|
+
* Only the custom-item agent supports it. Combine with `skipUserMessage` for a turn the
|
|
106
|
+
* host starts itself, such as an automatic fix.
|
|
107
|
+
*/
|
|
108
|
+
internal?: boolean;
|
|
93
109
|
}
|
|
94
110
|
export interface AiChatSessionRestoreParams {
|
|
95
111
|
restoreToMessageId: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PromptBoxAttachment } from '@luzmo/lucero';
|
|
2
2
|
import type { Dataset } from '../../../types';
|
|
3
3
|
import type { AiPromptCreateBody, AiPromptDeleteBody, LuzmoPromptSubmittedEventDetail } from '../ai-prompt-types';
|
|
4
|
+
import type { AiChatAgentConfig } from '../types';
|
|
4
5
|
import type { AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionState, AiChatSessionSubmitParams } from './ai-chat-session-types';
|
|
5
6
|
/**
|
|
6
7
|
* Headless chat controller: transcript, datasets, streaming, and API calls without a DOM host.
|
|
@@ -36,6 +37,8 @@ export declare class AiChatSession {
|
|
|
36
37
|
constructor(config: AiChatSessionConfig, callbacks?: AiChatSessionCallbacks);
|
|
37
38
|
get state(): Readonly<AiChatSessionState>;
|
|
38
39
|
get isGenerating(): boolean;
|
|
40
|
+
/** Effective built-in agent and context after applying typed configuration or legacy compatibility inputs. */
|
|
41
|
+
get agentConfig(): AiChatAgentConfig;
|
|
39
42
|
/**
|
|
40
43
|
* Subscribe to full session state (for `luzmo-ai-chat` rendering). Returns an unsubscribe function.
|
|
41
44
|
* The listener is invoked immediately with the current state.
|
|
@@ -54,7 +57,9 @@ export declare class AiChatSession {
|
|
|
54
57
|
removeDataset(datasetId: string): void;
|
|
55
58
|
isDatasetRequirementMet(agentId?: string): boolean;
|
|
56
59
|
getAiPromptUrl(): string;
|
|
57
|
-
buildRequestBody(prompt: string, datasetIds: string[], attachmentUrls?: string[], agentId?: string | undefined
|
|
60
|
+
buildRequestBody(prompt: string, datasetIds: string[], attachmentUrls?: string[], agentId?: string | undefined, options?: {
|
|
61
|
+
internal?: boolean;
|
|
62
|
+
}): AiPromptCreateBody;
|
|
58
63
|
/** Same payload passed to {@link AiChatSessionCallbacks.onPromptSubmitted}. */
|
|
59
64
|
buildPromptSubmittedDetail(params: {
|
|
60
65
|
prompt: string;
|
|
@@ -64,6 +69,7 @@ export declare class AiChatSession {
|
|
|
64
69
|
attachments?: PromptBoxAttachment[];
|
|
65
70
|
attachmentUrls?: string[];
|
|
66
71
|
agentId?: string;
|
|
72
|
+
internal?: boolean;
|
|
67
73
|
}): LuzmoPromptSubmittedEventDetail;
|
|
68
74
|
/** Prefer provided URLs; otherwise upload via host callback or built-in `/upload`. */
|
|
69
75
|
private _resolveAttachmentUrls;
|
|
@@ -72,6 +78,15 @@ export declare class AiChatSession {
|
|
|
72
78
|
* Append the user prompt (unless `skipUserMessage`), start streaming, and update {@link state}.
|
|
73
79
|
*/
|
|
74
80
|
submit(params: AiChatSessionSubmitParams): Promise<void>;
|
|
81
|
+
/** {@link submit}, resolving to whether the request was sent (`false` when declined, aborted or superseded first). */
|
|
82
|
+
private _submit;
|
|
83
|
+
/**
|
|
84
|
+
* Answer the clarifying question on the last message and send the answer as the next prompt.
|
|
85
|
+
* Resolves to `false` without sending while a response is generating, when that message has no open
|
|
86
|
+
* question or another message follows it, when `answer` is not one of its options, when the dataset requirement is not met, or when
|
|
87
|
+
* the send is aborted or superseded before the request goes out; the answer is cleared again then.
|
|
88
|
+
*/
|
|
89
|
+
answerElicitation(messageId: string, answer: string, params?: Omit<AiChatSessionSubmitParams, 'prompt'>): Promise<boolean>;
|
|
75
90
|
/** Item agent only — restore conversation to a prior API message. */
|
|
76
91
|
restore(params: AiChatSessionRestoreParams): Promise<AiChatSessionRestoreResult>;
|
|
77
92
|
buildRestoreRequest(restoreToMessageId: string): AiPromptDeleteBody;
|
|
@@ -97,6 +112,7 @@ export declare class AiChatSession {
|
|
|
97
112
|
private _emit;
|
|
98
113
|
private _invokeCallback;
|
|
99
114
|
private _patchState;
|
|
115
|
+
private _notifySubscribers;
|
|
100
116
|
private _areSelectedDatasetsEqual;
|
|
101
117
|
private _areChatMessagesEqual;
|
|
102
118
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* nested `result.assistant_message`). They are side-effect free, except
|
|
7
7
|
* `applyConversationId`, which forwards the id through a callback.
|
|
8
8
|
*/
|
|
9
|
-
import type { DashboardStatePayload } from '../ai-prompt-types';
|
|
9
|
+
import type { AiPromptCustomItemInput, DashboardStatePayload } from '../ai-prompt-types';
|
|
10
10
|
import type { StreamHandlerContext } from './types';
|
|
11
11
|
export declare function extractInlineStreamText(chunk: Record<string, unknown>): string;
|
|
12
12
|
export declare function extractStreamText(chunk: Record<string, unknown>): string;
|
|
@@ -25,3 +25,5 @@ export declare function extractDashboardName(assets: unknown[]): Record<string,
|
|
|
25
25
|
export declare function extractDashboardFromChunk(chunk: Record<string, unknown>): DashboardStatePayload | null;
|
|
26
26
|
/** Collect dashboard name from whichever asset array the chunk exposes. */
|
|
27
27
|
export declare function extractDashboardNameFromChunk(chunk: Record<string, unknown>): Record<string, string> | undefined;
|
|
28
|
+
/** Reads custom-item drafts from top-level or terminal assistant-message assets. */
|
|
29
|
+
export declare function extractCustomItemFromChunk(chunk: Record<string, unknown>): AiPromptCustomItemInput['value'] | null;
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
*
|
|
33
33
|
* - **dashboard** — `dashboardAssetType: 'dashboard'`; emits layout/title/item steps.
|
|
34
34
|
* - **item** — `chartAssetType: 'item'`; final chart on `onComplete`.
|
|
35
|
+
* - **custom-item** — `customItemAssetType: 'custom-item'`; updated draft on `onComplete`.
|
|
35
36
|
* - **analyst** — text and progress only.
|
|
36
37
|
*
|
|
37
38
|
* ## Callbacks (`StreamHandlerCallbacks`)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
|
|
2
2
|
import type { ChatMessage } from '../../../types';
|
|
3
3
|
import type { AiChatCompleteEvent, AiChatStepEvent } from '../ai-chat-events';
|
|
4
|
-
import type { AiPromptAgent, DashboardStatePayload } from '../ai-prompt-types';
|
|
4
|
+
import type { AiPromptAgent, AiPromptCustomItemInput, DashboardStatePayload } from '../ai-prompt-types';
|
|
5
5
|
export interface StreamHandlerCallbacks {
|
|
6
6
|
onConversationIdChange: (conversationId: string) => void;
|
|
7
7
|
onProgress: (progress: ProgressTreeNode) => void;
|
|
@@ -32,6 +32,8 @@ export interface StreamHandlerState {
|
|
|
32
32
|
dashboardName: Record<string, string> | undefined;
|
|
33
33
|
/** Authoritative chart snapshot (item agent). */
|
|
34
34
|
chartSnapshot: Record<string, unknown> | null;
|
|
35
|
+
/** Authoritative custom item draft (custom-item agent). */
|
|
36
|
+
customItemSnapshot: AiPromptCustomItemInput['value'] | null;
|
|
35
37
|
/** Pending clarification question, when the agent interrupted. */
|
|
36
38
|
interruptQuestion: string | null;
|
|
37
39
|
/** Guards against firing {@link StreamHandlerCallbacks.onComplete} more than once. */
|
|
@@ -52,4 +54,6 @@ export interface AgentStreamDefinition {
|
|
|
52
54
|
chartAssetType?: string;
|
|
53
55
|
/** Final asset type whose payload becomes {@link AiChatCompleteEvent.dashboard}. */
|
|
54
56
|
dashboardAssetType?: string;
|
|
57
|
+
/** Final asset type whose payload becomes {@link AiChatCompleteEvent.customItem}. */
|
|
58
|
+
customItemAssetType?: string;
|
|
55
59
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { LuzmoChart } from '../../types';
|
|
2
|
+
import type { AiPromptCustomItemInput, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from './ai-prompt-types';
|
|
3
|
+
/** Configuration for one built-in agent. Omitted context preserves the same agent's context; null clears it. */
|
|
4
|
+
export type AiChatAgentConfig = {
|
|
5
|
+
type: 'item';
|
|
6
|
+
context?: {
|
|
7
|
+
chart?: LuzmoChart | null;
|
|
8
|
+
task?: AiPromptItemTask;
|
|
9
|
+
} | null;
|
|
10
|
+
} | {
|
|
11
|
+
type: 'dashboard';
|
|
12
|
+
context?: {
|
|
13
|
+
dashboard?: DashboardStatePayload | null;
|
|
14
|
+
currentScreenMode?: AiPromptScreenMode;
|
|
15
|
+
} | null;
|
|
16
|
+
} | {
|
|
17
|
+
type: 'custom-item';
|
|
18
|
+
context?: {
|
|
19
|
+
customItem?: AiPromptCustomItemInput['value'] | null;
|
|
20
|
+
} | null;
|
|
21
|
+
} | {
|
|
22
|
+
type: 'analyst';
|
|
23
|
+
context?: null;
|
|
24
|
+
};
|