@luzmo/analytics-components-kit 1.0.3 → 1.0.4-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ai-chat/ai-chat-events.d.ts +123 -0
- package/components/ai-chat/ai-chat-request.d.ts +11 -0
- package/components/ai-chat/ai-chat.d.ts +279 -0
- package/components/ai-chat/ai-prompt-types.d.ts +94 -0
- package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +46 -0
- package/components/ai-chat/empty-state/index.d.ts +8 -0
- package/components/ai-chat/empty-state/types.d.ts +14 -0
- package/components/ai-chat/index.cjs +20 -0
- package/components/ai-chat/index.d.ts +20 -0
- package/components/ai-chat/index.js +28 -0
- package/components/ai-chat/session/ai-chat-session-controller.d.ts +51 -0
- package/components/ai-chat/session/ai-chat-session-types.d.ts +88 -0
- package/components/ai-chat/session/ai-chat-session.d.ts +91 -0
- package/components/ai-chat/session/index.d.ts +2 -0
- package/components/ai-chat/stream/chunk-extractors.d.ts +27 -0
- package/components/ai-chat/stream/index.d.ts +52 -0
- package/components/ai-chat/stream/progress.d.ts +3 -0
- package/components/ai-chat/stream/registry.d.ts +6 -0
- package/components/ai-chat/stream/stream-processor.d.ts +2 -0
- package/components/ai-chat/stream/transport.d.ts +26 -0
- package/components/ai-chat/stream/types.d.ts +55 -0
- package/components/ai-chat-BMDfKnEj.cjs +258 -0
- package/components/ai-chat-Cd26aDpX.js +3718 -0
- package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +135 -0
- package/components/ai-interaction-textarea/index.cjs +20 -0
- package/components/ai-interaction-textarea/index.d.ts +8 -0
- package/components/ai-interaction-textarea/index.js +28 -0
- package/components/ai-interaction-textarea/types.d.ts +5 -0
- package/components/ai-interaction-textarea-CPfJqTB0.cjs +68 -0
- package/components/ai-interaction-textarea-DkBglh6Q.js +299 -0
- package/components/{area-chart-options.config-CU6FV2Zl.js → area-chart-options.config-4OY_kXkB.js} +1 -1
- package/components/{area-chart-positioning.config-DRyIQjFn.js → area-chart-positioning.config-CAPrtEZW.js} +1 -1
- package/components/{area-chart-positioning.config-Y_6E7SvI.cjs → area-chart-positioning.config-CfC43YUW.cjs} +1 -1
- package/components/{area-chart-slots.config-DPuSQAQa.js → area-chart-slots.config--pd_dBTn.js} +1 -1
- package/components/{bar-chart-options.config-NGKHlChC.js → bar-chart-options.config-C3puwFpi.js} +1 -1
- package/components/{bar-chart-positioning.config-qTk0gXbd.js → bar-chart-positioning.config-C1MLYyl9.js} +1 -1
- package/components/{bar-chart-positioning.config-DXS8KSTz.cjs → bar-chart-positioning.config-vJOALpQP.cjs} +1 -1
- package/components/{bar-chart-slots.config-C6CGWcGz.js → bar-chart-slots.config-Dr7v4xxd.js} +1 -1
- package/components/{base-DoCXVulO.js → base-B_wdCOxV.js} +3 -2
- package/components/base-kQ6cjcIZ.cjs +20 -0
- package/components/{box-plot-options.config-Bh9txvcB.js → box-plot-options.config-B486nCds.js} +1 -1
- package/components/{box-plot-positioning.config-yAg3VqZJ.js → box-plot-positioning.config-CA27sCpO.js} +1 -1
- package/components/{box-plot-positioning.config-NwxT5LtO.cjs → box-plot-positioning.config-DVNeh9kg.cjs} +1 -1
- package/components/{box-plot-slots.config-Bk8naosI.js → box-plot-slots.config-Bdb7pkky.js} +1 -1
- package/components/{bubble-chart-options.config-Djw_bUxZ.js → bubble-chart-options.config-BymUqNR5.js} +1 -1
- package/components/{bubble-chart-positioning.config-C_tWwbjm.cjs → bubble-chart-positioning.config-Dg92VJnB.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-B2fMLimr.js → bubble-chart-positioning.config-OlbBZU4m.js} +1 -1
- package/components/{bubble-chart-slots.config-DR7Uz54G.js → bubble-chart-slots.config-B4tsJDuz.js} +1 -1
- package/components/{bullet-chart-options.config-DGmdW4q4.js → bullet-chart-options.config-BtyRdRk2.js} +1 -1
- package/components/{bullet-chart-positioning.config-B94J7_4d.cjs → bullet-chart-positioning.config-BwqxpSSL.cjs} +1 -1
- package/components/{bullet-chart-positioning.config-DmP7TvxA.js → bullet-chart-positioning.config-Y18yvzoc.js} +1 -1
- package/components/{bullet-chart-slots.config-DbzsDrUl.js → bullet-chart-slots.config-ccCSNJ5q.js} +1 -1
- package/components/{choropleth-map-options.config-zZOpXVaM.js → choropleth-map-options.config-CqCciAvW.js} +1 -1
- package/components/{choropleth-map-positioning.config-9MmmbjBg.js → choropleth-map-positioning.config-Dmzy3fMc.js} +1 -1
- package/components/{choropleth-map-positioning.config-BzsmeLhM.cjs → choropleth-map-positioning.config-y-bYMoxr.cjs} +1 -1
- package/components/{choropleth-map-slots.config-CRdWjaCE.js → choropleth-map-slots.config-X2YYrSXc.js} +1 -1
- package/components/{circle-pack-chart-options.config-CopW_8_S.js → circle-pack-chart-options.config-D9C-ltHA.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-B_UwdpKt.js → circle-pack-chart-positioning.config-YDdY2cc2.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-DiNINE6m.cjs → circle-pack-chart-positioning.config-wKIQDFe8.cjs} +1 -1
- package/components/{circle-pack-chart-slots.config-BBCVJM7e.js → circle-pack-chart-slots.config-BIO1dZsK.js} +1 -1
- package/components/{circular-gauge-options.config-gtbMbogY.js → circular-gauge-options.config-De6SlTLT.js} +1 -1
- package/components/{circular-gauge-positioning.config-DVrt25rr.js → circular-gauge-positioning.config-C41euPS9.js} +1 -1
- package/components/{circular-gauge-positioning.config-CIsU-S4V.cjs → circular-gauge-positioning.config-CKNanoFX.cjs} +1 -1
- package/components/{circular-gauge-slots.config-DNnzoRev.js → circular-gauge-slots.config-Dv_7fAD_.js} +1 -1
- package/components/{column-chart-options.config-BKtKoP3J.js → column-chart-options.config-5Dbg3FmH.js} +1 -1
- package/components/{column-chart-positioning.config-COxTPiE_.js → column-chart-positioning.config-BdyuErF8.js} +1 -1
- package/components/{column-chart-positioning.config-C7uLfFA-.cjs → column-chart-positioning.config-Enx15Dqh.cjs} +1 -1
- package/components/{column-chart-slots.config-C6c-fKz2.js → column-chart-slots.config-eHvTwZLX.js} +1 -1
- package/components/{combination-chart-options.config-B1GjRnKL.js → combination-chart-options.config-BzmLGCal.js} +1 -1
- package/components/{combination-chart-positioning.config-DdWD2qhF.js → combination-chart-positioning.config-BQRn0EfF.js} +1 -1
- package/components/{combination-chart-positioning.config-B6W7EIix.cjs → combination-chart-positioning.config-CqlKA__j.cjs} +1 -1
- package/components/{combination-chart-slots.config-DNXQAw4U.js → combination-chart-slots.config-CG40JjE3.js} +1 -1
- package/components/{conditional-number-options.config-C3dodtlk.js → conditional-number-options.config-CVgV7s7f.js} +1 -1
- package/components/{conditional-number-positioning.config-7RAsw-TT.js → conditional-number-positioning.config-BBivi4ps.js} +1 -1
- package/components/{conditional-number-positioning.config-D5mpM8sp.cjs → conditional-number-positioning.config-CR45rPru.cjs} +1 -1
- package/components/{conditional-number-slots.config-BTpG1Uv3.js → conditional-number-slots.config-o22l-qLv.js} +1 -1
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +1 -1
- package/components/data-field-CAGprHjS.cjs +54 -0
- package/components/data-field-CLfUWgK9.js +121 -0
- package/components/data-field-level/data-field-level.d.ts +40 -0
- package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
- package/components/data-field-level/index.cjs +20 -0
- package/components/data-field-level/index.d.ts +8 -0
- package/components/data-field-level/index.js +28 -0
- package/components/data-field-level-7qi9K__S.cjs +55 -0
- package/components/{data-field-zG8ljDJR.js → data-field-level-CfJ0dmxo.js} +48 -141
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/data-field-panel-DUc8y4WA.cjs +87 -0
- package/components/{data-field-panel-DAkWBcEK.js → data-field-panel-N7mukLj6.js} +4 -3
- package/components/data-fields-select/data-fields-select.d.ts +127 -0
- package/components/data-fields-select/index.cjs +20 -0
- package/components/data-fields-select/index.d.ts +9 -0
- package/components/data-fields-select/index.js +28 -0
- package/components/data-fields-select/types.d.ts +4 -0
- package/components/{data-fields-select-DF6uZ8No.js → data-fields-select-B1pwPYt6.js} +2 -1
- package/components/data-fields-select-qCWuzckJ.cjs +41 -0
- package/components/dataset-icon/dataset-icon.d.ts +45 -0
- package/components/dataset-icon/index.cjs +20 -0
- package/components/dataset-icon/index.d.ts +8 -0
- package/components/dataset-icon/index.js +28 -0
- package/components/dataset-icon/types.d.ts +11 -0
- package/components/dataset-icon-BAV0S4sZ.cjs +64 -0
- package/components/dataset-icon-CWT5Ju8w.js +125 -0
- package/components/dataset-selector-list/dataset-selector-list.d.ts +102 -0
- package/components/dataset-selector-list/index.cjs +20 -0
- package/components/dataset-selector-list/index.d.ts +8 -0
- package/components/dataset-selector-list/index.js +28 -0
- package/components/dataset-selector-list-BPBZ04Lf.cjs +75 -0
- package/components/dataset-selector-list-DmajZuNC.js +313 -0
- package/components/dataset-selector-row/dataset-selector-row.d.ts +89 -0
- package/components/dataset-selector-row/index.cjs +20 -0
- package/components/dataset-selector-row/index.d.ts +8 -0
- package/components/dataset-selector-row/index.js +28 -0
- package/components/dataset-selector-row-SJzYIpO6.js +273 -0
- package/components/dataset-selector-row-qxfmcxpm.cjs +79 -0
- package/components/{date-comparison-filter-options.config-DANevgy_.js → date-comparison-filter-options.config-BJg_WqL4.js} +1 -1
- package/components/{date-comparison-filter-slots.config-WBp-r2dH.js → date-comparison-filter-slots.config-BIK5aZ6P.js} +1 -1
- package/components/{date-filter-options.config-BRI2SLGy.js → date-filter-options.config-N6eGgPGL.js} +1 -1
- package/components/{date-filter-slots.config-CWkGrxOt.js → date-filter-slots.config-CJJ4P0v6.js} +1 -1
- package/components/decompose-numeric-format-DGJua3rU.cjs +20 -0
- package/components/decompose-numeric-format-DS0j2wa1.js +36 -0
- package/components/decorate-DCJt-2rt.cjs +20 -0
- package/components/{localized-mixin-DoA4mVsP.js → decorate-DyMgX_Uh.js} +2 -26
- package/components/default-acceptable-data-field-types-DFOFWWnT.js +53 -0
- package/components/default-acceptable-data-field-types-fPsz64ka.cjs +20 -0
- package/components/display-settings/display-settings.d.ts +98 -0
- package/components/display-settings/index.cjs +20 -0
- package/components/display-settings/index.d.ts +8 -0
- package/components/display-settings/index.js +28 -0
- package/components/display-settings/types.d.ts +9 -0
- package/components/display-settings-CkkjJjem.js +272 -0
- package/components/display-settings-DnzOjr-1.cjs +120 -0
- package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
- package/components/display-settings-binning/index.cjs +20 -0
- package/components/display-settings-binning/index.d.ts +8 -0
- package/components/display-settings-binning/index.js +28 -0
- package/components/{display-settings-binning-Cm1rU9_g.js → display-settings-binning-BohjN2qK.js} +17 -19
- package/components/{display-settings-binning-D-p-PsFV.cjs → display-settings-binning-C7-gByrp.cjs} +2 -2
- package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
- package/components/display-settings-datetime/index.cjs +20 -0
- package/components/display-settings-datetime/index.d.ts +8 -0
- package/components/display-settings-datetime/index.js +28 -0
- package/components/{display-settings-datetime-BOdXtbJg.js → display-settings-datetime-7pUcku_h.js} +69 -71
- package/components/display-settings-datetime-DL0Qcz8Y.cjs +217 -0
- package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
- package/components/display-settings-grand-totals/index.cjs +20 -0
- package/components/display-settings-grand-totals/index.d.ts +8 -0
- package/components/display-settings-grand-totals/index.js +28 -0
- package/components/{display-settings-grand-totals-C1VhigDX.js → display-settings-grand-totals-CV5guBhH.js} +17 -19
- package/components/display-settings-grand-totals-DHQSZqMI.cjs +44 -0
- package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
- package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
- package/components/display-settings-numeric/index.cjs +20 -0
- package/components/display-settings-numeric/index.d.ts +8 -0
- package/components/display-settings-numeric/index.js +28 -0
- package/components/display-settings-numeric--5zk8_7K.cjs +190 -0
- package/components/{display-settings-numeric-CppfYXI6.js → display-settings-numeric-D2LjMepO.js} +79 -81
- package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +68 -0
- package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
- package/components/display-settings-period-over-period/index.cjs +20 -0
- package/components/display-settings-period-over-period/index.d.ts +8 -0
- package/components/display-settings-period-over-period/index.js +28 -0
- package/components/display-settings-period-over-period-BE22oHvV.cjs +229 -0
- package/components/{display-settings-period-over-period-D1IPvtak.js → display-settings-period-over-period-sqZU6Zj_.js} +83 -84
- package/components/{donut-chart-options.config-CvSa4vvo.js → donut-chart-options.config-C66yOoed.js} +1 -1
- package/components/{donut-chart-positioning.config-CA93p_1i.cjs → donut-chart-positioning.config-B9sm4yFV.cjs} +1 -1
- package/components/{donut-chart-positioning.config-6nbFr06e.js → donut-chart-positioning.config-DtaPAgXE.js} +1 -1
- package/components/{donut-chart-slots.config-Hzx_LiNh.js → donut-chart-slots.config-2XbT9Uu8.js} +1 -1
- package/components/{dropdown-filter-options.config-BBYNqiB8.js → dropdown-filter-options.config-Cm_wK0mn.js} +1 -1
- package/components/{dropdown-filter-slots.config-vJX4At6j.js → dropdown-filter-slots.config-CnESCGuw.js} +1 -1
- package/components/{en-US-PSeMMGzt.js → en-CcLhGxIh.js} +1 -1
- package/components/{en-GB-m6liqSlO.js → en-GB-DzkdeUQh.js} +1 -1
- package/components/en-GB-uxY5qmIM.cjs +20 -0
- package/components/{en-PSeMMGzt.js → en-US-CcLhGxIh.js} +1 -1
- package/components/{en-US-Cxu7QI9q.cjs → en-US-q_Ruzags.cjs} +1 -1
- package/components/{en-Cxu7QI9q.cjs → en-q_Ruzags.cjs} +1 -1
- package/components/{evolution-number-options.config-Cjj2PxvX.js → evolution-number-options.config-07Jd0oUL.js} +1 -1
- package/components/{evolution-number-positioning.config-B1YadWnr.cjs → evolution-number-positioning.config-DVXhBZYj.cjs} +1 -1
- package/components/{evolution-number-positioning.config-Ctl0F_-h.js → evolution-number-positioning.config-v8_6kB1H.js} +1 -1
- package/components/{evolution-number-slots.config-C820wN9Q.js → evolution-number-slots.config-BKdD3cKw.js} +1 -1
- package/components/filter-expression-picker/filter-expression-picker.d.ts +73 -0
- package/components/filter-expression-picker/index.cjs +20 -0
- package/components/filter-expression-picker/index.d.ts +7 -0
- package/components/filter-expression-picker/index.js +28 -0
- package/components/filter-expression-picker-CF4Otpll.cjs +38 -0
- package/components/filter-expression-picker-DCrCAIhg.js +425 -0
- package/components/filter-item/filter-item.d.ts +84 -0
- package/components/filter-item/index.cjs +20 -0
- package/components/filter-item/index.d.ts +7 -0
- package/components/filter-item/index.js +28 -0
- package/components/filter-item-CKg3oQlZ.cjs +58 -0
- package/components/filter-item-DtdK1jvx.js +242 -0
- package/components/filter-parameter-picker/filter-parameter-picker.d.ts +25 -0
- package/components/filter-parameter-picker/index.cjs +22 -0
- package/components/filter-parameter-picker/index.d.ts +7 -0
- package/components/filter-parameter-picker/index.js +58 -0
- package/components/filter-value-picker/filter-value-picker.d.ts +65 -0
- package/components/filter-value-picker/index.cjs +20 -0
- package/components/filter-value-picker/index.d.ts +7 -0
- package/components/filter-value-picker/index.js +28 -0
- package/components/filter-value-picker-B5fHoLAG.cjs +60 -0
- package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +42 -0
- package/components/filter-value-picker-datetime/index.cjs +20 -0
- package/components/filter-value-picker-datetime/index.d.ts +7 -0
- package/components/filter-value-picker-datetime/index.js +28 -0
- package/components/filter-value-picker-datetime-CFCV2jkK.js +139 -0
- package/components/filter-value-picker-datetime-D20WnWar.cjs +42 -0
- package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +81 -0
- package/components/filter-value-picker-hierarchy/index.cjs +20 -0
- package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
- package/components/filter-value-picker-hierarchy/index.js +28 -0
- package/components/filter-value-picker-hierarchy-CSM0RPvX.cjs +47 -0
- package/components/filter-value-picker-hierarchy-DEbN7h5L.js +232 -0
- package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +82 -0
- package/components/filter-value-picker-numeric/index.cjs +20 -0
- package/components/filter-value-picker-numeric/index.d.ts +7 -0
- package/components/filter-value-picker-numeric/index.js +28 -0
- package/components/filter-value-picker-numeric-BYspQRSi.js +219 -0
- package/components/filter-value-picker-numeric-BtZaQvkr.cjs +48 -0
- package/components/filter-value-picker-tyoO5ISM.js +151 -0
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.js +1 -1
- package/components/filters-C8fHs4_m.js +400 -0
- package/components/filters-sR8GxUGw.cjs +150 -0
- package/components/formatter-BeXmurVe.cjs +20 -0
- package/components/{slots-config-CA1x9W3U.js → formatter-Cq5dFCyU.js} +314 -392
- package/components/formula/formula.d.ts +66 -0
- package/components/formula/index.cjs +20 -0
- package/components/formula/index.d.ts +7 -0
- package/components/formula/index.js +28 -0
- package/components/formula-BPHH_GKB.cjs +45 -0
- package/components/formula-DYdcMG-v.js +138 -0
- package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
- package/components/formula-codemirror/index.d.ts +7 -0
- package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
- package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
- package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
- package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
- package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
- package/components/formula-codemirror-CFgPlkN8.cjs +215 -0
- package/components/{formula-codemirror-CxRJdjY0.js → formula-codemirror-CQonNhmd.js} +38 -34
- package/components/formula-display-store-BGzj13Cs.js +1086 -0
- package/components/formula-display-store-DFAvw21p.cjs +20 -0
- package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
- package/components/formula-draggable-field/index.d.ts +8 -0
- package/components/formula-draggable-field/types.d.ts +24 -0
- package/components/formula-editor/formula-aggregations-list.d.ts +21 -0
- package/components/formula-editor/formula-datasets-list.d.ts +37 -0
- package/components/formula-editor/formula-description.d.ts +17 -0
- package/components/formula-editor/formula-editor.d.ts +70 -0
- package/components/formula-editor/formula-functions-list.d.ts +28 -0
- package/components/formula-editor/index.cjs +20 -0
- package/components/formula-editor/index.d.ts +12 -0
- package/components/formula-editor/index.js +30 -0
- package/components/formula-editor-CtCvJkyS.cjs +218 -0
- package/components/formula-editor-KXxQlh2n.js +666 -0
- package/components/formula-field/formula-field.d.ts +20 -0
- package/components/formula-field/index.cjs +20 -0
- package/components/formula-field/index.d.ts +7 -0
- package/components/formula-field/index.js +28 -0
- package/components/formula-field-OcD4TWAn.js +40 -0
- package/components/formula-field-aiqX7nRp.cjs +20 -0
- package/components/formula-input-base-CGe2ABn6.cjs +49 -0
- package/components/formula-input-base-CQPGmISj.js +236 -0
- package/components/{funnel-chart-options.config-CkIVYUyD.js → funnel-chart-options.config-PV1Hlu91.js} +1 -1
- package/components/{funnel-chart-positioning.config-CWK690yC.js → funnel-chart-positioning.config-BT-YoTgv.js} +1 -1
- package/components/{funnel-chart-positioning.config-BIQQ-zpo.cjs → funnel-chart-positioning.config-C5Z3JkuS.cjs} +1 -1
- package/components/{funnel-chart-slots.config-Bbc6r1GZ.js → funnel-chart-slots.config-_9HUPvTb.js} +1 -1
- package/components/get-css-variable-CBXsAxR6.cjs +20 -0
- package/components/get-css-variable-DYnldi15.js +63 -0
- package/components/get-dataset-name-BGCvfcdY.js +27 -0
- package/components/get-dataset-name-EkeeFzI3.cjs +20 -0
- package/components/groupings-CrE-yp0S.js +52 -0
- package/components/groupings-dIFi0bJY.cjs +20 -0
- package/components/{heat-map-options.config-Bxj7M6kg.js → heat-map-options.config-CQY6t9AL.js} +1 -1
- package/components/{heat-map-positioning.config-BQpzkXu3.js → heat-map-positioning.config-BpFis567.js} +1 -1
- package/components/{heat-map-positioning.config-BDbBf5RD.cjs → heat-map-positioning.config-HPftgmdz.cjs} +1 -1
- package/components/{heat-map-slots.config-CIYZdLGb.js → heat-map-slots.config-B4AswVSo.js} +1 -1
- package/components/{heat-table-options.config-C_PDicoC.js → heat-table-options.config-IlVPk4Q4.js} +1 -1
- package/components/{heat-table-positioning.config-By__Tq90.js → heat-table-positioning.config-Canc3aEE.js} +1 -1
- package/components/{heat-table-positioning.config-DQKFXpJS.cjs → heat-table-positioning.config-wkrm8Fbk.cjs} +1 -1
- package/components/{heat-table-slots.config-fst7kAtH.js → heat-table-slots.config-CB509zU4.js} +1 -1
- package/components/{hexbin-map-options.config-DJZZZixE.js → hexbin-map-options.config-vzw6ovva.js} +1 -1
- package/components/{hexbin-map-positioning.config-X6OyNJIR.js → hexbin-map-positioning.config-CBv6Lij5.js} +1 -1
- package/components/{marker-map-positioning.config-I-HDmH_i.cjs → hexbin-map-positioning.config-D0hAchxV.cjs} +1 -1
- package/components/{hexbin-map-slots.config-3HLwV8OK.js → hexbin-map-slots.config-Dyse0pui.js} +1 -1
- package/components/icon-element-DpN-9yaN.cjs +20 -0
- package/components/icon-element-_jY440X2.js +85 -0
- package/components/{image-options.config-b1hHO_hu.js → image-options.config-Cmrsd8Yu.js} +1 -1
- package/components/{image-slots.config-C8cFYfbC.js → image-slots.config-CVj-DM07.js} +1 -1
- package/components/index.cjs +1 -719
- package/components/index.js +63 -6684
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +1 -1
- package/components/{item-grid-BON-D2gT.cjs → item-grid-BXZXJV3g.cjs} +50 -50
- package/components/{item-grid-D0dZeOjJ.js → item-grid-uWM-Unjx.js} +2 -1
- package/components/item-menu/item-list/item-list.d.ts +37 -0
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/item-option-CEwjJc1p.cjs +252 -0
- 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-S1d63U_p.js → item-option-action-button-group-BOxQFfBF.js} +2 -2
- package/components/item-option-action-button-group-DXCVJqpt.cjs +53 -0
- package/components/item-option-base/item-option-base.d.ts +23 -0
- package/components/item-option-base-DKieCS-Y.cjs +56 -0
- package/components/{item-option-base-xqDg3z0y.js → item-option-base-Dr5-WxZ9.js} +2 -2
- 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-7vSSpj5o.cjs +40 -0
- package/components/{item-option-color-palette-picker-Jpzlm0hc.js → item-option-color-palette-picker-D_mABGWh.js} +2 -2
- 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-CD6rbfp3.js → item-option-color-picker-COLBYeRy.js} +2 -2
- package/components/{item-option-color-picker-BxSV4n8r.cjs → item-option-color-picker-DMyNeD2e.cjs} +2 -2
- 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-BFr0B6Vf.cjs +98 -0
- package/components/{item-option-color-range-Ds8fbTLQ.js → item-option-color-range-CueVlyT2.js} +2 -2
- 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-CzKPujJ2.js → item-option-multi-language-field-CMuQwrwQ.js} +2 -2
- package/components/{item-option-multi-language-field-CwVNF00e.cjs → item-option-multi-language-field-q7txF5xA.cjs} +2 -2
- 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-CMEF1_zC.js → item-option-number-field-BODNSx66.js} +2 -2
- package/components/{item-option-number-field-D9SNipL9.cjs → item-option-number-field-DWeJWUxY.cjs} +2 -2
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/{item-option-panel-CFVzIar9.js → item-option-panel-CxOfVI0z.js} +3 -3
- package/components/{item-option-panel-rBiAYA96.cjs → item-option-panel-D0dxyUfE.cjs} +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-CoC6THh3.cjs → item-option-picker-BsP_0XyD.cjs} +2 -2
- package/components/{item-option-picker-kSepbJdX.js → item-option-picker-CyX7qqrb.js} +2 -2
- 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-CcmBYyqF.cjs +32 -0
- package/components/{item-option-position-picker-C4bdExi6.js → item-option-position-picker-LOg6P4Gl.js} +2 -2
- 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-Cv1tA_Pe.js → item-option-positions-number-field-BCbWb1R6.js} +2 -2
- package/components/item-option-positions-number-field-o3Qckgwd.cjs +49 -0
- 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-BRps0pHb.js → item-option-radio-button-group-CDebmEn3.js} +2 -2
- package/components/{item-option-radio-button-group-DK2WnKhT.cjs → item-option-radio-button-group-CjLhWTEJ.cjs} +2 -2
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/{item-option-slider-cD6cc904.js → item-option-slider-C9ZJZcdg.js} +2 -2
- package/components/{item-option-slider-14YSeg1F.cjs → item-option-slider-CHbkJHLK.cjs} +2 -2
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +1 -1
- package/components/{item-option-switch-uEeTC7ey.js → item-option-switch-BVMOOWya.js} +2 -2
- package/components/{item-option-switch-BvpDNO8q.cjs → item-option-switch-FRAZWozp.cjs} +2 -2
- 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-CUF0Gznj.cjs → item-option-text-field-DkYqHfdJ.cjs} +2 -2
- package/components/{item-option-text-field-Cveke3fQ.js → item-option-text-field-e6NLDlSq.js} +2 -2
- package/components/{item-option-Bpv16SRY.js → item-option-uyAsPcfE.js} +47 -47
- package/components/item-options-configs.js +45 -45
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +1 -1
- package/components/item-slot-drop-BUCjEfJf.cjs +91 -0
- package/components/{item-slot-drop--ZwfRc3_.js → item-slot-drop-CoReI68M.js} +13 -10
- 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-D_AGJhSF.js → item-slot-drop-panel-CEI1q060.js} +41 -40
- package/components/item-slot-drop-panel-DqekQtOr.cjs +57 -0
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +1 -1
- package/components/item-slot-picker-CvbXFh6Z.cjs +158 -0
- package/components/{item-slot-picker-Dd35AuI2.js → item-slot-picker-dy5hVID5.js} +18 -15
- 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-BUyp6Hbg.cjs +81 -0
- package/components/{item-slot-picker-panel-pGVeLd1V.js → item-slot-picker-panel-CG0NyMDX.js} +5 -4
- package/components/item-slots-configs.js +45 -45
- package/components/{line-chart-options.config-DSLb95qK.js → line-chart-options.config-1TpSJqeb.js} +1 -1
- package/components/{line-chart-positioning.config-CWGSlsV0.js → line-chart-positioning.config-61uNfPZs.js} +1 -1
- package/components/{line-chart-positioning.config-BH8RppgE.cjs → line-chart-positioning.config-BNtGFWUK.cjs} +1 -1
- package/components/{line-chart-slots.config-CdD8CtUI.js → line-chart-slots.config-CcCpwWzZ.js} +1 -1
- package/components/localized-mixin-CiBWThrZ.cjs +20 -0
- package/components/localized-mixin-EpweDrTk.js +45 -0
- package/components/{marker-map-options.config-D6X6sdKs.js → marker-map-options.config-DTaax79J.js} +1 -1
- package/components/{marker-map-positioning.config-DGi1AjpD.js → marker-map-positioning.config-Bi5WCVgJ.js} +1 -1
- package/components/{hexbin-map-positioning.config-DHPOyzsM.cjs → marker-map-positioning.config-C2cL7uZJ.cjs} +1 -1
- package/components/{marker-map-slots.config-BtyuwUXE.js → marker-map-slots.config-BOWmS_IZ.js} +1 -1
- package/components/{ohlc-chart-options.config-B02_nViT.js → ohlc-chart-options.config-Dfes8ROC.js} +1 -1
- package/components/{ohlc-chart-positioning.config-CLCmzNVQ.js → ohlc-chart-positioning.config-DFx99k9A.js} +1 -1
- package/components/{ohlc-chart-positioning.config-5iMpDBaN.cjs → ohlc-chart-positioning.config-IAOfu4ue.cjs} +1 -1
- package/components/{ohlc-chart-slots.config-C6aMcUyV.js → ohlc-chart-slots.config-JRztPEXL.js} +1 -1
- package/components/{parallel-coordinates-plot-options.config-B_lWq8Oc.js → parallel-coordinates-plot-options.config-NSk_HC0H.js} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-A5eBN75L.cjs → parallel-coordinates-plot-positioning.config-Bf0Leksw.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-4zWsg4Nw.js → parallel-coordinates-plot-positioning.config-C9TqUuGC.js} +1 -1
- package/components/{parallel-coordinates-plot-slots.config-CChPbNkv.js → parallel-coordinates-plot-slots.config-pmbO5DnL.js} +1 -1
- package/components/period-over-period-condition.const-BZ7j5Z5t.js +29 -0
- package/components/period-over-period-condition.const-C1NZ9Bkp.cjs +20 -0
- package/components/{pivot-table-options.config-smIfG1vv.js → pivot-table-options.config-B3wYlzEq.js} +1 -1
- package/components/{pivot-table-positioning.config-Dzb1GNTm.js → pivot-table-positioning.config-CPXqqtcR.js} +1 -1
- package/components/{pivot-table-positioning.config-x9el6e15.cjs → pivot-table-positioning.config-D1R3VO88.cjs} +1 -1
- package/components/{pivot-table-slots.config-BDDVAkYz.js → pivot-table-slots.config-DaLfGOP9.js} +1 -1
- package/components/{get-css-variable-DV0s58yn.js → pragmatic-element-adapter-D0LRKx5U.js} +1 -43
- package/components/{get-css-variable-EMi5nnn2.cjs → pragmatic-element-adapter-DdyH32ix.cjs} +1 -1
- package/components/{pyramid-chart-options.config-CAtBdIzA.js → pyramid-chart-options.config-DIyiyqGM.js} +1 -1
- package/components/{pyramid-chart-positioning.config-HDPD6TX8.cjs → pyramid-chart-positioning.config-BfXdJS8g.cjs} +1 -1
- package/components/{pyramid-chart-positioning.config-wbhfjqP_.js → pyramid-chart-positioning.config-JAUQpA0B.js} +1 -1
- package/components/{pyramid-chart-slots.config-aUwwVnl9.js → pyramid-chart-slots.config-DtnUlw5y.js} +1 -1
- package/components/{radar-chart-options.config-qlcD8CGC.js → radar-chart-options.config-UVOzUnVT.js} +1 -1
- package/components/{radar-chart-positioning.config-CXonxhGG.cjs → radar-chart-positioning.config-Bixdrod2.cjs} +1 -1
- package/components/{radar-chart-positioning.config-nWkEtlva.js → radar-chart-positioning.config-CdJSazt4.js} +1 -1
- package/components/{radar-chart-slots.config-XtL8uHg5.js → radar-chart-slots.config-CkLoeAV7.js} +1 -1
- package/components/{regular-table-options.config-Db12iH2p.js → regular-table-options.config-CBvnxTdd.js} +1 -1
- package/components/{regular-table-slots.config-Dx3-s6lB.js → regular-table-slots.config-Cc6hL7iu.js} +1 -1
- package/components/resolve-column-presentation-BaEP1mvs.js +34 -0
- package/components/resolve-column-presentation-DUETRVCH.cjs +20 -0
- package/components/{route-map-options.config-Dd3ZCqZP.js → route-map-options.config-DZrlGa5o.js} +1 -1
- package/components/{route-map-positioning.config-B9c2U0zN.cjs → route-map-positioning.config-7aca5Iex.cjs} +1 -1
- package/components/{route-map-positioning.config-CrDkKZOV.js → route-map-positioning.config-Bk_BndTS.js} +1 -1
- package/components/{route-map-slots.config-D22mi7Rb.js → route-map-slots.config-CQxB8gKC.js} +1 -1
- package/components/{sankey-diagram-options.config-Bn1ARzxI.js → sankey-diagram-options.config-s_QRVr1r.js} +1 -1
- package/components/{sankey-diagram-positioning.config-Dki0WC81.cjs → sankey-diagram-positioning.config-Bvus3RDi.cjs} +1 -1
- package/components/{sankey-diagram-positioning.config-DHu11GbV.js → sankey-diagram-positioning.config-DPgQELIu.js} +1 -1
- package/components/{sankey-diagram-slots.config-CGCeuScH.js → sankey-diagram-slots.config-C9tIfWHU.js} +1 -1
- package/components/{scatter-plot-options.config-DTz98owa.js → scatter-plot-options.config-DI4hlqi5.js} +1 -1
- package/components/{scatter-plot-positioning.config-NJLf-yu-.js → scatter-plot-positioning.config-D-ifHW9P.js} +1 -1
- package/components/{scatter-plot-positioning.config-CyUEHLu_.cjs → scatter-plot-positioning.config-DBDCDDad.cjs} +1 -1
- package/components/{scatter-plot-slots.config-Cx_QRgUG.js → scatter-plot-slots.config-CUURijrN.js} +1 -1
- package/components/{search-filter-options.config-DGLdzM_P.js → search-filter-options.config-CPzfgUWV.js} +1 -1
- package/components/{search-filter-slots.config-CDthI9k-.js → search-filter-slots.config-DD119qkk.js} +1 -1
- package/components/{slicer-filter-options.config-QCSqtuyO.js → slicer-filter-options.config-F2CZ8ckV.js} +1 -1
- package/components/{slicer-filter-positioning.config-BoyhFCY3.js → slicer-filter-positioning.config-0uGZ8EgN.js} +1 -1
- package/components/{slicer-filter-positioning.config-CYmIirxA.cjs → slicer-filter-positioning.config-Bx2_7jxp.cjs} +1 -1
- package/components/{slicer-filter-slots.config-D_SBoI4C.js → slicer-filter-slots.config-D-BhCuA9.js} +1 -1
- package/components/{slider-filter-options.config-CS2ItH5t.js → slider-filter-options.config-DO0HHK2l.js} +1 -1
- package/components/{slider-filter-slots.config-CG88ssfQ.js → slider-filter-slots.config-CGQG6JqK.js} +1 -1
- package/components/{en-GB-DAF4eew-.cjs → slot-menu/index.cjs} +1 -1
- package/components/slot-menu/index.d.ts +10 -0
- package/components/slot-menu/index.js +28 -0
- package/components/slot-menu/slot-menu.d.ts +143 -0
- package/components/slot-menu/types.d.ts +24 -0
- package/components/slot-menu-Cw5HJ_bk.js +404 -0
- package/components/slot-menu-DkyDLDSd.cjs +64 -0
- package/components/slot-menu-list/index.cjs +20 -0
- package/components/slot-menu-list/index.d.ts +8 -0
- package/components/slot-menu-list/index.js +28 -0
- package/components/slot-menu-list/slot-menu-list.d.ts +42 -0
- package/components/slot-menu-list-BZllvntQ.cjs +38 -0
- package/components/slot-menu-list-CTJ-owp1.js +326 -0
- package/components/slots-config-BuHluMEl.js +77 -0
- package/components/slots-config-DVH0lz6t.cjs +20 -0
- package/components/{speedometer-chart-options.config-C-BoHPnb.js → speedometer-chart-options.config-jK_yQjy2.js} +1 -1
- package/components/{speedometer-chart-positioning.config-B_GOu6LC.cjs → speedometer-chart-positioning.config-CNOKIw7e.cjs} +1 -1
- package/components/{speedometer-chart-positioning.config-BhPvu0D-.js → speedometer-chart-positioning.config-FzFxMi0X.js} +1 -1
- package/components/{speedometer-chart-slots.config-CqejfEfV.js → speedometer-chart-slots.config-CjkHAHNX.js} +1 -1
- package/components/{spike-map-options.config-DDHR8R04.js → spike-map-options.config-cj07bETE.js} +1 -1
- package/components/{spike-map-positioning.config-C8Sq420l.js → spike-map-positioning.config-B4NYfmEw.js} +1 -1
- package/components/{spike-map-positioning.config-uqHrpfnq.cjs → spike-map-positioning.config-Bcdt8670.cjs} +1 -1
- package/components/{spike-map-slots.config-DfvNwovo.js → spike-map-slots.config-yMkdy-0w.js} +1 -1
- package/components/{strip-plot-options.config-DwZ_uMmE.js → strip-plot-options.config-DmAxeY2S.js} +1 -1
- package/components/{strip-plot-positioning.config-BUe2VQLN.cjs → strip-plot-positioning.config-BjcqWJoD.cjs} +1 -1
- package/components/{strip-plot-positioning.config-CHAOLSTR.js → strip-plot-positioning.config-n9OIxpa_.js} +1 -1
- package/components/{strip-plot-slots.config-Bq5Qkdpi.js → strip-plot-slots.config-C07nIM5s.js} +1 -1
- package/components/{sunburst-chart-options.config-CmfOjhz4.js → sunburst-chart-options.config-CLyQG-8x.js} +1 -1
- package/components/{sunburst-chart-positioning.config-DDKFlKW3.cjs → sunburst-chart-positioning.config-BIpSCpSi.cjs} +1 -1
- package/components/{sunburst-chart-positioning.config-CsCLFckU.js → sunburst-chart-positioning.config-CcGOcwOK.js} +1 -1
- package/components/{sunburst-chart-slots.config-rNscb225.js → sunburst-chart-slots.config-BU9ma0xm.js} +1 -1
- package/components/{symbol-map-options.config-DC1tq8SG.js → symbol-map-options.config-I_gykFhh.js} +1 -1
- package/components/{symbol-map-positioning.config-BZq0UkGQ.cjs → symbol-map-positioning.config-DPv89eCY.cjs} +1 -1
- package/components/{symbol-map-positioning.config-BFHhRAAZ.js → symbol-map-positioning.config-H3n2ngaa.js} +1 -1
- package/components/{symbol-map-slots.config-Cj7_4U7H.js → symbol-map-slots.config-CQJgV5bh.js} +1 -1
- package/components/{text-options.config-Mqd1Oy73.js → text-options.config-DUMx63Ol.js} +1 -1
- package/components/{text-slots.config-CcjPSmDJ.js → text-slots.config-YmmXsb-0.js} +1 -1
- package/components/{treemap-chart-options.config-Cgy7LEyB.js → treemap-chart-options.config-CAWPa5jK.js} +1 -1
- package/components/{treemap-chart-positioning.config-2kIvfVAE.js → treemap-chart-positioning.config-Dzp4TodY.js} +1 -1
- package/components/{treemap-chart-positioning.config-CZCU1f19.cjs → treemap-chart-positioning.config-W2sl4gZ0.cjs} +1 -1
- package/components/{treemap-chart-slots.config-Cpapm2BY.js → treemap-chart-slots.config-QEVbKZyS.js} +1 -1
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/utils/store.js +1 -1
- package/components/{utils-qElG-Syn.cjs → utils-3XO8ba12.cjs} +1 -1
- package/components/{utils-BFZqe6Y0.js → utils-B6EE0gvH.js} +1 -1
- package/components/utils.cjs +1 -1
- package/components/utils.js +5 -3
- package/components/{venn-diagram-options.config-Cnu8elgc.js → venn-diagram-options.config-KKD89q3q.js} +1 -1
- package/components/{venn-diagram-positioning.config-CE4tTFiI.js → venn-diagram-positioning.config-BLSj3JqA.js} +1 -1
- package/components/{venn-diagram-positioning.config-oCiElw_6.cjs → venn-diagram-positioning.config-Bv3pFJIU.cjs} +1 -1
- package/components/{venn-diagram-slots.config-CN59FT-M.js → venn-diagram-slots.config-DsIqVOI2.js} +1 -1
- package/components/{video-options.config-6VlWxo6-.js → video-options.config-D2SEyNrP.js} +1 -1
- package/components/{video-slots.config-BVraFye8.js → video-slots.config-B680gLmP.js} +1 -1
- package/components/viz-item-menu/index.cjs +20 -0
- package/components/viz-item-menu/index.d.ts +8 -0
- package/components/viz-item-menu/index.js +28 -0
- package/components/viz-item-menu/types.d.ts +9 -0
- package/components/viz-item-menu/viz-item-menu.d.ts +75 -0
- package/components/viz-item-menu-CiEJJddu.js +170 -0
- package/components/viz-item-menu-Dry8xpRA.cjs +55 -0
- package/components/{wordcloud-chart-options.config-CVl6-lm0.js → wordcloud-chart-options.config-DLN2RAEK.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-BA0jo1KG.js → wordcloud-chart-positioning.config-DVPWXJXb.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-CioSulMl.cjs → wordcloud-chart-positioning.config-ZTO2VLdY.cjs} +1 -1
- package/components/{wordcloud-chart-slots.config-D2fzZcjk.js → wordcloud-chart-slots.config-mFvqkiQE.js} +1 -1
- package/custom-elements.json +16508 -4907
- package/index.d.ts +25 -0
- package/package.json +131 -1
- package/react/README.md +32 -6
- package/react/components/ai-chat/empty-state/index.ts +1 -0
- package/react/components/ai-chat/empty-state/types.ts +16 -0
- package/react/components/ai-chat/stream/index.ts +1 -0
- package/react/components/ai-chat/stream/types.ts +60 -0
- package/react/components/ai-chat.component.ts +42 -0
- package/react/components/ai-interaction-textarea/index.ts +1 -0
- package/react/components/ai-interaction-textarea/types.ts +6 -0
- package/react/components/ai-interaction-textarea.component.ts +30 -0
- package/react/components/data-field-level.component.ts +30 -0
- package/react/components/data-fields-select/index.ts +1 -0
- package/react/components/data-fields-select/types.ts +5 -0
- package/react/components/data-fields-select.component.ts +27 -0
- package/react/components/dataset-icon/index.ts +1 -0
- package/react/components/dataset-icon/types.ts +8 -0
- package/react/components/dataset-icon.component.ts +22 -0
- package/react/components/dataset-selector-list.component.ts +27 -0
- package/react/components/dataset-selector-row.component.ts +30 -0
- package/react/components/display-settings/index.ts +1 -0
- package/react/components/display-settings/types.ts +12 -0
- package/react/components/display-settings-binning.component.ts +27 -0
- package/react/components/display-settings-datetime.component.ts +27 -0
- package/react/components/display-settings-grand-totals.component.ts +27 -0
- package/react/components/display-settings-numeric.component.ts +27 -0
- package/react/components/display-settings-period-over-period.component.ts +27 -0
- package/react/components/display-settings.component.ts +33 -0
- package/react/components/filter-expression-picker.component.ts +27 -0
- package/react/components/filter-item.component.ts +27 -0
- package/react/components/filter-parameter-picker.component.ts +22 -0
- package/react/components/filter-value-picker-datetime.component.ts +27 -0
- package/react/components/filter-value-picker-hierarchy.component.ts +27 -0
- package/react/components/filter-value-picker-numeric.component.ts +27 -0
- package/react/components/filter-value-picker.component.ts +27 -0
- package/react/components/formula-draggable-field/index.ts +1 -0
- package/react/components/formula-draggable-field/types.ts +26 -0
- package/react/components/formula-editor.component.ts +33 -0
- package/react/components/formula-field.component.ts +30 -0
- package/react/components/formula.component.ts +30 -0
- package/react/components/slot-menu/index.ts +1 -0
- package/react/components/slot-menu/types.ts +29 -0
- package/react/components/slot-menu-list.component.ts +27 -0
- package/react/components/slot-menu.component.ts +42 -0
- package/react/components/viz-item-menu/index.ts +1 -0
- package/react/components/viz-item-menu/types.ts +11 -0
- package/react/components/viz-item-menu.component.ts +33 -0
- package/react/esm/components/ai-chat/empty-state/index.d.ts +1 -0
- package/react/esm/components/ai-chat/empty-state/index.js +1 -0
- package/react/esm/components/ai-chat/empty-state/types.d.ts +14 -0
- package/react/esm/components/ai-chat/empty-state/types.js +1 -0
- package/react/esm/components/ai-chat/stream/index.d.ts +1 -0
- package/react/esm/components/ai-chat/stream/index.js +1 -0
- package/react/esm/components/ai-chat/stream/types.d.ts +55 -0
- package/react/esm/components/ai-chat/stream/types.js +1 -0
- package/react/esm/components/ai-chat.component.d.ts +22 -0
- package/react/esm/components/ai-chat.component.js +27 -0
- package/react/esm/components/ai-interaction-textarea/index.d.ts +1 -0
- package/react/esm/components/ai-interaction-textarea/index.js +1 -0
- package/react/esm/components/ai-interaction-textarea/types.d.ts +5 -0
- package/react/esm/components/ai-interaction-textarea/types.js +1 -0
- package/react/esm/components/ai-interaction-textarea.component.d.ts +14 -0
- package/react/esm/components/ai-interaction-textarea.component.js +19 -0
- package/react/esm/components/data-field-level.component.d.ts +14 -0
- package/react/esm/components/data-field-level.component.js +19 -0
- package/react/esm/components/data-fields-select/index.d.ts +1 -0
- package/react/esm/components/data-fields-select/index.js +1 -0
- package/react/esm/components/data-fields-select/types.d.ts +4 -0
- package/react/esm/components/data-fields-select/types.js +1 -0
- package/react/esm/components/data-fields-select.component.d.ts +12 -0
- package/react/esm/components/data-fields-select.component.js +17 -0
- package/react/esm/components/dataset-icon/index.d.ts +1 -0
- package/react/esm/components/dataset-icon/index.js +1 -0
- package/react/esm/components/dataset-icon/types.d.ts +11 -0
- package/react/esm/components/dataset-icon/types.js +1 -0
- package/react/esm/components/dataset-icon.component.d.ts +8 -0
- package/react/esm/components/dataset-icon.component.js +13 -0
- package/react/esm/components/dataset-selector-list.component.d.ts +12 -0
- package/react/esm/components/dataset-selector-list.component.js +17 -0
- package/react/esm/components/dataset-selector-row.component.d.ts +14 -0
- package/react/esm/components/dataset-selector-row.component.js +19 -0
- package/react/esm/components/display-settings/index.d.ts +1 -0
- package/react/esm/components/display-settings/index.js +1 -0
- package/react/esm/components/display-settings/types.d.ts +9 -0
- package/react/esm/components/display-settings/types.js +1 -0
- package/react/esm/components/display-settings-binning.component.d.ts +12 -0
- package/react/esm/components/display-settings-binning.component.js +17 -0
- package/react/esm/components/display-settings-datetime.component.d.ts +12 -0
- package/react/esm/components/display-settings-datetime.component.js +17 -0
- package/react/esm/components/display-settings-grand-totals.component.d.ts +12 -0
- package/react/esm/components/display-settings-grand-totals.component.js +17 -0
- package/react/esm/components/display-settings-numeric.component.d.ts +12 -0
- package/react/esm/components/display-settings-numeric.component.js +17 -0
- package/react/esm/components/display-settings-period-over-period.component.d.ts +12 -0
- package/react/esm/components/display-settings-period-over-period.component.js +17 -0
- package/react/esm/components/display-settings.component.d.ts +16 -0
- package/react/esm/components/display-settings.component.js +21 -0
- package/react/esm/components/filter-expression-picker.component.d.ts +12 -0
- package/react/esm/components/filter-expression-picker.component.js +17 -0
- package/react/esm/components/filter-item.component.d.ts +12 -0
- package/react/esm/components/filter-item.component.js +17 -0
- package/react/esm/components/filter-parameter-picker.component.d.ts +8 -0
- package/react/esm/components/filter-parameter-picker.component.js +13 -0
- package/react/esm/components/filter-value-picker-datetime.component.d.ts +12 -0
- package/react/esm/components/filter-value-picker-datetime.component.js +17 -0
- package/react/esm/components/filter-value-picker-hierarchy.component.d.ts +12 -0
- package/react/esm/components/filter-value-picker-hierarchy.component.js +17 -0
- package/react/esm/components/filter-value-picker-numeric.component.d.ts +12 -0
- package/react/esm/components/filter-value-picker-numeric.component.js +17 -0
- package/react/esm/components/filter-value-picker.component.d.ts +12 -0
- package/react/esm/components/filter-value-picker.component.js +17 -0
- package/react/esm/components/formula-draggable-field/index.d.ts +1 -0
- package/react/esm/components/formula-draggable-field/index.js +1 -0
- package/react/esm/components/formula-draggable-field/types.d.ts +24 -0
- package/react/esm/components/formula-draggable-field/types.js +1 -0
- package/react/esm/components/formula-editor.component.d.ts +16 -0
- package/react/esm/components/formula-editor.component.js +21 -0
- package/react/esm/components/formula-field.component.d.ts +14 -0
- package/react/esm/components/formula-field.component.js +19 -0
- package/react/esm/components/formula.component.d.ts +14 -0
- package/react/esm/components/formula.component.js +19 -0
- package/react/esm/components/slot-menu/index.d.ts +1 -0
- package/react/esm/components/slot-menu/index.js +1 -0
- package/react/esm/components/slot-menu/types.d.ts +24 -0
- package/react/esm/components/slot-menu/types.js +1 -0
- package/react/esm/components/slot-menu-list.component.d.ts +12 -0
- package/react/esm/components/slot-menu-list.component.js +17 -0
- package/react/esm/components/slot-menu.component.d.ts +22 -0
- package/react/esm/components/slot-menu.component.js +27 -0
- package/react/esm/components/viz-item-menu/index.d.ts +1 -0
- package/react/esm/components/viz-item-menu/index.js +1 -0
- package/react/esm/components/viz-item-menu/types.d.ts +9 -0
- package/react/esm/components/viz-item-menu/types.js +1 -0
- package/react/esm/components/viz-item-menu.component.d.ts +16 -0
- package/react/esm/components/viz-item-menu.component.js +21 -0
- package/react/esm/index.d.ts +28 -2
- package/react/esm/index.js +106 -2
- package/react/esm/types.d.ts +15 -0
- package/react/index.ts +106 -2
- package/react/luzmo-stub.d.ts +167 -0
- package/react/types.ts +12 -0
- package/storybook/inject-global-vars.d.ts +1 -0
- package/storybook/register-components.d.ts +51 -0
- package/types/ai-chat.types.d.ts +63 -0
- package/types/data-field-events.types.d.ts +7 -0
- package/types.d.ts +8 -0
- package/components/base-DALdSJnS.cjs +0 -20
- package/components/data-field-Da9-w0dV.cjs +0 -89
- package/components/data-field-panel-DiQyyB58.cjs +0 -87
- package/components/data-fields-select-eTLgAsP7.cjs +0 -41
- package/components/display-settings-datetime-Ce9pfoSc.cjs +0 -217
- package/components/display-settings-grand-totals-BS1MwDRW.cjs +0 -44
- package/components/display-settings-numeric-DkzMeIJ0.cjs +0 -190
- package/components/display-settings-period-over-period-Cra_Q5UR.cjs +0 -229
- package/components/filters-BlhodZNo.cjs +0 -323
- package/components/filters-C3OYCMyw.js +0 -1637
- package/components/formula-codemirror-oGmbSSst.cjs +0 -215
- package/components/icon-element-BBvOmuv7.js +0 -214
- package/components/icon-element-Cp7X6o4B.cjs +0 -20
- package/components/item-option-DQY1ywF7.cjs +0 -252
- package/components/item-option-action-button-group-BWvqcvi4.cjs +0 -53
- package/components/item-option-base-DmC_wT_2.cjs +0 -56
- package/components/item-option-color-palette-picker-D5S3orJU.cjs +0 -40
- package/components/item-option-color-range-DtGhcSPp.cjs +0 -98
- package/components/item-option-position-picker-B4feLDm1.cjs +0 -32
- package/components/item-option-positions-number-field-CRo2MkLX.cjs +0 -49
- package/components/item-slot-drop-DJhrCthK.cjs +0 -91
- package/components/item-slot-drop-panel-CMn3gtpB.cjs +0 -57
- package/components/item-slot-picker-panel-CxJeJTSe.cjs +0 -81
- package/components/item-slot-picker-wzfaXWHe.cjs +0 -158
- package/components/localized-mixin-WdJ00iIC.cjs +0 -20
- package/components/slot-menu-BJ1l9wes.cjs +0 -182
- package/components/slot-menu-ZNG92h35.js +0 -971
- package/components/slots-config-97A9OVQR.cjs +0 -20
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ChatMessage, Dataset } from '../../../types';
|
|
2
|
+
import { type AiChatSession } from './ai-chat-session';
|
|
3
|
+
import type { AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionState } from './ai-chat-session-types';
|
|
4
|
+
export type AiChatSessionSeed = {
|
|
5
|
+
messages: ChatMessage[];
|
|
6
|
+
selectedDatasets: Dataset[];
|
|
7
|
+
conversationId: string | null;
|
|
8
|
+
};
|
|
9
|
+
export type AiChatSessionControllerOptions = {
|
|
10
|
+
getConfig: () => AiChatSessionConfig;
|
|
11
|
+
getSeed: () => AiChatSessionSeed;
|
|
12
|
+
createDomBridge: () => AiChatSessionCallbacks;
|
|
13
|
+
onRenderNeeded: () => void;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Single {@link AiChatSession} slot for `luzmo-ai-chat`.
|
|
17
|
+
* The chat component uses {@link current}, {@link state}, and {@link requireSession} only.
|
|
18
|
+
*/
|
|
19
|
+
export declare class AiChatSessionController {
|
|
20
|
+
private readonly options;
|
|
21
|
+
/** The active {@link AiChatSession}. Null until first bind or action. */
|
|
22
|
+
private _session;
|
|
23
|
+
/** When true, {@link teardown} aborts and clears the session. */
|
|
24
|
+
private _ownsSession;
|
|
25
|
+
/** Whether the session has been seeded from props. Used to avoid unnecessary updates. */
|
|
26
|
+
private _seededFromProps;
|
|
27
|
+
private _unsubscribe;
|
|
28
|
+
constructor(options: AiChatSessionControllerOptions);
|
|
29
|
+
get current(): AiChatSession | null;
|
|
30
|
+
get state(): Readonly<AiChatSessionState>;
|
|
31
|
+
get ownsCurrentSession(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Use an app-provided session (e.g. from `.chatSession`).
|
|
34
|
+
* Pass `null` to clear it; an owned session may be created later via {@link requireSession}.
|
|
35
|
+
*/
|
|
36
|
+
setSession(session: AiChatSession | null): void;
|
|
37
|
+
/**
|
|
38
|
+
* Sync config / seed props after Lit `updated`.
|
|
39
|
+
* Call after handling `chatSession` via {@link setSession}.
|
|
40
|
+
*/
|
|
41
|
+
syncProperties(changedProperties: Map<string, unknown>): void;
|
|
42
|
+
requireSession(): AiChatSession;
|
|
43
|
+
/** Re-attach UI bridge and state subscription after {@link teardown} on reconnect. */
|
|
44
|
+
connect(): void;
|
|
45
|
+
teardown(): void;
|
|
46
|
+
private _createSessionIfMissing;
|
|
47
|
+
private _clearSession;
|
|
48
|
+
private _seedFromPropsOnce;
|
|
49
|
+
private _wire;
|
|
50
|
+
private _unwire;
|
|
51
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
|
|
2
|
+
import type { AiSampleChart, ChatMessage, Dataset, LuzmoChart } from '../../../types';
|
|
3
|
+
import type { AiChatCompleteEvent, AiChatStepEvent } from '../ai-chat-events';
|
|
4
|
+
import type { AiPromptAgent, AiPromptCreateBody, AiPromptDeleteBody, AiPromptItemTask, AiPromptScreenMode, BuildAiPromptRequestContext, DashboardStatePayload, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail } from '../ai-prompt-types';
|
|
5
|
+
import type { StreamingRequestOptions, StreamingResponse } from '../stream/transport';
|
|
6
|
+
export interface AiChatSessionConfig {
|
|
7
|
+
agent: AiPromptAgent;
|
|
8
|
+
authKey: string;
|
|
9
|
+
authToken: string;
|
|
10
|
+
apiUrl?: string;
|
|
11
|
+
apiVersion?: string;
|
|
12
|
+
stream?: boolean;
|
|
13
|
+
conversationId?: string | null;
|
|
14
|
+
chart?: LuzmoChart | null;
|
|
15
|
+
dashboard?: DashboardStatePayload | null;
|
|
16
|
+
currentScreenMode?: AiPromptScreenMode;
|
|
17
|
+
localeId?: string;
|
|
18
|
+
timezoneId?: string;
|
|
19
|
+
task?: AiPromptItemTask;
|
|
20
|
+
modelPreference?: 'performance' | 'quality';
|
|
21
|
+
/** Initial transcript when hydrating a saved conversation. */
|
|
22
|
+
messages?: ChatMessage[];
|
|
23
|
+
/** Datasets attached to the prompt input. */
|
|
24
|
+
selectedDatasets?: Dataset[];
|
|
25
|
+
/** When true, {@link AiChatSession.submit} requires at least one selected dataset. */
|
|
26
|
+
requireDataset?: boolean;
|
|
27
|
+
/** Initial loading flag (e.g. Storybook or restored UI state). */
|
|
28
|
+
isGenerating?: boolean;
|
|
29
|
+
/** Initial progress tree. */
|
|
30
|
+
progress?: ProgressTreeNode | null;
|
|
31
|
+
/** Initial progress collapsed flag. */
|
|
32
|
+
progressCollapsed?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Custom streaming HTTP client. Defaults to the built-in {@link fetchStreamingResponse}.
|
|
35
|
+
* Use for proxies, mocks, or alternate auth transport while keeping session state handling.
|
|
36
|
+
*/
|
|
37
|
+
fetchStreaming?: (options: StreamingRequestOptions) => Promise<StreamingResponse>;
|
|
38
|
+
}
|
|
39
|
+
export interface AiChatSessionState {
|
|
40
|
+
messages: ChatMessage[];
|
|
41
|
+
selectedDatasets: Dataset[];
|
|
42
|
+
isGenerating: boolean;
|
|
43
|
+
progress: ProgressTreeNode | null;
|
|
44
|
+
progressCollapsed: boolean;
|
|
45
|
+
conversationId: string | null;
|
|
46
|
+
/** In-flight assistant message (streaming). Also present in `messages` while streaming. */
|
|
47
|
+
inflightMessage: ChatMessage | null;
|
|
48
|
+
}
|
|
49
|
+
export interface AiChatSessionCallbacks {
|
|
50
|
+
onStateChange?: (state: AiChatSessionState) => void;
|
|
51
|
+
onConversationIdChange?: (conversationId: string) => void;
|
|
52
|
+
/** Fired for every incremental, kit-assembled event during a streamed response. */
|
|
53
|
+
onStep?: (event: AiChatStepEvent) => void;
|
|
54
|
+
/** Fired exactly once per response with the authoritative final result (or error). */
|
|
55
|
+
onComplete?: (event: AiChatCompleteEvent) => void;
|
|
56
|
+
onMessageSent?: (message: ChatMessage, selectedDatasets: Dataset[]) => void;
|
|
57
|
+
onDatasetsChanged?: (selectedDatasets: Dataset[]) => void;
|
|
58
|
+
/**
|
|
59
|
+
* Host-owned submit: session updates transcript and loading state, then invokes this
|
|
60
|
+
* with the same payload shape as the former `luzmo-prompt-submitted` event plus an abort signal. No built-in fetch.
|
|
61
|
+
*/
|
|
62
|
+
onPromptSubmitted?: (detail: LuzmoPromptSubmittedEventDetail) => void | Promise<void>;
|
|
63
|
+
/** Host-owned cleanup hook invoked for user-initiated prompt stops. */
|
|
64
|
+
onPromptStopped?: () => void | Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Host-owned restore (item agent): session invokes this with delete request + URL; no built-in fetch.
|
|
67
|
+
*/
|
|
68
|
+
onRestoreRequested?: (detail: LuzmoRestoreRequestedEventDetail) => void | Promise<void>;
|
|
69
|
+
}
|
|
70
|
+
export interface AiChatSessionSubmitParams {
|
|
71
|
+
prompt: string;
|
|
72
|
+
/** Defaults to ids from {@link AiChatSessionState.selectedDatasets}. */
|
|
73
|
+
datasetIds?: string[];
|
|
74
|
+
/** Optional stable id for the in-flight AI message. */
|
|
75
|
+
aiMessageId?: string;
|
|
76
|
+
/** When true, does not append a user message (e.g. `initial-prompt` already in the transcript). */
|
|
77
|
+
skipUserMessage?: boolean;
|
|
78
|
+
}
|
|
79
|
+
export interface AiChatSessionRestoreParams {
|
|
80
|
+
restoreToMessageId: string;
|
|
81
|
+
messageIndex: number;
|
|
82
|
+
}
|
|
83
|
+
export type AiChatSessionBuildContext = Omit<BuildAiPromptRequestContext, 'prompt' | 'datasetIds'>;
|
|
84
|
+
export interface AiChatSessionRestoreResult {
|
|
85
|
+
chart?: AiSampleChart;
|
|
86
|
+
message?: string;
|
|
87
|
+
}
|
|
88
|
+
export type { AiPromptCreateBody, AiPromptDeleteBody, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { Dataset } from '../../../types';
|
|
2
|
+
import type { AiPromptCreateBody, AiPromptDeleteBody, LuzmoPromptSubmittedEventDetail } from '../ai-prompt-types';
|
|
3
|
+
import type { AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionState, AiChatSessionSubmitParams } from './ai-chat-session-types';
|
|
4
|
+
/**
|
|
5
|
+
* Headless chat controller: transcript, datasets, streaming, and API calls without a DOM host.
|
|
6
|
+
* Use with `luzmo-ai-chat` via `.chatSession` for the same simplicity as internal mode,
|
|
7
|
+
* while keeping the session alive when the panel unmounts.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const session = createAiChatSession(
|
|
12
|
+
* { agent: 'dashboard', authKey, authToken, dashboard, currentScreenMode },
|
|
13
|
+
* {
|
|
14
|
+
* onComplete: (e) => {
|
|
15
|
+
* if (e.dashboard) applyToEditor(e.dashboard, e.name);
|
|
16
|
+
* },
|
|
17
|
+
* onStateChange: (s) => persistConversation(s.messages),
|
|
18
|
+
* }
|
|
19
|
+
* );
|
|
20
|
+
*
|
|
21
|
+
* html`<luzmo-ai-chat .chatSession=${session}></luzmo-ai-chat>`;
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare class AiChatSession {
|
|
25
|
+
private _config;
|
|
26
|
+
/** Callbacks passed to {@link createAiChatSession} (host application). */
|
|
27
|
+
private _hostCallbacks;
|
|
28
|
+
/** Optional bridge from `luzmo-ai-chat` (DOM events). Replaced on each bind, not chained. */
|
|
29
|
+
private _uiBridgeCallbacks;
|
|
30
|
+
private readonly _subscribers;
|
|
31
|
+
private _state;
|
|
32
|
+
private _abortController;
|
|
33
|
+
private _inflightMessage;
|
|
34
|
+
private _receivedProgress;
|
|
35
|
+
constructor(config: AiChatSessionConfig, callbacks?: AiChatSessionCallbacks);
|
|
36
|
+
get state(): Readonly<AiChatSessionState>;
|
|
37
|
+
get isGenerating(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Subscribe to full session state (for `luzmo-ai-chat` rendering). Returns an unsubscribe function.
|
|
40
|
+
* The listener is invoked immediately with the current state.
|
|
41
|
+
*/
|
|
42
|
+
subscribe(listener: (state: AiChatSessionState) => void): () => void;
|
|
43
|
+
/**
|
|
44
|
+
* Wire `luzmo-ai-chat` DOM event bridging. Safe to call again when hot-swapping the same
|
|
45
|
+
* session back onto the component — replaces the previous bridge instead of stacking it.
|
|
46
|
+
*/
|
|
47
|
+
setUiBridge(bridge: AiChatSessionCallbacks): void;
|
|
48
|
+
/** Merge config (chart, conversationId, agent, …) without aborting an in-flight request. */
|
|
49
|
+
updateConfig(partial: Partial<AiChatSessionConfig>): void;
|
|
50
|
+
/** Replace the full dataset selection (e.g. when the dashboard context changes). */
|
|
51
|
+
setSelectedDatasets(datasets: Dataset[]): void;
|
|
52
|
+
addDataset(dataset: Dataset): void;
|
|
53
|
+
removeDataset(datasetId: string): void;
|
|
54
|
+
isDatasetRequirementMet(): boolean;
|
|
55
|
+
getAiPromptUrl(): string;
|
|
56
|
+
buildRequestBody(prompt: string, datasetIds: string[]): AiPromptCreateBody;
|
|
57
|
+
/** Same payload passed to {@link AiChatSessionCallbacks.onPromptSubmitted}. */
|
|
58
|
+
buildPromptSubmittedDetail(prompt: string, selectedDatasets: Dataset[], datasetIds: string[], signal?: AbortSignal): LuzmoPromptSubmittedEventDetail;
|
|
59
|
+
/**
|
|
60
|
+
* Append the user prompt (unless `skipUserMessage`), start streaming, and update {@link state}.
|
|
61
|
+
*/
|
|
62
|
+
submit(params: AiChatSessionSubmitParams): Promise<void>;
|
|
63
|
+
/** Item agent only — restore conversation to a prior API message. */
|
|
64
|
+
restore(params: AiChatSessionRestoreParams): Promise<AiChatSessionRestoreResult>;
|
|
65
|
+
buildRestoreRequest(restoreToMessageId: string): AiPromptDeleteBody;
|
|
66
|
+
/**
|
|
67
|
+
* Cancel the in-flight prompt.
|
|
68
|
+
* User-initiated stops (`notify`) leave a "response cancelled" placeholder where the assistant
|
|
69
|
+
* reply would have been; internal aborts discard any partial assistant output.
|
|
70
|
+
*/
|
|
71
|
+
abort(options?: {
|
|
72
|
+
notify?: boolean;
|
|
73
|
+
cancelledMessage?: string;
|
|
74
|
+
}): void;
|
|
75
|
+
private _abortInflight;
|
|
76
|
+
private _createStreamCallbacks;
|
|
77
|
+
private _setConversationId;
|
|
78
|
+
private _upsertMessage;
|
|
79
|
+
private _finalizeInflightMessage;
|
|
80
|
+
private _removeInflightFromMessages;
|
|
81
|
+
private _markInflightCancelled;
|
|
82
|
+
private _discardInflightMessage;
|
|
83
|
+
private _handleSubmitError;
|
|
84
|
+
private _hasCallback;
|
|
85
|
+
private _emit;
|
|
86
|
+
private _invokeCallback;
|
|
87
|
+
private _patchState;
|
|
88
|
+
private _areSelectedDatasetsEqual;
|
|
89
|
+
private _areChatMessagesEqual;
|
|
90
|
+
}
|
|
91
|
+
export declare function createAiChatSession(config: AiChatSessionConfig, callbacks?: AiChatSessionCallbacks): AiChatSession;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure field extractors for raw stream chunks.
|
|
3
|
+
*
|
|
4
|
+
* These read assistant text, chart, dashboard, and conversation-id values out of
|
|
5
|
+
* the various shapes a chunk can take (inline fields, `aiMessageAssets`, or a
|
|
6
|
+
* nested `result.assistant_message`). They are side-effect free, except
|
|
7
|
+
* `applyConversationId`, which forwards the id through a callback.
|
|
8
|
+
*/
|
|
9
|
+
import type { DashboardStatePayload } from '../ai-prompt-types';
|
|
10
|
+
import type { StreamHandlerContext } from './types';
|
|
11
|
+
export declare function extractInlineStreamText(chunk: Record<string, unknown>): string;
|
|
12
|
+
export declare function extractStreamText(chunk: Record<string, unknown>): string;
|
|
13
|
+
/**
|
|
14
|
+
* Authoritative assistant text from a terminal chunk's `result.assistant_message`.
|
|
15
|
+
*
|
|
16
|
+
* Unlike {@link extractStreamText}, this never falls back to inline delta fields, so
|
|
17
|
+
* it is safe to use when finalizing the message: it yields the full answer to *set*
|
|
18
|
+
* (not append), avoiding duplication when the same text was already streamed as deltas.
|
|
19
|
+
*/
|
|
20
|
+
export declare function extractResultAssistantText(chunk: Record<string, unknown>): string;
|
|
21
|
+
export declare function isStreamDone(chunk: Record<string, unknown>): boolean;
|
|
22
|
+
export declare function applyConversationId(chunk: Record<string, unknown>, ctx: StreamHandlerContext): void;
|
|
23
|
+
export declare function extractChartFromChunk(chunk: Record<string, unknown>): Record<string, unknown> | null;
|
|
24
|
+
export declare function extractDashboardName(assets: unknown[]): Record<string, string> | undefined;
|
|
25
|
+
export declare function extractDashboardFromChunk(chunk: Record<string, unknown>): DashboardStatePayload | null;
|
|
26
|
+
/** Collect dashboard name from whichever asset array the chunk exposes. */
|
|
27
|
+
export declare function extractDashboardNameFromChunk(chunk: Record<string, unknown>): Record<string, string> | undefined;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI chat streaming — public barrel for the stream pipeline.
|
|
3
|
+
*
|
|
4
|
+
* Orchestrated by `ai-chat-session.ts` when a prompt is submitted. The pipeline
|
|
5
|
+
* has three layers: transport (HTTP + line parsing), processing (chunk → state +
|
|
6
|
+
* events), and shared helpers (field extraction).
|
|
7
|
+
*
|
|
8
|
+
* ## End-to-end flow
|
|
9
|
+
*
|
|
10
|
+
* ```
|
|
11
|
+
* submit prompt
|
|
12
|
+
* → createInitialProgress() // "Thinking" progress tree in the UI
|
|
13
|
+
* → fetchStreamingResponse() // POST to aiprompt API (or custom fetchStreaming)
|
|
14
|
+
* → readNdjsonStream(body, onChunk) // decode NDJSON / SSE lines into JSON objects
|
|
15
|
+
* → createStreamHandler(agent) // bound processStreamChunk per agent
|
|
16
|
+
* → processStreamChunk() // map chunk → callbacks (onStep, onComplete, …)
|
|
17
|
+
* → session applies callbacks // updates messages, progress, chart/dashboard
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* ## Modules
|
|
21
|
+
*
|
|
22
|
+
* | File | Responsibility |
|
|
23
|
+
* | -------------------- | ----------------------------------------------------------- |
|
|
24
|
+
* | `transport` | HTTP fetch + NDJSON/SSE line parsing |
|
|
25
|
+
* | `progress` | Initial progress tree + progress-chunk detection |
|
|
26
|
+
* | `registry` | Agent wiring: `createStreamHandler`, initial stream state |
|
|
27
|
+
* | `stream-processor` | Chunk routing, asset buffering, step/complete event emission |
|
|
28
|
+
* | `chunk-extractors` | Chunk field extraction (text, chart, dashboard, conversation) |
|
|
29
|
+
* | `types` | `StreamHandlerContext`, callbacks, per-chunk state |
|
|
30
|
+
*
|
|
31
|
+
* ## Agent mapping (`registry.ts`)
|
|
32
|
+
*
|
|
33
|
+
* - **dashboard** — `dashboardAssetType: 'dashboard'`; emits layout/title/item steps.
|
|
34
|
+
* - **item** — `chartAssetType: 'item'`; final chart on `onComplete`.
|
|
35
|
+
* - **analyst** — text and progress only.
|
|
36
|
+
*
|
|
37
|
+
* ## Callbacks (`StreamHandlerCallbacks`)
|
|
38
|
+
*
|
|
39
|
+
* Each chunk drives incremental UI via `onStep` (typed stream events), `onProgress`,
|
|
40
|
+
* `onMessageUpdate`, and `onProgressCollapsed`. The stream ends with a single
|
|
41
|
+
* `onComplete` carrying the final message and optional chart/dashboard payload.
|
|
42
|
+
*
|
|
43
|
+
* See `stream-processor.ts` for the full chunk-handler priority order and mapping table.
|
|
44
|
+
*/
|
|
45
|
+
export type { StreamingRequestOptions, StreamingResponse } from './transport';
|
|
46
|
+
export { fetchStreamingResponse, parseStreamLine, readNdjsonStream } from './transport';
|
|
47
|
+
export { createInitialProgress, hasProgressChunk } from './progress';
|
|
48
|
+
export type { StreamChunkProcessor } from './registry';
|
|
49
|
+
export { createInitialStreamState, createStreamHandler, getAgentStreamDefinition } from './registry';
|
|
50
|
+
export type { AgentStreamDefinition, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState } from './types';
|
|
51
|
+
export { applyConversationId, extractChartFromChunk, extractDashboardFromChunk, extractDashboardName, extractDashboardNameFromChunk, extractInlineStreamText, extractResultAssistantText, extractStreamText, isStreamDone } from './chunk-extractors';
|
|
52
|
+
export { processStreamChunk } from './stream-processor';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AiPromptAgent } from '../ai-prompt-types';
|
|
2
|
+
import type { AgentStreamDefinition, StreamHandlerContext } from './types';
|
|
3
|
+
export type StreamChunkProcessor = (chunk: Record<string, unknown>, ctx: StreamHandlerContext) => void;
|
|
4
|
+
export declare function getAgentStreamDefinition(agent: AiPromptAgent): AgentStreamDefinition;
|
|
5
|
+
export declare function createStreamHandler(agent: AiPromptAgent): StreamChunkProcessor;
|
|
6
|
+
export declare function createInitialStreamState(): StreamHandlerContext['state'];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport layer for AI chat streaming.
|
|
3
|
+
*
|
|
4
|
+
* Owns the HTTP request to the aiprompt API and the wire-format decoding of the
|
|
5
|
+
* response body. Knows nothing about chunk semantics — it produces raw JSON
|
|
6
|
+
* objects that `stream-processor.ts` interprets.
|
|
7
|
+
*
|
|
8
|
+
* Supports both plain NDJSON (`{"type":"progress",...}`) and SSE (`data: {...}`).
|
|
9
|
+
*/
|
|
10
|
+
export interface StreamingRequestOptions {
|
|
11
|
+
url: string;
|
|
12
|
+
body: Record<string, unknown>;
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}
|
|
15
|
+
export interface StreamingResponse {
|
|
16
|
+
body: ReadableStream<Uint8Array>;
|
|
17
|
+
conversationId: string | null;
|
|
18
|
+
}
|
|
19
|
+
export declare function fetchStreamingResponse(options: StreamingRequestOptions): Promise<StreamingResponse>;
|
|
20
|
+
/**
|
|
21
|
+
* Parse one line from an aiprompt response stream.
|
|
22
|
+
* Supports plain NDJSON (`{"type":"progress",...}`) and SSE (`data: {...}`).
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseStreamLine(line: string): Record<string, unknown> | null;
|
|
25
|
+
/** Read NDJSON or SSE (`data:`) chunks from a streaming aiprompt response body. */
|
|
26
|
+
export declare function readNdjsonStream(body: ReadableStream<Uint8Array>, onChunk: (chunk: Record<string, unknown>) => void): Promise<void>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
|
|
2
|
+
import type { ChatMessage } from '../../../types';
|
|
3
|
+
import type { AiChatCompleteEvent, AiChatStepEvent } from '../ai-chat-events';
|
|
4
|
+
import type { AiPromptAgent, DashboardStatePayload } from '../ai-prompt-types';
|
|
5
|
+
export interface StreamHandlerCallbacks {
|
|
6
|
+
onConversationIdChange: (conversationId: string) => void;
|
|
7
|
+
onProgress: (progress: ProgressTreeNode) => void;
|
|
8
|
+
onProgressCollapsed: (collapsed: boolean) => void;
|
|
9
|
+
onMessageUpdate: (message: ChatMessage) => void;
|
|
10
|
+
getConversationId: () => string | null;
|
|
11
|
+
/** Fired for every incremental, assembled stream event. */
|
|
12
|
+
onStep: (event: AiChatStepEvent) => void;
|
|
13
|
+
/** Fired exactly once with the authoritative final result (or error). */
|
|
14
|
+
onComplete: (event: AiChatCompleteEvent) => void;
|
|
15
|
+
}
|
|
16
|
+
/** Per-asset accumulation buffer for the ASSET_START/DELTA/END channel. */
|
|
17
|
+
export interface StreamAssetBuffer {
|
|
18
|
+
assetType: string;
|
|
19
|
+
snapshot: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
export interface StreamHandlerState {
|
|
22
|
+
progressCollapsed: boolean;
|
|
23
|
+
/** Accumulated assistant text streamed so far. */
|
|
24
|
+
accumulatedText: string;
|
|
25
|
+
/** Latest classifier decision routed from the progress root node. */
|
|
26
|
+
decision: 'create' | 'edit' | 'question' | null;
|
|
27
|
+
/** In-flight asset buffers keyed by asset id (or asset type as fallback). */
|
|
28
|
+
assets: Record<string, StreamAssetBuffer>;
|
|
29
|
+
/** Authoritative dashboard snapshot (dashboard agent). */
|
|
30
|
+
dashboardSnapshot: DashboardStatePayload | null;
|
|
31
|
+
/** Dashboard name keyed by locale (dashboard agent). */
|
|
32
|
+
dashboardName: Record<string, string> | undefined;
|
|
33
|
+
/** Authoritative chart snapshot (item agent). */
|
|
34
|
+
chartSnapshot: Record<string, unknown> | null;
|
|
35
|
+
/** Pending clarification question, when the agent interrupted. */
|
|
36
|
+
interruptQuestion: string | null;
|
|
37
|
+
/** Guards against firing {@link StreamHandlerCallbacks.onComplete} more than once. */
|
|
38
|
+
completed: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface StreamHandlerContext {
|
|
41
|
+
aiMessage: ChatMessage;
|
|
42
|
+
callbacks: StreamHandlerCallbacks;
|
|
43
|
+
state: StreamHandlerState;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Per-agent stream definition. The shared processor owns the envelope/emit logic;
|
|
47
|
+
* the agent only declares which final `asset_type`s map to its authoritative result.
|
|
48
|
+
*/
|
|
49
|
+
export interface AgentStreamDefinition {
|
|
50
|
+
agent: AiPromptAgent;
|
|
51
|
+
/** Final asset type whose payload becomes {@link AiChatCompleteEvent.chart}. */
|
|
52
|
+
chartAssetType?: string;
|
|
53
|
+
/** Final asset type whose payload becomes {@link AiChatCompleteEvent.dashboard}. */
|
|
54
|
+
dashboardAssetType?: string;
|
|
55
|
+
}
|