drizzle-cube 0.8.3 → 0.9.0
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/dist/adapters/ActivityGridChart.config-DfyZh3He.js +2 -0
- package/dist/adapters/ActivityGridChart.config-DgOwl51m.cjs +1 -0
- package/dist/adapters/AreaChart.config-BL_ZpMsg.js +2 -0
- package/dist/adapters/AreaChart.config-rc1phjmI.cjs +1 -0
- package/dist/adapters/BarChart.config-C6k4BxhM.cjs +1 -0
- package/dist/adapters/BarChart.config-CBACR7Z-.js +2 -0
- package/dist/adapters/BoxPlotChart.config-Bvg6yFn2.js +2 -0
- package/dist/adapters/BoxPlotChart.config-CAlLRM0v.cjs +1 -0
- package/dist/adapters/BubbleChart.config-22qXNskY.js +2 -0
- package/dist/adapters/BubbleChart.config-BkB3P6Bi.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-DuZb-y6d.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-G78UbuwS.js +2 -0
- package/dist/adapters/DataTable.config-BXkpzOC2.js +2 -0
- package/dist/adapters/DataTable.config-CwPlSht6.cjs +1 -0
- package/dist/adapters/DotStripChart.config-Bw9Ww5zY.cjs +1 -0
- package/dist/adapters/DotStripChart.config-D5sbLAqA.js +2 -0
- package/dist/adapters/FunnelChart.config-CUs1rqN2.cjs +1 -0
- package/dist/adapters/FunnelChart.config-Cw9qrC2C.js +2 -0
- package/dist/adapters/GaugeChart.config-CjGtJVoO.cjs +1 -0
- package/dist/adapters/GaugeChart.config-F5SA5Oi3.js +2 -0
- package/dist/adapters/HeatMapChart.config-CvgmSiuY.cjs +1 -0
- package/dist/adapters/HeatMapChart.config-DrvQrPHT.js +2 -0
- package/dist/adapters/KpiDelta.config-B-UJWdJ5.cjs +1 -0
- package/dist/adapters/KpiDelta.config-C00mTZYy.js +2 -0
- package/dist/adapters/KpiNumber.config-CB0kTeoV.cjs +1 -0
- package/dist/adapters/KpiNumber.config-D3CogH8j.js +2 -0
- package/dist/adapters/KpiText.config-B0LbKRCf.js +2 -0
- package/dist/adapters/KpiText.config-Dv4TNprC.cjs +1 -0
- package/dist/adapters/LineChart.config-CdONxSLL.js +2 -0
- package/dist/adapters/LineChart.config-DBHsfIYG.cjs +1 -0
- package/dist/adapters/MarkdownChart.config-AYKXdpuw.cjs +1 -0
- package/dist/adapters/MarkdownChart.config-CngxD_Lc.js +2 -0
- package/dist/adapters/MeasureProfileChart.config-B0a5sUk6.cjs +1 -0
- package/dist/adapters/MeasureProfileChart.config-ByW5F1Ey.js +2 -0
- package/dist/adapters/PieChart.config-Csx1ctk4.js +2 -0
- package/dist/adapters/PieChart.config-Dfw66Xab.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-BaeYznc1.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-DCOizSVs.js +2 -0
- package/dist/adapters/RadarChart.config-AxQh97rB.js +2 -0
- package/dist/adapters/RadarChart.config-BjP-zEGW.cjs +1 -0
- package/dist/adapters/RadialBarChart.config-D5EwyJ0G.cjs +1 -0
- package/dist/adapters/RadialBarChart.config-DMaEJYM_.js +2 -0
- package/dist/adapters/RecordsTable.config-BdN0kZ8b.js +2 -0
- package/dist/adapters/RecordsTable.config-CWRvGDbi.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-BpciOTeX.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-CY8TDzuy.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-BZPRoVpF.cjs +1 -0
- package/dist/adapters/RetentionHeatmap.config-YMZt-u-T.js +2 -0
- package/dist/adapters/SankeyChart.config-BdSA-Jlp.cjs +1 -0
- package/dist/adapters/SankeyChart.config-Dlgi5_DA.js +2 -0
- package/dist/adapters/ScatterChart.config-VJ0xG0Ak.cjs +1 -0
- package/dist/adapters/ScatterChart.config-oOd1Jplx.js +2 -0
- package/dist/adapters/SunburstChart.config-Cllhyjy4.js +2 -0
- package/dist/adapters/SunburstChart.config-DU11BAei.cjs +1 -0
- package/dist/adapters/TreeMapChart.config--EB8bQTo.js +2 -0
- package/dist/adapters/TreeMapChart.config-BPmMLBH1.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-E99Fl6uM.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-xz3DaoMQ.js +2 -0
- package/dist/adapters/{anthropic-DG4r1LSm.cjs → anthropic-CqLkud62.cjs} +1 -1
- package/dist/adapters/{anthropic-CZh4hB-m.js → anthropic-MQlafOZv.js} +3 -0
- package/dist/adapters/compiler-BdVMQ3Xj.cjs +166 -0
- package/dist/adapters/{compiler-BFLAXV7W.js → compiler-SBDjxyQ3.js} +1231 -1231
- package/dist/adapters/core/index.cjs +1 -1
- package/dist/adapters/core/index.js +1 -1
- package/dist/adapters/{core-DnUv8WiY.cjs → core-CSt8MGbw.cjs} +1 -1
- package/dist/adapters/{core-BBtbwMwR.js → core-CXrxqh7l.js} +2 -2
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +5 -5
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/fastify/index.js +23 -23
- package/dist/{server/google-PsZzwedr.cjs → adapters/google-6pofxIfm.cjs} +1 -1
- package/dist/{server/google-DRY7jnOh.js → adapters/google-BBBP1Dhs.js} +3 -0
- package/dist/adapters/{handler-_xh4X1OO.js → handler-Cppe-aqH.js} +569 -374
- package/dist/adapters/handler-_u5krbOj.cjs +26 -0
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +4 -4
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +2 -2
- package/dist/adapters/mcp-transport-CpF7usmR.js +754 -0
- package/dist/adapters/mcp-transport-DXIfb0p-.cjs +42 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +5 -5
- package/dist/adapters/{openai-DK_KWiI7.js → openai-62sEF0Ev.js} +10 -4
- package/dist/adapters/{openai-BJyU4kvE.js → openai-BIoIunc7.js} +2 -2
- package/dist/adapters/openai-CaxNY6TC.cjs +1 -0
- package/dist/adapters/{openai-GO3M7Hwi.cjs → openai-EBTQKJnV.cjs} +2 -2
- package/dist/adapters/{utils-BhlkVCzZ.js → utils-C_RKaP0n.js} +2 -1
- package/dist/adapters/utils-DXWQUJbD.cjs +128 -0
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.js +2 -2
- package/dist/cjs/client/components/AgenticNotebook/chatMessageParts.d.ts +0 -2
- package/dist/cjs/client/components/markdownOverrides.d.ts +202 -0
- package/dist/cjs/client/hooks/agentChatStream.d.ts +3 -2
- package/dist/cjs/client/hooks/useAgentChat.d.ts +1 -0
- package/dist/cjs/server/agent/agent-prompts.d.ts +14 -0
- package/dist/cjs/server/agent/chart-validation.d.ts +14 -0
- package/dist/cjs/server/agent/data-shape.d.ts +41 -0
- package/dist/cjs/server/agent/providers/anthropic.d.ts +1 -0
- package/dist/cjs/server/agent/providers/google.d.ts +1 -0
- package/dist/cjs/server/agent/providers/openai.d.ts +1 -0
- package/dist/cjs/server/agent/providers/types.d.ts +13 -0
- package/dist/cjs/server/agent/tools.d.ts +18 -4
- package/dist/cjs/server/agent/types.d.ts +5 -1
- package/dist/cjs/server/ai/chart-schema.d.ts +37 -0
- package/dist/client/charts.js +12 -12
- package/dist/client/chunks/{DashboardEditModal-B-0eV6vd.js → DashboardEditModal-DjMGNTUa.js} +12 -12
- package/dist/client/chunks/{DashboardEditModal-B-0eV6vd.js.map → DashboardEditModal-DjMGNTUa.js.map} +1 -1
- package/dist/client/chunks/{DotStripChart-ChwsVeRU.js → DotStripChart-EEtJyV1v.js} +3 -3
- package/dist/client/chunks/{DotStripChart-ChwsVeRU.js.map → DotStripChart-EEtJyV1v.js.map} +1 -1
- package/dist/client/chunks/{ProportionBarChart-D-Qt9nkF.js → ProportionBarChart-3r7ZPX-V.js} +3 -3
- package/dist/client/chunks/{ProportionBarChart-D-Qt9nkF.js.map → ProportionBarChart-3r7ZPX-V.js.map} +1 -1
- package/dist/client/chunks/{RecordsTable-aG-QYXOH.js → RecordsTable-DvMXV6F6.js} +4 -4
- package/dist/client/chunks/{RecordsTable-aG-QYXOH.js.map → RecordsTable-DvMXV6F6.js.map} +1 -1
- package/dist/client/chunks/{RetentionCombinedChart-BRZ9w7ah.js → RetentionCombinedChart-DbxB86fj.js} +3 -3
- package/dist/client/chunks/{RetentionCombinedChart-BRZ9w7ah.js.map → RetentionCombinedChart-DbxB86fj.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-LkTt89pK.js → RetentionHeatmap-CE3rxhAU.js} +2 -2
- package/dist/client/chunks/{RetentionHeatmap-LkTt89pK.js.map → RetentionHeatmap-CE3rxhAU.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-DnDw164v.js → analysis-builder-lQk_qJBQ.js} +9 -9
- package/dist/client/chunks/{analysis-builder-DnDw164v.js.map → analysis-builder-lQk_qJBQ.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-shared-D7eA0iW7.js → analysis-builder-shared-C_pLSXJR.js} +9 -9
- package/dist/client/chunks/{analysis-builder-shared-D7eA0iW7.js.map → analysis-builder-shared-C_pLSXJR.js.map} +1 -1
- package/dist/client/chunks/{chart-activity-grid-CJzxC18G.js → chart-activity-grid-UZIp9_2E.js} +3 -2
- package/dist/client/chunks/chart-activity-grid-UZIp9_2E.js.map +1 -0
- package/dist/client/chunks/{chart-area-C66dgy84.js → chart-area-CEBcvCcn.js} +2 -2
- package/dist/client/chunks/{chart-area-C66dgy84.js.map → chart-area-CEBcvCcn.js.map} +1 -1
- package/dist/client/chunks/{chart-bar-D9kiSOCT.js → chart-bar-DGh7cpU-.js} +3 -3
- package/dist/client/chunks/{chart-bar-D9kiSOCT.js.map → chart-bar-DGh7cpU-.js.map} +1 -1
- package/dist/client/chunks/{chart-box-plot-FsLIMisc.js → chart-box-plot-CeqoKPFa.js} +2 -2
- package/dist/client/chunks/{chart-box-plot-FsLIMisc.js.map → chart-box-plot-CeqoKPFa.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-BzyvrqKs.js → chart-bubble-8uH_JKNt.js} +2 -2
- package/dist/client/chunks/{chart-bubble-BzyvrqKs.js.map → chart-bubble-8uH_JKNt.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-6lD35bLw.js → chart-candlestick-DogklMg1.js} +2 -2
- package/dist/client/chunks/{chart-candlestick-6lD35bLw.js.map → chart-candlestick-DogklMg1.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-Cou9qOab.js → chart-data-table-CCvvgeG_.js} +2 -2
- package/dist/client/chunks/{chart-data-table-Cou9qOab.js.map → chart-data-table-CCvvgeG_.js.map} +1 -1
- package/dist/client/chunks/{chart-funnel-B0775aaT.js → chart-funnel-D2vGQhaz.js} +2 -2
- package/dist/client/chunks/{chart-funnel-B0775aaT.js.map → chart-funnel-D2vGQhaz.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-pf-2E8w9.js → chart-gauge-DbU0rxqv.js} +3 -3
- package/dist/client/chunks/{chart-gauge-pf-2E8w9.js.map → chart-gauge-DbU0rxqv.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-EzVGe6fl.js → chart-heat-map-x6aQq91x.js} +3 -3
- package/dist/client/chunks/{chart-heat-map-EzVGe6fl.js.map → chart-heat-map-x6aQq91x.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-lfskDdx4.js → chart-kpi-delta-B2-m16QC.js} +3 -3
- package/dist/client/chunks/{chart-kpi-delta-lfskDdx4.js.map → chart-kpi-delta-B2-m16QC.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-BnsofbTf.js → chart-kpi-number-DggvlYT_.js} +5 -5
- package/dist/client/chunks/{chart-kpi-number-BnsofbTf.js.map → chart-kpi-number-DggvlYT_.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-U5EdmdkV.js → chart-kpi-text-BFy-m1NP.js} +3 -3
- package/dist/client/chunks/{chart-kpi-text-U5EdmdkV.js.map → chart-kpi-text-BFy-m1NP.js.map} +1 -1
- package/dist/client/chunks/{chart-line-IwXqPY80.js → chart-line-C4r44HWi.js} +3 -3
- package/dist/client/chunks/{chart-line-IwXqPY80.js.map → chart-line-C4r44HWi.js.map} +1 -1
- package/dist/client/chunks/{chart-markdown-BhLRzK_W.js → chart-markdown-b0qPZ617.js} +2 -2
- package/dist/client/chunks/{chart-markdown-BhLRzK_W.js.map → chart-markdown-b0qPZ617.js.map} +1 -1
- package/dist/client/chunks/{chart-measure-profile-Bs4vhBJQ.js → chart-measure-profile-Dc-d82kF.js} +3 -3
- package/dist/client/chunks/{chart-measure-profile-Bs4vhBJQ.js.map → chart-measure-profile-Dc-d82kF.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-LDJfDXfX.js → chart-pie-BHrPxga2.js} +3 -3
- package/dist/client/chunks/{chart-pie-LDJfDXfX.js.map → chart-pie-BHrPxga2.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-BZY6TP9m.js → chart-radar-I9sOFbG5.js} +3 -3
- package/dist/client/chunks/{chart-radar-BZY6TP9m.js.map → chart-radar-I9sOFbG5.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-aga05X7h.js → chart-radial-bar-DeDMMf9P.js} +3 -3
- package/dist/client/chunks/{chart-radial-bar-aga05X7h.js.map → chart-radial-bar-DeDMMf9P.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-MRCoWFd4.js → chart-sankey-1qB7yWHq.js} +2 -2
- package/dist/client/chunks/{chart-sankey-MRCoWFd4.js.map → chart-sankey-1qB7yWHq.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-DP-nn9hH.js → chart-scatter-BHttSxcc.js} +3 -3
- package/dist/client/chunks/{chart-scatter-DP-nn9hH.js.map → chart-scatter-BHttSxcc.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-DE4EX7zi.js → chart-sunburst-Cmzol8kR.js} +3 -3
- package/dist/client/chunks/{chart-sunburst-DE4EX7zi.js.map → chart-sunburst-Cmzol8kR.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-C3O6uQcP.js → chart-tree-map-CdSwr_zI.js} +3 -3
- package/dist/client/chunks/{chart-tree-map-C3O6uQcP.js.map → chart-tree-map-CdSwr_zI.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-DU2Fg_7P.js → chart-waterfall-BN3B5luW.js} +3 -3
- package/dist/client/chunks/{chart-waterfall-DU2Fg_7P.js.map → chart-waterfall-BN3B5luW.js.map} +1 -1
- package/dist/client/chunks/{charts-core-DnirPG1F.js → charts-core-DIneMirc.js} +2 -2
- package/dist/client/chunks/{charts-core-DnirPG1F.js.map → charts-core-DIneMirc.js.map} +1 -1
- package/dist/client/chunks/charts-loader-OHpTBq8c.js +87 -0
- package/dist/client/chunks/{charts-loader-D_yEsIpH.js.map → charts-loader-OHpTBq8c.js.map} +1 -1
- package/dist/client/chunks/{nl-NL-B9VnaVAm.js → nl-NL-dk-kC0sL.js} +2 -1
- package/dist/client/chunks/nl-NL-dk-kC0sL.js.map +1 -0
- package/dist/client/chunks/{schema-visualization-o1zzuMQy.js → schema-visualization-PYa578pV.js} +3 -3
- package/dist/client/chunks/{schema-visualization-o1zzuMQy.js.map → schema-visualization-PYa578pV.js.map} +1 -1
- package/dist/client/chunks/{useDirtyStateTracking-DTYbmRBn.js → useDirtyStateTracking-BQupC3wJ.js} +4 -4
- package/dist/client/chunks/{useDirtyStateTracking-DTYbmRBn.js.map → useDirtyStateTracking-BQupC3wJ.js.map} +1 -1
- package/dist/client/chunks/{useExplainAI-MuC9jBn-.js → useExplainAI-DORnTynt.js} +4 -4
- package/dist/client/chunks/{useExplainAI-MuC9jBn-.js.map → useExplainAI-DORnTynt.js.map} +1 -1
- package/dist/client/chunks/{vendor-XQT9APIq.js → vendor-DDo8nSGP.js} +2 -2
- package/dist/client/chunks/{vendor-XQT9APIq.js.map → vendor-DDo8nSGP.js.map} +1 -1
- package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +0 -2
- package/dist/client/components/markdownOverrides.d.ts +202 -0
- package/dist/client/components.js +1 -1
- package/dist/client/hooks/agentChatStream.d.ts +3 -2
- package/dist/client/hooks/useAgentChat.d.ts +1 -0
- package/dist/client/hooks.js +3 -3
- package/dist/client/icons.js +1 -1
- package/dist/client/index.js +474 -471
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers.js +1 -1
- package/dist/client/schema.js +1 -1
- package/dist/client/styles.css +1 -1
- package/dist/client/utils.js +4 -4
- package/dist/client-bundle-stats.html +1 -1
- package/dist/mcp-app/mcp-app.html +3 -3
- package/dist/server/agent/agent-prompts.d.ts +14 -0
- package/dist/server/agent/chart-validation.d.ts +14 -0
- package/dist/server/agent/data-shape.d.ts +41 -0
- package/dist/server/agent/providers/anthropic.d.ts +1 -0
- package/dist/server/agent/providers/google.d.ts +1 -0
- package/dist/server/agent/providers/openai.d.ts +1 -0
- package/dist/server/agent/providers/types.d.ts +13 -0
- package/dist/server/agent/tools.d.ts +18 -4
- package/dist/server/agent/types.d.ts +5 -1
- package/dist/server/ai/chart-schema.d.ts +37 -0
- package/dist/server/{anthropic-DG4r1LSm.cjs → anthropic-CqLkud62.cjs} +1 -1
- package/dist/server/{anthropic-CZh4hB-m.js → anthropic-MQlafOZv.js} +3 -0
- package/dist/{adapters/google-PsZzwedr.cjs → server/google-6pofxIfm.cjs} +1 -1
- package/dist/{adapters/google-DRY7jnOh.js → server/google-BBBP1Dhs.js} +3 -0
- package/dist/server/index.cjs +44 -43
- package/dist/server/index.js +2069 -1857
- package/dist/server/{openai-6uUf7h-5.js → openai-nBhuSFd3.js} +9 -3
- package/dist/server/openai-rF50ZEiR.cjs +1 -0
- package/package.json +4 -4
- package/dist/adapters/ActivityGridChart.config-Bu5lf3M0.js +0 -2
- package/dist/adapters/ActivityGridChart.config-NSLCFzvM.cjs +0 -1
- package/dist/adapters/AreaChart.config-Bv7qJYd0.cjs +0 -1
- package/dist/adapters/AreaChart.config-DexPQDQp.js +0 -2
- package/dist/adapters/BarChart.config-Br0vyPO0.js +0 -2
- package/dist/adapters/BarChart.config-Dc1FHoux.cjs +0 -1
- package/dist/adapters/BoxPlotChart.config-C_j-wp0l.cjs +0 -1
- package/dist/adapters/BoxPlotChart.config-Dz9P8ck_.js +0 -2
- package/dist/adapters/BubbleChart.config-e6hABmpk.js +0 -2
- package/dist/adapters/BubbleChart.config-ro80CWd_.cjs +0 -1
- package/dist/adapters/CandlestickChart.config-Btzcen-6.cjs +0 -1
- package/dist/adapters/CandlestickChart.config-BzAPnbp4.js +0 -2
- package/dist/adapters/DataTable.config-RNGMSueS.cjs +0 -1
- package/dist/adapters/DataTable.config-enzxzWhP.js +0 -2
- package/dist/adapters/DotStripChart.config-C3FEV6Ys.js +0 -2
- package/dist/adapters/DotStripChart.config-DhODtwbu.cjs +0 -1
- package/dist/adapters/FunnelChart.config-CX1DFABr.cjs +0 -1
- package/dist/adapters/FunnelChart.config-DXg1N0FP.js +0 -2
- package/dist/adapters/GaugeChart.config-Dl2DrFSl.cjs +0 -1
- package/dist/adapters/GaugeChart.config-oiPzrfGx.js +0 -2
- package/dist/adapters/HeatMapChart.config-B9SrePWx.js +0 -2
- package/dist/adapters/HeatMapChart.config-CTwcA2aU.cjs +0 -1
- package/dist/adapters/KpiDelta.config-CgZQueiY.js +0 -2
- package/dist/adapters/KpiDelta.config-eybdn0eH.cjs +0 -1
- package/dist/adapters/KpiNumber.config-Ce2piJuC.js +0 -2
- package/dist/adapters/KpiNumber.config-h_KXh89X.cjs +0 -1
- package/dist/adapters/KpiText.config-CLk6a0TW.cjs +0 -1
- package/dist/adapters/KpiText.config-_g2gpg2d.js +0 -2
- package/dist/adapters/LineChart.config-C3MQKW5U.cjs +0 -1
- package/dist/adapters/LineChart.config-CA4b1Xt-.js +0 -2
- package/dist/adapters/MarkdownChart.config-B4lCc0_v.js +0 -2
- package/dist/adapters/MarkdownChart.config-waq3gxEs.cjs +0 -1
- package/dist/adapters/MeasureProfileChart.config-B1LrfeP-.js +0 -2
- package/dist/adapters/MeasureProfileChart.config-Djka_dSU.cjs +0 -1
- package/dist/adapters/PieChart.config-BfSLFe9d.js +0 -2
- package/dist/adapters/PieChart.config-D5ixLlYJ.cjs +0 -1
- package/dist/adapters/ProportionBarChart.config-CRWy5aME.cjs +0 -1
- package/dist/adapters/ProportionBarChart.config-nyP6m6i0.js +0 -2
- package/dist/adapters/RadarChart.config-B7C-0wYa.cjs +0 -1
- package/dist/adapters/RadarChart.config-COzBFXrA.js +0 -2
- package/dist/adapters/RadialBarChart.config-C50IqzNQ.js +0 -2
- package/dist/adapters/RadialBarChart.config-LTSl-xoA.cjs +0 -1
- package/dist/adapters/RecordsTable.config-BHWD9CBE.js +0 -2
- package/dist/adapters/RecordsTable.config-DnY_PByk.cjs +0 -1
- package/dist/adapters/RetentionCombinedChart.config-CObWpIId.cjs +0 -1
- package/dist/adapters/RetentionCombinedChart.config-DxPk1BaI.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-CHZiVXVo.cjs +0 -1
- package/dist/adapters/RetentionHeatmap.config-Ckoiq5Jo.js +0 -2
- package/dist/adapters/SankeyChart.config-CVoAarnp.cjs +0 -1
- package/dist/adapters/SankeyChart.config-D2R8E5Ss.js +0 -2
- package/dist/adapters/ScatterChart.config-BE_J_t4r.js +0 -2
- package/dist/adapters/ScatterChart.config-DsVSbcSc.cjs +0 -1
- package/dist/adapters/SunburstChart.config-BLtPPPli.cjs +0 -1
- package/dist/adapters/SunburstChart.config-DrnmHxNQ.js +0 -2
- package/dist/adapters/TreeMapChart.config-4p3cVWIy.js +0 -2
- package/dist/adapters/TreeMapChart.config-DkRO8LYG.cjs +0 -1
- package/dist/adapters/WaterfallChart.config-CKi4zg3x.cjs +0 -1
- package/dist/adapters/WaterfallChart.config-DuUXmAyw.js +0 -2
- package/dist/adapters/compiler-DG6dLFQU.cjs +0 -166
- package/dist/adapters/handler-l75Hbzv3.cjs +0 -25
- package/dist/adapters/mcp-transport-BOfhj01O.js +0 -730
- package/dist/adapters/mcp-transport-Dl5bn6h4.cjs +0 -42
- package/dist/adapters/openai-DH9MtcLA.cjs +0 -1
- package/dist/adapters/utils-C1JpSDOX.cjs +0 -128
- package/dist/client/chunks/chart-activity-grid-CJzxC18G.js.map +0 -1
- package/dist/client/chunks/charts-loader-D_yEsIpH.js +0 -87
- package/dist/client/chunks/nl-NL-B9VnaVAm.js.map +0 -1
- package/dist/server/openai-BBe1XbZd.cjs +0 -1
package/dist/client/index.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { a as e, n as t, o as n, r, s as i } from "./chunks/vendor-
|
|
1
|
+
import { a as e, n as t, o as n, r, s as i } from "./chunks/vendor-DDo8nSGP.js";
|
|
2
2
|
import { n as a, t as o } from "./chunks/providers-DwQCKdGW.js";
|
|
3
|
-
import { A as s, B as c, C as l, D as u, E as d, H as f, L as p, M as m, N as h, P as g, R as _, S as v, T as y, U as b, V as x, _ as S, b as C, c as w, j as T, l as E, s as D, v as O, w as k, x as A, y as j, z as M } from "./chunks/chart-data-table-
|
|
4
|
-
import { n as N, r as P } from "./chunks/chart-sankey-
|
|
5
|
-
import { $ as F, A as
|
|
6
|
-
import { S as
|
|
7
|
-
import { B as
|
|
8
|
-
import { a as
|
|
9
|
-
import { a as
|
|
10
|
-
import { a as
|
|
11
|
-
import { H as
|
|
12
|
-
import { r as
|
|
13
|
-
import { A as
|
|
14
|
-
import { r as
|
|
15
|
-
import { t as
|
|
16
|
-
import { n as
|
|
17
|
-
import { i as
|
|
18
|
-
import
|
|
19
|
-
import { Fragment as
|
|
3
|
+
import { A as s, B as c, C as l, D as u, E as d, H as f, L as p, M as m, N as h, P as g, R as _, S as v, T as y, U as b, V as x, _ as S, b as C, c as w, j as T, l as E, s as D, v as O, w as k, x as A, y as j, z as M } from "./chunks/chart-data-table-CCvvgeG_.js";
|
|
4
|
+
import { n as N, r as P } from "./chunks/chart-sankey-1qB7yWHq.js";
|
|
5
|
+
import { $ as F, A as ee, B as I, D as te, E as ne, F as L, G as re, H as ie, I as ae, J as oe, K as se, L as ce, M as le, N as ue, O as de, P as fe, Q as pe, R as me, St as he, U as ge, V as _e, W as ve, X as ye, Y as be, Z as xe, _t as Se, a as Ce, at as we, bt as Te, c as Ee, ct as De, dt as Oe, et as ke, f as Ae, ft as je, gt as Me, h as Ne, ht as Pe, i as Fe, it as Ie, k as Le, lt as Re, m as ze, mt as Be, n as Ve, o as He, ot as Ue, p as We, pt as Ge, q as Ke, r as qe, st as Je, t as Ye, ut as Xe, v as Ze, vt as Qe, w as $e, xt as et, yt as tt, z as nt } from "./chunks/DashboardEditModal-DjMGNTUa.js";
|
|
6
|
+
import { S as rt, _ as it, b as at, c as ot, d as st, f as ct, g as lt, h as ut, l as dt, m as ft, o as pt, p as mt, s as ht, v as gt, y as _t } from "./chunks/useDirtyStateTracking-BQupC3wJ.js";
|
|
7
|
+
import { B as vt, F as R, S as yt, _ as bt, b as xt, g as St, h as Ct, m as wt, p as Tt, v as Et, x as Dt, y as Ot } from "./chunks/chart-activity-grid-UZIp9_2E.js";
|
|
8
|
+
import { a as kt, i as At, n as jt, o as Mt, r as Nt, t as Pt } from "./chunks/useExplainAI-DORnTynt.js";
|
|
9
|
+
import { a as Ft, c as It, i as Lt, l as Rt, o as zt, r as Bt, s as Vt } from "./chunks/chart-funnel-D2vGQhaz.js";
|
|
10
|
+
import { a as Ht, i as Ut, n as Wt, o as Gt, r as Kt, s as qt, t as Jt } from "./chunks/charts-loader-OHpTBq8c.js";
|
|
11
|
+
import { H as z } from "./chunks/chart-area-CEBcvCcn.js";
|
|
12
|
+
import { r as Yt } from "./chunks/syntaxHighlighting-Cm43as8i.js";
|
|
13
|
+
import { A as Xt, C as Zt, D as Qt, E as $t, F as en, N as tn, O as nn, P as rn, T as an, _ as on, a as sn, b as cn, c as ln, d as un, f as dn, g as fn, h as pn, i as mn, j as hn, k as gn, l as _n, m as vn, n as yn, o as bn, r as xn, s as Sn, t as Cn, u as wn, v as Tn, w as En, x as Dn, y as On } from "./chunks/analysis-builder-shared-C_pLSXJR.js";
|
|
14
|
+
import { r as kn } from "./chunks/chart-markdown-b0qPZ617.js";
|
|
15
|
+
import { t as An } from "./chunks/useNotebookLayout-Ck3Z3uzg.js";
|
|
16
|
+
import { n as jn } from "./chunks/chart-bubble-8uH_JKNt.js";
|
|
17
|
+
import { i as Mn, t as Nn } from "./chunks/utils-CToHkuhU.js";
|
|
18
|
+
import B, { createContext as Pn, useCallback as V, useContext as Fn, useEffect as H, useMemo as U, useRef as W, useState as G } from "react";
|
|
19
|
+
import { Fragment as K, jsx as q, jsxs as J } from "react/jsx-runtime";
|
|
20
20
|
//#region src/client/stores/notebookStore.tsx
|
|
21
|
-
var
|
|
21
|
+
var In = () => ({
|
|
22
22
|
blocks: [],
|
|
23
23
|
messages: [],
|
|
24
24
|
isStreaming: !1,
|
|
25
25
|
sessionId: null,
|
|
26
26
|
inputValue: ""
|
|
27
27
|
});
|
|
28
|
-
function
|
|
28
|
+
function Ln(e, t) {
|
|
29
29
|
return {
|
|
30
30
|
addBlock: (t) => e((e) => ({ blocks: [...e.blocks, t] })),
|
|
31
31
|
removeBlock: (t) => e((e) => ({ blocks: e.blocks.filter((e) => e.id !== t) })),
|
|
@@ -89,38 +89,38 @@ function In(e, t) {
|
|
|
89
89
|
blocks: t.blocks || [],
|
|
90
90
|
messages: t.messages || []
|
|
91
91
|
}),
|
|
92
|
-
reset: () => e(
|
|
92
|
+
reset: () => e(In())
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
|
-
function
|
|
96
|
-
let t =
|
|
95
|
+
function Rn() {
|
|
96
|
+
let t = In();
|
|
97
97
|
return i()(r(e((e, n) => ({
|
|
98
98
|
...t,
|
|
99
|
-
...
|
|
99
|
+
...Ln(e, n)
|
|
100
100
|
})), { name: "NotebookStore" }));
|
|
101
101
|
}
|
|
102
|
-
var
|
|
103
|
-
function
|
|
104
|
-
let n =
|
|
102
|
+
var zn = Pn(null);
|
|
103
|
+
function Bn({ children: e, initialConfig: t }) {
|
|
104
|
+
let n = W(null);
|
|
105
105
|
if (!n.current) {
|
|
106
|
-
let e =
|
|
106
|
+
let e = Rn();
|
|
107
107
|
t && e.getState().load(t), n.current = e;
|
|
108
108
|
}
|
|
109
|
-
return /* @__PURE__ */
|
|
109
|
+
return /* @__PURE__ */ q(zn.Provider, {
|
|
110
110
|
value: n.current,
|
|
111
111
|
children: e
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
|
-
function
|
|
115
|
-
let t =
|
|
114
|
+
function Y(e) {
|
|
115
|
+
let t = Fn(zn);
|
|
116
116
|
if (!t) throw Error("useNotebookStore must be used within NotebookStoreProvider");
|
|
117
117
|
return n(t, e);
|
|
118
118
|
}
|
|
119
|
-
var
|
|
119
|
+
var Vn = (e) => e.blocks, Hn = (e) => e.messages, Un = (e) => e.isStreaming, Wn = (e) => e.sessionId, Gn = (e) => e.inputValue, Kn = (e) => ({
|
|
120
120
|
messages: e.messages,
|
|
121
121
|
isStreaming: e.isStreaming,
|
|
122
122
|
inputValue: e.inputValue
|
|
123
|
-
}),
|
|
123
|
+
}), qn = (e) => ({
|
|
124
124
|
addMessage: e.addMessage,
|
|
125
125
|
appendToLastAssistantMessage: e.appendToLastAssistantMessage,
|
|
126
126
|
setLastAssistantError: e.setLastAssistantError,
|
|
@@ -129,29 +129,29 @@ var Bn = (e) => e.blocks, Vn = (e) => e.messages, Hn = (e) => e.isStreaming, Un
|
|
|
129
129
|
setIsStreaming: e.setIsStreaming,
|
|
130
130
|
setInputValue: e.setInputValue,
|
|
131
131
|
setSessionId: e.setSessionId
|
|
132
|
-
}),
|
|
132
|
+
}), Jn = (e) => ({
|
|
133
133
|
addBlock: e.addBlock,
|
|
134
134
|
removeBlock: e.removeBlock,
|
|
135
135
|
moveBlock: e.moveBlock,
|
|
136
136
|
updateBlock: e.updateBlock
|
|
137
|
-
}),
|
|
137
|
+
}), X = {
|
|
138
138
|
width: "16px",
|
|
139
139
|
height: "16px",
|
|
140
140
|
color: "currentColor"
|
|
141
|
-
},
|
|
142
|
-
let [c, l] =
|
|
141
|
+
}, Yn = j("chevronUp"), Xn = j("chevronDown"), Zn = j("edit"), Qn = j("delete"), $n = B.memo(function({ block: e, colorPalette: t, onRemove: n, onMoveUp: r, onMoveDown: i, onEdit: a, isFirst: o, isLast: s }) {
|
|
142
|
+
let [c, l] = G(null), u = V((e) => {
|
|
143
143
|
l(e);
|
|
144
144
|
}, []);
|
|
145
|
-
return /* @__PURE__ */
|
|
145
|
+
return /* @__PURE__ */ J("div", {
|
|
146
146
|
className: "dc:relative dc:mb-4 bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col",
|
|
147
|
-
children: [/* @__PURE__ */
|
|
147
|
+
children: [/* @__PURE__ */ J("div", {
|
|
148
148
|
className: "dc:flex dc:items-center dc:justify-between dc:px-3 dc:py-1.5 dc:border-b border-dc-border dc:shrink-0 bg-dc-surface-secondary dc:rounded-t-lg",
|
|
149
|
-
children: [/* @__PURE__ */
|
|
149
|
+
children: [/* @__PURE__ */ J("div", {
|
|
150
150
|
className: "dc:flex dc:items-center dc:gap-2 dc:flex-1 dc:min-w-0",
|
|
151
|
-
children: [/* @__PURE__ */
|
|
151
|
+
children: [/* @__PURE__ */ q("h3", {
|
|
152
152
|
className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
|
|
153
153
|
children: e.title || "Untitled"
|
|
154
|
-
}), c && /* @__PURE__ */
|
|
154
|
+
}), c && /* @__PURE__ */ q(ee, {
|
|
155
155
|
chartConfig: c.chartConfig,
|
|
156
156
|
displayConfig: c.displayConfig,
|
|
157
157
|
queryObject: c.queryObject,
|
|
@@ -159,38 +159,38 @@ var Bn = (e) => e.blocks, Vn = (e) => e.messages, Hn = (e) => e.isStreaming, Un
|
|
|
159
159
|
chartType: c.chartType,
|
|
160
160
|
cacheInfo: c.cacheInfo ?? void 0
|
|
161
161
|
})]
|
|
162
|
-
}), /* @__PURE__ */
|
|
162
|
+
}), /* @__PURE__ */ J("div", {
|
|
163
163
|
className: "dc:flex dc:items-center dc:gap-1 dc:shrink-0 dc:ml-4 dc:-mr-2",
|
|
164
164
|
children: [
|
|
165
|
-
!o && /* @__PURE__ */
|
|
165
|
+
!o && /* @__PURE__ */ q("button", {
|
|
166
166
|
onClick: () => r(e.id),
|
|
167
167
|
className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
168
168
|
title: "Move up",
|
|
169
|
-
children: /* @__PURE__ */
|
|
169
|
+
children: /* @__PURE__ */ q(Yn, { style: X })
|
|
170
170
|
}),
|
|
171
|
-
!s && /* @__PURE__ */
|
|
171
|
+
!s && /* @__PURE__ */ q("button", {
|
|
172
172
|
onClick: () => i(e.id),
|
|
173
173
|
className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
174
174
|
title: "Move down",
|
|
175
|
-
children: /* @__PURE__ */
|
|
175
|
+
children: /* @__PURE__ */ q(Xn, { style: X })
|
|
176
176
|
}),
|
|
177
|
-
/* @__PURE__ */
|
|
177
|
+
/* @__PURE__ */ q("button", {
|
|
178
178
|
onClick: () => a(e),
|
|
179
179
|
className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
180
180
|
title: "Edit visualization",
|
|
181
|
-
children: /* @__PURE__ */
|
|
181
|
+
children: /* @__PURE__ */ q(Zn, { style: X })
|
|
182
182
|
}),
|
|
183
|
-
/* @__PURE__ */
|
|
183
|
+
/* @__PURE__ */ q("button", {
|
|
184
184
|
onClick: () => n(e.id),
|
|
185
185
|
className: "dc:p-1 dc:mr-0.5 dc:bg-transparent dc:border-none dc:rounded-sm dc:cursor-pointer dc:hover:bg-dc-danger-bg text-dc-danger dc:transition-colors",
|
|
186
186
|
title: "Remove",
|
|
187
|
-
children: /* @__PURE__ */
|
|
187
|
+
children: /* @__PURE__ */ q(Qn, { style: X })
|
|
188
188
|
})
|
|
189
189
|
]
|
|
190
190
|
})]
|
|
191
|
-
}), /* @__PURE__ */
|
|
191
|
+
}), /* @__PURE__ */ q("div", {
|
|
192
192
|
className: "dc:flex-1 dc:min-h-0",
|
|
193
|
-
children: /* @__PURE__ */
|
|
193
|
+
children: /* @__PURE__ */ q(ye, {
|
|
194
194
|
query: e.query,
|
|
195
195
|
chartType: e.chartType,
|
|
196
196
|
chartConfig: e.chartConfig,
|
|
@@ -202,84 +202,100 @@ var Bn = (e) => e.blocks, Vn = (e) => e.messages, Hn = (e) => e.isStreaming, Un
|
|
|
202
202
|
})
|
|
203
203
|
})]
|
|
204
204
|
});
|
|
205
|
-
})
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
function rr({ children: e, ...t }) {
|
|
211
|
-
return /* @__PURE__ */ J("div", {
|
|
205
|
+
});
|
|
206
|
+
//#endregion
|
|
207
|
+
//#region src/client/components/markdownOverrides.tsx
|
|
208
|
+
function er({ children: e, ...t }) {
|
|
209
|
+
return /* @__PURE__ */ q("div", {
|
|
212
210
|
className: "dc:overflow-x-auto dc:my-2",
|
|
213
|
-
children: /* @__PURE__ */
|
|
211
|
+
children: /* @__PURE__ */ q("table", {
|
|
214
212
|
...t,
|
|
215
213
|
children: e
|
|
216
214
|
})
|
|
217
215
|
});
|
|
218
216
|
}
|
|
219
|
-
var
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
h3: { props: { className: "dc:text-sm dc:font-semibold text-dc-text dc:mb-2 dc:mt-3" } },
|
|
223
|
-
p: { props: { className: "dc:text-sm dc:leading-relaxed text-dc-text dc:mb-2" } },
|
|
224
|
-
strong: { props: { className: "dc:font-semibold" } },
|
|
217
|
+
var tr = {
|
|
218
|
+
code: { props: { className: "dc:px-1 dc:py-0.5 dc:rounded-sm dc:text-xs bg-dc-surface-secondary text-dc-accent dc:font-mono" } },
|
|
219
|
+
pre: { props: { className: "dc:rounded-lg dc:p-3 dc:my-2 dc:overflow-x-auto dc:text-xs bg-dc-surface-secondary text-dc-text dc:font-mono" } },
|
|
225
220
|
a: { props: {
|
|
226
221
|
className: "text-dc-accent dc:hover:underline",
|
|
227
222
|
target: "_blank",
|
|
228
223
|
rel: "noopener noreferrer"
|
|
229
224
|
} },
|
|
230
|
-
code: { props: { className: "dc:px-1 dc:py-0.5 dc:rounded-sm dc:text-xs bg-dc-surface-secondary text-dc-accent dc:font-mono" } },
|
|
231
|
-
pre: { props: { className: "dc:rounded-lg dc:p-3 dc:my-2 dc:overflow-x-auto dc:text-xs bg-dc-surface-secondary text-dc-text dc:font-mono" } },
|
|
232
|
-
ul: { props: { className: "dc:list-disc dc:ml-5 dc:mb-2 dc:text-sm text-dc-text dc:space-y-1" } },
|
|
233
|
-
ol: { props: { className: "dc:list-decimal dc:ml-5 dc:mb-2 dc:text-sm text-dc-text dc:space-y-1" } },
|
|
234
|
-
li: { props: { className: "dc:text-sm text-dc-text" } },
|
|
235
|
-
hr: { props: { className: "dc:my-3 border-dc-border" } },
|
|
236
|
-
blockquote: { props: { className: "dc:border-l-4 border-dc-accent dc:pl-3 dc:my-2 dc:italic text-dc-text-secondary dc:text-sm" } },
|
|
237
225
|
table: {
|
|
238
|
-
component:
|
|
226
|
+
component: er,
|
|
239
227
|
props: { className: "dc:w-full dc:border-collapse dc:text-sm" }
|
|
240
228
|
},
|
|
241
229
|
thead: { props: { className: "bg-dc-surface-secondary" } },
|
|
242
230
|
th: { props: { className: "dc:px-3 dc:py-2 dc:text-left dc:font-semibold dc:text-xs text-dc-text-secondary dc:uppercase dc:tracking-wider border-dc-border dc:border-b" } },
|
|
243
231
|
td: { props: { className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text border-dc-border dc:border-b" } },
|
|
244
232
|
tr: { props: { className: "dc:hover:opacity-80" } }
|
|
245
|
-
}
|
|
246
|
-
|
|
233
|
+
}, nr = { overrides: {
|
|
234
|
+
h1: { props: { className: "dc:text-lg dc:font-bold text-dc-text dc:mb-2 dc:mt-3" } },
|
|
235
|
+
h2: { props: { className: "dc:text-base dc:font-semibold text-dc-text dc:mb-2 dc:mt-3" } },
|
|
236
|
+
h3: { props: { className: "dc:text-sm dc:font-semibold text-dc-text dc:mb-2 dc:mt-3" } },
|
|
237
|
+
p: { props: { className: "dc:text-sm dc:leading-relaxed text-dc-text dc:mb-2" } },
|
|
238
|
+
strong: { props: { className: "dc:font-semibold" } },
|
|
239
|
+
ul: { props: { className: "dc:list-disc dc:ml-5 dc:mb-2 dc:text-sm text-dc-text dc:space-y-1" } },
|
|
240
|
+
ol: { props: { className: "dc:list-decimal dc:ml-5 dc:mb-2 dc:text-sm text-dc-text dc:space-y-1" } },
|
|
241
|
+
li: { props: { className: "dc:text-sm text-dc-text" } },
|
|
242
|
+
hr: { props: { className: "dc:my-3 border-dc-border" } },
|
|
243
|
+
blockquote: { props: { className: "dc:border-l-4 border-dc-accent dc:pl-3 dc:my-2 dc:italic text-dc-text-secondary dc:text-sm" } },
|
|
244
|
+
...tr
|
|
245
|
+
} }, rr = { overrides: {
|
|
246
|
+
h1: { props: { className: "dc:font-semibold text-dc-text dc:mt-2 dc:mb-1 dc:first:mt-0" } },
|
|
247
|
+
h2: { props: { className: "dc:font-semibold text-dc-text dc:mt-2 dc:mb-1 dc:first:mt-0" } },
|
|
248
|
+
h3: { props: { className: "dc:font-semibold text-dc-text dc:mt-2 dc:mb-1 dc:first:mt-0" } },
|
|
249
|
+
p: { props: { className: "dc:leading-snug dc:mb-1.5 dc:last:mb-0" } },
|
|
250
|
+
strong: { props: { className: "dc:font-semibold" } },
|
|
251
|
+
ul: { props: { className: "dc:list-disc dc:ml-4 dc:mb-1.5 dc:last:mb-0 dc:space-y-0.5" } },
|
|
252
|
+
ol: { props: { className: "dc:list-decimal dc:ml-4 dc:mb-1.5 dc:last:mb-0 dc:space-y-0.5" } },
|
|
253
|
+
li: { props: { className: "dc:leading-snug" } },
|
|
254
|
+
hr: { props: { className: "dc:my-2 border-dc-border" } },
|
|
255
|
+
blockquote: { props: { className: "dc:border-l-2 border-dc-accent dc:pl-2 dc:my-1.5 dc:italic text-dc-text-secondary" } },
|
|
256
|
+
...tr
|
|
257
|
+
} }, Z = {
|
|
258
|
+
width: "16px",
|
|
259
|
+
height: "16px",
|
|
260
|
+
color: "currentColor"
|
|
261
|
+
}, ir = j("documentText"), ar = j("chevronUp"), or = j("chevronDown"), sr = j("delete"), cr = B.memo(function({ block: e, onRemove: t, onMoveUp: n, onMoveDown: r, isFirst: i, isLast: a }) {
|
|
262
|
+
return /* @__PURE__ */ J("div", {
|
|
247
263
|
className: "dc:relative dc:mb-4 bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col",
|
|
248
|
-
children: [/* @__PURE__ */
|
|
264
|
+
children: [/* @__PURE__ */ J("div", {
|
|
249
265
|
className: "dc:flex dc:items-center dc:justify-between dc:px-3 dc:py-1.5 dc:border-b border-dc-border dc:shrink-0 bg-dc-surface-secondary dc:rounded-t-lg",
|
|
250
|
-
children: [/* @__PURE__ */
|
|
266
|
+
children: [/* @__PURE__ */ J("div", {
|
|
251
267
|
className: "dc:flex dc:items-center dc:gap-2 dc:flex-1 dc:min-w-0",
|
|
252
|
-
children: [/* @__PURE__ */
|
|
268
|
+
children: [/* @__PURE__ */ q(ir, { style: Z }), /* @__PURE__ */ q("h3", {
|
|
253
269
|
className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
|
|
254
270
|
children: e.title || "Markdown"
|
|
255
271
|
})]
|
|
256
|
-
}), /* @__PURE__ */
|
|
272
|
+
}), /* @__PURE__ */ J("div", {
|
|
257
273
|
className: "dc:flex dc:items-center dc:gap-1 dc:shrink-0 dc:ml-4 dc:-mr-2",
|
|
258
274
|
children: [
|
|
259
|
-
!i && /* @__PURE__ */
|
|
275
|
+
!i && /* @__PURE__ */ q("button", {
|
|
260
276
|
onClick: () => n(e.id),
|
|
261
277
|
className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
262
278
|
title: "Move up",
|
|
263
|
-
children: /* @__PURE__ */
|
|
279
|
+
children: /* @__PURE__ */ q(ar, { style: Z })
|
|
264
280
|
}),
|
|
265
|
-
!a && /* @__PURE__ */
|
|
281
|
+
!a && /* @__PURE__ */ q("button", {
|
|
266
282
|
onClick: () => r(e.id),
|
|
267
283
|
className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
268
284
|
title: "Move down",
|
|
269
|
-
children: /* @__PURE__ */
|
|
285
|
+
children: /* @__PURE__ */ q(or, { style: Z })
|
|
270
286
|
}),
|
|
271
|
-
/* @__PURE__ */
|
|
287
|
+
/* @__PURE__ */ q("button", {
|
|
272
288
|
onClick: () => t(e.id),
|
|
273
289
|
className: "dc:p-1 dc:mr-0.5 dc:bg-transparent dc:border-none dc:rounded-sm dc:cursor-pointer dc:hover:bg-dc-danger-bg text-dc-danger dc:transition-colors",
|
|
274
290
|
title: "Remove",
|
|
275
|
-
children: /* @__PURE__ */
|
|
291
|
+
children: /* @__PURE__ */ q(sr, { style: Z })
|
|
276
292
|
})
|
|
277
293
|
]
|
|
278
294
|
})]
|
|
279
|
-
}), /* @__PURE__ */
|
|
295
|
+
}), /* @__PURE__ */ q("div", {
|
|
280
296
|
className: "dc:p-4 dc:min-w-0 dc:overflow-hidden",
|
|
281
|
-
children: /* @__PURE__ */
|
|
282
|
-
options:
|
|
297
|
+
children: /* @__PURE__ */ q(kn, {
|
|
298
|
+
options: nr,
|
|
283
299
|
children: e.content
|
|
284
300
|
})
|
|
285
301
|
})]
|
|
@@ -287,8 +303,8 @@ var ir = { overrides: {
|
|
|
287
303
|
});
|
|
288
304
|
//#endregion
|
|
289
305
|
//#region src/client/components/AgenticNotebook/NotebookCanvas.tsx
|
|
290
|
-
function
|
|
291
|
-
let { analysisConfig: t } =
|
|
306
|
+
function lr(e) {
|
|
307
|
+
let { analysisConfig: t } = Ie(e);
|
|
292
308
|
if (!t) return null;
|
|
293
309
|
let n = t.charts[t.analysisType];
|
|
294
310
|
return {
|
|
@@ -299,34 +315,34 @@ function or(e) {
|
|
|
299
315
|
displayConfig: n?.displayConfig
|
|
300
316
|
};
|
|
301
317
|
}
|
|
302
|
-
var
|
|
303
|
-
let { t: n } =
|
|
304
|
-
|
|
318
|
+
var ur = B.memo(function({ colorPalette: e }) {
|
|
319
|
+
let { t: n } = R(), r = e ?? ne(), i = Y(Vn), { removeBlock: a, moveBlock: o, updateBlock: s } = Y(t(Jn)), c = W(null), [l, u] = G(null), d = W(i.length);
|
|
320
|
+
H(() => {
|
|
305
321
|
i.length > d.current && c.current?.scrollIntoView({ behavior: "smooth" }), d.current = i.length;
|
|
306
322
|
}, [i.length]);
|
|
307
|
-
let f =
|
|
323
|
+
let f = V((e) => a(e), [a]), p = V((e) => o(e, "up"), [o]), m = V((e) => o(e, "down"), [o]), h = V((e) => u(e), []), g = V((e) => {
|
|
308
324
|
if (!l) return;
|
|
309
|
-
let t =
|
|
325
|
+
let t = lr(e);
|
|
310
326
|
t && s(l.id, t), u(null);
|
|
311
327
|
}, [l, s]);
|
|
312
|
-
return i.length === 0 ? /* @__PURE__ */
|
|
328
|
+
return i.length === 0 ? /* @__PURE__ */ q("div", {
|
|
313
329
|
className: "dc:flex dc:items-center dc:justify-center dc:h-full",
|
|
314
|
-
children: /* @__PURE__ */
|
|
330
|
+
children: /* @__PURE__ */ J("div", {
|
|
315
331
|
className: "dc:text-center dc:max-w-sm dc:px-6",
|
|
316
|
-
children: [/* @__PURE__ */
|
|
332
|
+
children: [/* @__PURE__ */ q("h3", {
|
|
317
333
|
className: "dc:text-base dc:font-semibold text-dc-text dc:mb-2",
|
|
318
334
|
children: n("notebook.canvas.emptyTitle")
|
|
319
|
-
}), /* @__PURE__ */
|
|
335
|
+
}), /* @__PURE__ */ q("p", {
|
|
320
336
|
className: "dc:text-sm text-dc-text-secondary",
|
|
321
337
|
children: n("notebook.canvas.emptyDescription")
|
|
322
338
|
})]
|
|
323
339
|
})
|
|
324
|
-
}) : /* @__PURE__ */
|
|
340
|
+
}) : /* @__PURE__ */ J("div", {
|
|
325
341
|
className: "dc:h-full dc:overflow-y-auto dc:p-4",
|
|
326
342
|
children: [
|
|
327
343
|
i.map((e, t) => {
|
|
328
344
|
let n = t === 0, a = t === i.length - 1;
|
|
329
|
-
return e.type === "portlet" ? /* @__PURE__ */
|
|
345
|
+
return e.type === "portlet" ? /* @__PURE__ */ q($n, {
|
|
330
346
|
block: e,
|
|
331
347
|
colorPalette: r,
|
|
332
348
|
onRemove: f,
|
|
@@ -335,7 +351,7 @@ var sr = V.memo(function({ colorPalette: e }) {
|
|
|
335
351
|
onEdit: h,
|
|
336
352
|
isFirst: n,
|
|
337
353
|
isLast: a
|
|
338
|
-
}, e.id) : e.type === "markdown" ? /* @__PURE__ */
|
|
354
|
+
}, e.id) : e.type === "markdown" ? /* @__PURE__ */ q(cr, {
|
|
339
355
|
block: e,
|
|
340
356
|
onRemove: f,
|
|
341
357
|
onMoveUp: p,
|
|
@@ -344,8 +360,8 @@ var sr = V.memo(function({ colorPalette: e }) {
|
|
|
344
360
|
isLast: a
|
|
345
361
|
}, e.id) : null;
|
|
346
362
|
}),
|
|
347
|
-
/* @__PURE__ */
|
|
348
|
-
/* @__PURE__ */
|
|
363
|
+
/* @__PURE__ */ q("div", { ref: c }),
|
|
364
|
+
/* @__PURE__ */ q(Ee, {
|
|
349
365
|
isOpen: !!l,
|
|
350
366
|
onClose: () => u(null),
|
|
351
367
|
onSave: g,
|
|
@@ -367,97 +383,68 @@ var sr = V.memo(function({ colorPalette: e }) {
|
|
|
367
383
|
})
|
|
368
384
|
]
|
|
369
385
|
});
|
|
370
|
-
})
|
|
371
|
-
//#endregion
|
|
372
|
-
//#region src/client/components/AgenticNotebook/chatMessageParts.tsx
|
|
373
|
-
function cr(e) {
|
|
374
|
-
let t = [], n = e, r = 0;
|
|
375
|
-
for (; n;) {
|
|
376
|
-
let e = n.match(/^(.*?)`([^`]+)`(.*)$/);
|
|
377
|
-
if (e) {
|
|
378
|
-
let [, i, a, o] = e;
|
|
379
|
-
i && t.push(/* @__PURE__ */ J("span", { children: i }, r++)), t.push(/* @__PURE__ */ J("code", {
|
|
380
|
-
className: "dc:px-1 dc:py-0.5 dc:rounded-sm dc:text-xs bg-dc-surface dc:font-mono",
|
|
381
|
-
children: a
|
|
382
|
-
}, r++)), n = o;
|
|
383
|
-
continue;
|
|
384
|
-
}
|
|
385
|
-
let i = n.match(/^(.*?)\*\*([^*]+)\*\*(.*)$/);
|
|
386
|
-
if (i) {
|
|
387
|
-
let [, e, a, o] = i;
|
|
388
|
-
e && t.push(/* @__PURE__ */ J("span", { children: e }, r++)), t.push(/* @__PURE__ */ J("strong", {
|
|
389
|
-
className: "dc:font-semibold",
|
|
390
|
-
children: a
|
|
391
|
-
}, r++)), n = o;
|
|
392
|
-
continue;
|
|
393
|
-
}
|
|
394
|
-
t.push(/* @__PURE__ */ J("span", { children: n }, r));
|
|
395
|
-
break;
|
|
396
|
-
}
|
|
397
|
-
return t;
|
|
398
|
-
}
|
|
399
|
-
var lr = {
|
|
386
|
+
}), dr = {
|
|
400
387
|
discover_cubes: "Discovering cubes",
|
|
401
388
|
get_cube_metadata: "Reading metadata",
|
|
402
389
|
execute_query: "Executing query",
|
|
403
390
|
add_portlet: "Adding visualization",
|
|
404
391
|
add_markdown: "Adding explanation"
|
|
405
392
|
};
|
|
406
|
-
function
|
|
393
|
+
function fr(e, t, n) {
|
|
407
394
|
return e ? "bg-dc-accent text-dc-accent-text dc:rounded-br-sm" : t && !n ? "bg-dc-warning-bg text-dc-text dc:rounded-bl-sm" : "bg-dc-surface-secondary text-dc-text dc:rounded-bl-sm";
|
|
408
395
|
}
|
|
409
|
-
function
|
|
410
|
-
return e.status === "running" ? t ? /* @__PURE__ */
|
|
396
|
+
function pr({ toolCall: e, loadingComponent: t }) {
|
|
397
|
+
return e.status === "running" ? t ? /* @__PURE__ */ q("span", {
|
|
411
398
|
className: "dc:inline-flex dc:items-center dc:justify-center dc:h-3 dc:w-3",
|
|
412
399
|
children: t
|
|
413
|
-
}) : /* @__PURE__ */
|
|
400
|
+
}) : /* @__PURE__ */ q(z, { size: "xs" }) : /* @__PURE__ */ q("span", {
|
|
414
401
|
className: "dc:text-xs",
|
|
415
402
|
children: e.status === "error" ? "✗" : "✓"
|
|
416
403
|
});
|
|
417
404
|
}
|
|
418
|
-
function
|
|
405
|
+
function mr(e) {
|
|
419
406
|
return typeof e == "string" ? e : JSON.stringify(e, null, 2);
|
|
420
407
|
}
|
|
421
|
-
function
|
|
422
|
-
return e == null ? null : /* @__PURE__ */
|
|
408
|
+
function hr({ result: e }) {
|
|
409
|
+
return e == null ? null : /* @__PURE__ */ q("pre", {
|
|
423
410
|
className: "dc:mt-1 dc:p-2 dc:rounded-sm dc:text-[11px] dc:overflow-x-auto dc:max-h-32 dc:overflow-y-auto bg-dc-surface-secondary text-dc-text-secondary",
|
|
424
|
-
children:
|
|
411
|
+
children: mr(e)
|
|
425
412
|
});
|
|
426
413
|
}
|
|
427
|
-
function
|
|
428
|
-
let [n, r] =
|
|
429
|
-
return /* @__PURE__ */
|
|
414
|
+
function gr({ toolCall: e, loadingComponent: t }) {
|
|
415
|
+
let [n, r] = G(!1), i = dr[e.name] || e.name, a = e.status === "running";
|
|
416
|
+
return /* @__PURE__ */ J("div", {
|
|
430
417
|
className: "dc:my-1 dc:text-xs",
|
|
431
|
-
children: [/* @__PURE__ */
|
|
418
|
+
children: [/* @__PURE__ */ J("button", {
|
|
432
419
|
onClick: () => r(!n),
|
|
433
420
|
className: "dc:flex dc:items-center dc:gap-1.5 text-dc-text-secondary dc:hover:opacity-80 dc:transition-opacity",
|
|
434
421
|
children: [
|
|
435
|
-
/* @__PURE__ */
|
|
422
|
+
/* @__PURE__ */ q(pr, {
|
|
436
423
|
toolCall: e,
|
|
437
424
|
loadingComponent: t
|
|
438
425
|
}),
|
|
439
|
-
/* @__PURE__ */
|
|
440
|
-
!a && /* @__PURE__ */
|
|
426
|
+
/* @__PURE__ */ J("span", { children: [i, a ? "..." : ""] }),
|
|
427
|
+
!a && /* @__PURE__ */ q("span", {
|
|
441
428
|
className: "dc:text-[10px] dc:opacity-60",
|
|
442
429
|
children: n ? "▲" : "▼"
|
|
443
430
|
})
|
|
444
431
|
]
|
|
445
|
-
}), n && /* @__PURE__ */
|
|
432
|
+
}), n && /* @__PURE__ */ q(hr, { result: e.result })]
|
|
446
433
|
});
|
|
447
434
|
}
|
|
448
|
-
function
|
|
449
|
-
return /* @__PURE__ */
|
|
435
|
+
function _r({ error: e, hasContent: t }) {
|
|
436
|
+
return /* @__PURE__ */ J("div", {
|
|
450
437
|
className: `dc:flex dc:items-start dc:gap-2 ${t ? "dc:mt-2 dc:pt-2 dc:border-t dc:border-current dc:border-opacity-10" : ""}`,
|
|
451
|
-
children: [/* @__PURE__ */
|
|
438
|
+
children: [/* @__PURE__ */ q("span", {
|
|
452
439
|
className: "dc:text-base dc:leading-none dc:mt-0.5 text-dc-warning dc:flex-shrink-0",
|
|
453
440
|
children: "⚠"
|
|
454
|
-
}), /* @__PURE__ */
|
|
441
|
+
}), /* @__PURE__ */ q("span", {
|
|
455
442
|
className: "text-dc-text-secondary",
|
|
456
443
|
children: e
|
|
457
444
|
})]
|
|
458
445
|
});
|
|
459
446
|
}
|
|
460
|
-
function
|
|
447
|
+
function vr(e) {
|
|
461
448
|
let t = e.role === "user", n = !!e.content?.trim(), r = !!e.error, i = e.toolCalls ?? [], a = i.length > 0;
|
|
462
449
|
return {
|
|
463
450
|
isUser: t,
|
|
@@ -468,28 +455,34 @@ function gr(e) {
|
|
|
468
455
|
shouldRender: t || n || r || a
|
|
469
456
|
};
|
|
470
457
|
}
|
|
471
|
-
function
|
|
458
|
+
function yr({ message: e, flags: t, loadingComponent: n }) {
|
|
472
459
|
let { isUser: r, hasContent: i, hasError: a, hasToolCalls: o, toolCalls: s } = t;
|
|
473
|
-
return /* @__PURE__ */
|
|
474
|
-
i && /* @__PURE__ */
|
|
460
|
+
return /* @__PURE__ */ J(K, { children: [
|
|
461
|
+
i && (r ? /* @__PURE__ */ q("div", {
|
|
475
462
|
className: "dc:whitespace-pre-wrap dc:break-words",
|
|
476
|
-
children:
|
|
477
|
-
}),
|
|
478
|
-
|
|
463
|
+
children: e.content
|
|
464
|
+
}) : /* @__PURE__ */ q("div", {
|
|
465
|
+
className: "dc:break-words dc:min-w-0",
|
|
466
|
+
children: /* @__PURE__ */ q(kn, {
|
|
467
|
+
options: rr,
|
|
468
|
+
children: e.content
|
|
469
|
+
})
|
|
470
|
+
})),
|
|
471
|
+
a && /* @__PURE__ */ q(_r, {
|
|
479
472
|
error: e.error,
|
|
480
473
|
hasContent: i
|
|
481
474
|
}),
|
|
482
|
-
o && /* @__PURE__ */
|
|
475
|
+
o && /* @__PURE__ */ q(br, {
|
|
483
476
|
toolCalls: s,
|
|
484
477
|
loadingComponent: n,
|
|
485
478
|
separated: i || a
|
|
486
479
|
})
|
|
487
480
|
] });
|
|
488
481
|
}
|
|
489
|
-
function
|
|
490
|
-
return /* @__PURE__ */
|
|
482
|
+
function br({ toolCalls: e, loadingComponent: t, separated: n }) {
|
|
483
|
+
return /* @__PURE__ */ q("div", {
|
|
491
484
|
className: n ? "dc:mt-1 dc:border-t dc:border-current dc:border-opacity-10 dc:pt-1" : "",
|
|
492
|
-
children: e.map((e, n) => /* @__PURE__ */
|
|
485
|
+
children: e.map((e, n) => /* @__PURE__ */ q(gr, {
|
|
493
486
|
toolCall: e,
|
|
494
487
|
loadingComponent: t
|
|
495
488
|
}, e.id || n))
|
|
@@ -497,38 +490,38 @@ function vr({ toolCalls: e, loadingComponent: t, separated: n }) {
|
|
|
497
490
|
}
|
|
498
491
|
//#endregion
|
|
499
492
|
//#region src/client/components/AgenticNotebook/ChatMessage.tsx
|
|
500
|
-
var
|
|
501
|
-
let n =
|
|
493
|
+
var xr = { animation: "dc-msg-in 100ms ease-out" }, Sr = B.memo(function({ message: e, loadingComponent: t }) {
|
|
494
|
+
let n = vr(e);
|
|
502
495
|
if (!n.shouldRender) return null;
|
|
503
496
|
let { isUser: r, hasContent: i, hasError: a } = n;
|
|
504
|
-
return /* @__PURE__ */
|
|
497
|
+
return /* @__PURE__ */ q("div", {
|
|
505
498
|
className: `dc:flex dc:mb-3 ${r ? "dc:justify-end" : "dc:justify-start"}`,
|
|
506
|
-
style:
|
|
507
|
-
children: /* @__PURE__ */
|
|
508
|
-
className: `dc:max-w-[85%] dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm ${
|
|
509
|
-
children: /* @__PURE__ */
|
|
499
|
+
style: xr,
|
|
500
|
+
children: /* @__PURE__ */ q("div", {
|
|
501
|
+
className: `dc:max-w-[85%] dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm ${fr(r, a, i)}`,
|
|
502
|
+
children: /* @__PURE__ */ q(yr, {
|
|
510
503
|
message: e,
|
|
511
504
|
flags: n,
|
|
512
505
|
loadingComponent: t
|
|
513
506
|
})
|
|
514
507
|
})
|
|
515
508
|
});
|
|
516
|
-
}),
|
|
517
|
-
let { t: l } =
|
|
518
|
-
|
|
509
|
+
}), Cr = B.memo(function({ value: e, onChange: t, onSend: n, onStop: r, onContinue: i, isStreaming: a = !1, showContinue: o = !1, disabled: s = !1, placeholder: c }) {
|
|
510
|
+
let { t: l } = R(), u = c ?? l("notebook.chatInput.placeholder"), d = W(null);
|
|
511
|
+
H(() => {
|
|
519
512
|
let e = d.current;
|
|
520
513
|
e && (e.style.height = "auto", e.style.height = `${Math.min(e.scrollHeight, 150)}px`);
|
|
521
514
|
}, [e]);
|
|
522
|
-
let f =
|
|
515
|
+
let f = V((t) => {
|
|
523
516
|
t.key === "Enter" && !t.shiftKey && (t.preventDefault(), !s && e.trim() && n());
|
|
524
517
|
}, [
|
|
525
518
|
s,
|
|
526
519
|
e,
|
|
527
520
|
n
|
|
528
521
|
]);
|
|
529
|
-
return /* @__PURE__ */
|
|
522
|
+
return /* @__PURE__ */ J("div", {
|
|
530
523
|
className: "dc:flex dc:gap-2 dc:items-end dc:p-3 border-dc-border dc:border-t",
|
|
531
|
-
children: [/* @__PURE__ */
|
|
524
|
+
children: [/* @__PURE__ */ q("textarea", {
|
|
532
525
|
ref: d,
|
|
533
526
|
value: e,
|
|
534
527
|
onChange: (e) => t(e.target.value),
|
|
@@ -537,17 +530,17 @@ var yr = { animation: "dc-msg-in 100ms ease-out" }, br = V.memo(function({ messa
|
|
|
537
530
|
disabled: s,
|
|
538
531
|
rows: 1,
|
|
539
532
|
className: "dc:flex-1 dc:resize-none dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm bg-dc-surface-secondary text-dc-text border-dc-border dc:border dc:outline-none dc:focus:ring-1 focus:ring-dc-accent dc:disabled:opacity-50"
|
|
540
|
-
}), a ? /* @__PURE__ */
|
|
533
|
+
}), a ? /* @__PURE__ */ q("button", {
|
|
541
534
|
onClick: r,
|
|
542
535
|
className: "dc:px-4 dc:py-2 dc:rounded-lg dc:text-sm dc:font-medium dc:transition-colors text-dc-error border-dc-border dc:border dc:hover:opacity-80 dc:shrink-0",
|
|
543
536
|
children: l("notebook.chatInput.stop")
|
|
544
|
-
}) : /* @__PURE__ */
|
|
537
|
+
}) : /* @__PURE__ */ J(K, { children: [o && !e.trim() && /* @__PURE__ */ q("button", {
|
|
545
538
|
onClick: () => {
|
|
546
539
|
i?.(), d.current?.focus();
|
|
547
540
|
},
|
|
548
541
|
className: "dc:px-4 dc:py-2 dc:rounded-lg dc:text-sm dc:font-medium dc:transition-colors border-dc-border dc:border text-dc-text-secondary dc:hover:opacity-80 dc:shrink-0",
|
|
549
542
|
children: l("notebook.chatInput.continue")
|
|
550
|
-
}), /* @__PURE__ */
|
|
543
|
+
}), /* @__PURE__ */ q("button", {
|
|
551
544
|
onClick: n,
|
|
552
545
|
disabled: s || !e.trim(),
|
|
553
546
|
className: "dc:px-4 dc:py-2 dc:rounded-lg dc:text-sm dc:font-medium dc:transition-colors bg-dc-accent text-dc-accent-text dc:hover:opacity-90 dc:disabled:opacity-40 dc:disabled:cursor-not-allowed dc:shrink-0",
|
|
@@ -557,7 +550,7 @@ var yr = { animation: "dc-msg-in 100ms ease-out" }, br = V.memo(function({ messa
|
|
|
557
550
|
});
|
|
558
551
|
//#endregion
|
|
559
552
|
//#region src/client/hooks/agentChatStream.ts
|
|
560
|
-
function
|
|
553
|
+
function wr(e) {
|
|
561
554
|
if (e.startsWith("{") || e.includes("\"type\":\"error\"")) try {
|
|
562
555
|
let t = JSON.parse(e.replace(/^Error:\s*/, ""));
|
|
563
556
|
return {
|
|
@@ -575,7 +568,7 @@ function Sr(e) {
|
|
|
575
568
|
}
|
|
576
569
|
return e;
|
|
577
570
|
}
|
|
578
|
-
function
|
|
571
|
+
function Tr(e, t) {
|
|
579
572
|
switch (e.type) {
|
|
580
573
|
case "text_delta":
|
|
581
574
|
t.onTextDelta(e.data);
|
|
@@ -584,7 +577,7 @@ function Cr(e, t) {
|
|
|
584
577
|
t.onToolStart(e.data.id, e.data.name, e.data.input);
|
|
585
578
|
break;
|
|
586
579
|
case "tool_use_result":
|
|
587
|
-
t.onToolResult(e.data.id, e.data.name, e.data.result, e.data.isError);
|
|
580
|
+
t.onToolResult(e.data.id, e.data.name, e.data.result, e.data.isError, e.data.input);
|
|
588
581
|
break;
|
|
589
582
|
case "add_portlet":
|
|
590
583
|
t.onAddPortlet({
|
|
@@ -592,6 +585,12 @@ function Cr(e, t) {
|
|
|
592
585
|
type: "portlet"
|
|
593
586
|
});
|
|
594
587
|
break;
|
|
588
|
+
case "update_portlet":
|
|
589
|
+
t.onUpdatePortlet?.({
|
|
590
|
+
...e.data,
|
|
591
|
+
type: "portlet"
|
|
592
|
+
});
|
|
593
|
+
break;
|
|
595
594
|
case "add_markdown":
|
|
596
595
|
t.onAddMarkdown({
|
|
597
596
|
...e.data,
|
|
@@ -610,13 +609,13 @@ function Cr(e, t) {
|
|
|
610
609
|
case "error": t.onError(e.data.message);
|
|
611
610
|
}
|
|
612
611
|
}
|
|
613
|
-
function
|
|
612
|
+
function Er(e, t) {
|
|
614
613
|
let n = e.trim().split("\n");
|
|
615
614
|
for (let e of n) if (e.startsWith("data: ")) try {
|
|
616
615
|
t(JSON.parse(e.slice(6)));
|
|
617
616
|
} catch {}
|
|
618
617
|
}
|
|
619
|
-
function
|
|
618
|
+
function Dr(e) {
|
|
620
619
|
let t = {
|
|
621
620
|
"Content-Type": "application/json",
|
|
622
621
|
...e.baseHeaders
|
|
@@ -625,16 +624,16 @@ function Tr(e) {
|
|
|
625
624
|
}
|
|
626
625
|
//#endregion
|
|
627
626
|
//#region src/client/hooks/useAgentChat.ts
|
|
628
|
-
function
|
|
629
|
-
let { agentEndpoint: t, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a } = e, { cubeApi: o } = c(), s =
|
|
627
|
+
function Or(e) {
|
|
628
|
+
let { agentEndpoint: t, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a } = e, { cubeApi: o } = c(), s = W(null), [l, u] = G(!1), d = W(e);
|
|
630
629
|
return d.current = e, {
|
|
631
|
-
sendMessage:
|
|
632
|
-
let f = (e) =>
|
|
630
|
+
sendMessage: V(async (e, c, l) => {
|
|
631
|
+
let f = (e) => Tr(e, d.current);
|
|
633
632
|
s.current && s.current.abort();
|
|
634
633
|
let p = new AbortController();
|
|
635
634
|
s.current = p, u(!0);
|
|
636
635
|
try {
|
|
637
|
-
let s = t || `${o.apiUrl || "/cubejs-api/v1"}/agent/chat`, u =
|
|
636
|
+
let s = t || `${o.apiUrl || "/cubejs-api/v1"}/agent/chat`, u = Dr({
|
|
638
637
|
baseHeaders: o.headers,
|
|
639
638
|
agentApiKey: n,
|
|
640
639
|
agentProvider: r,
|
|
@@ -663,13 +662,13 @@ function Er(e) {
|
|
|
663
662
|
g += h.decode(t, { stream: !0 });
|
|
664
663
|
let n = g.split("\n\n");
|
|
665
664
|
g = n.pop() || "";
|
|
666
|
-
for (let e of n)
|
|
665
|
+
for (let e of n) Er(e, f);
|
|
667
666
|
}
|
|
668
|
-
g.trim() &&
|
|
667
|
+
g.trim() && Er(g, f);
|
|
669
668
|
} catch (e) {
|
|
670
669
|
if (e.name !== "AbortError") {
|
|
671
670
|
let t = e instanceof Error ? e.message : "Stream failed";
|
|
672
|
-
d.current.onError(
|
|
671
|
+
d.current.onError(wr(t));
|
|
673
672
|
}
|
|
674
673
|
} finally {
|
|
675
674
|
u(!1), s.current = null;
|
|
@@ -683,21 +682,21 @@ function Er(e) {
|
|
|
683
682
|
a
|
|
684
683
|
]),
|
|
685
684
|
isStreaming: l,
|
|
686
|
-
abort:
|
|
685
|
+
abort: V(() => {
|
|
687
686
|
s.current && (s.current.abort(), s.current = null, u(!1));
|
|
688
687
|
}, [])
|
|
689
688
|
};
|
|
690
689
|
}
|
|
691
690
|
//#endregion
|
|
692
691
|
//#region src/client/components/AgenticNotebook/useAgentChatController.ts
|
|
693
|
-
function
|
|
694
|
-
let [l, u] =
|
|
695
|
-
|
|
696
|
-
let
|
|
697
|
-
|
|
698
|
-
let
|
|
699
|
-
|
|
700
|
-
let
|
|
692
|
+
function kr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onDashboardSaved: o, messages: s, isStreaming: c }) {
|
|
693
|
+
let [l, u] = G(!1), [d, f] = G(null), p = W(!1), { addMessage: m, appendToLastAssistantMessage: h, setLastAssistantError: g, addToolCallToLastAssistant: _, updateLastToolCall: v, setIsStreaming: y, setInputValue: b, setSessionId: x } = Y(t(qn)), S = Y((e) => e.sessionId), C = Y((e) => e.addBlock), w = Y((e) => e.updateBlock), T = W(s);
|
|
694
|
+
T.current = s;
|
|
695
|
+
let E = W(c);
|
|
696
|
+
E.current = c;
|
|
697
|
+
let D = W(S);
|
|
698
|
+
D.current = S;
|
|
699
|
+
let O = V(() => {
|
|
701
700
|
p.current && (p.current = !1, m({
|
|
702
701
|
id: `msg-${Date.now()}`,
|
|
703
702
|
role: "assistant",
|
|
@@ -705,56 +704,60 @@ function Dr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
|
|
|
705
704
|
toolCalls: [],
|
|
706
705
|
timestamp: Date.now()
|
|
707
706
|
}));
|
|
708
|
-
}, [m]), { sendMessage:
|
|
707
|
+
}, [m]), { sendMessage: k, abort: A } = Or({
|
|
709
708
|
agentEndpoint: e,
|
|
710
709
|
agentApiKey: n,
|
|
711
710
|
agentProvider: r,
|
|
712
711
|
agentModel: i,
|
|
713
712
|
agentProviderEndpoint: a,
|
|
714
|
-
onTextDelta:
|
|
715
|
-
u(!1),
|
|
716
|
-
}, [
|
|
717
|
-
onToolStart:
|
|
718
|
-
u(!1),
|
|
713
|
+
onTextDelta: V((e) => {
|
|
714
|
+
u(!1), O(), h(e);
|
|
715
|
+
}, [O, h]),
|
|
716
|
+
onToolStart: V((e, t, n) => {
|
|
717
|
+
u(!1), O(), _({
|
|
719
718
|
id: e,
|
|
720
719
|
name: t,
|
|
721
720
|
input: n,
|
|
722
721
|
status: "running"
|
|
723
722
|
});
|
|
724
|
-
}, [
|
|
725
|
-
onToolResult:
|
|
723
|
+
}, [O, _]),
|
|
724
|
+
onToolResult: V((e, t, n, r, i) => {
|
|
726
725
|
v({
|
|
727
726
|
id: e,
|
|
728
727
|
status: r ? "error" : "complete",
|
|
729
|
-
result: n
|
|
728
|
+
result: n,
|
|
729
|
+
...i === void 0 ? {} : { input: i }
|
|
730
730
|
});
|
|
731
731
|
}, [v]),
|
|
732
|
-
onAddPortlet:
|
|
732
|
+
onAddPortlet: V((e) => {
|
|
733
733
|
C(e);
|
|
734
734
|
}, [C]),
|
|
735
|
-
|
|
735
|
+
onUpdatePortlet: V(({ id: e, ...t }) => {
|
|
736
|
+
w(e, t);
|
|
737
|
+
}, [w]),
|
|
738
|
+
onAddMarkdown: V((e) => {
|
|
736
739
|
C(e);
|
|
737
740
|
}, [C]),
|
|
738
741
|
onDashboardSaved: o,
|
|
739
|
-
onTurnComplete:
|
|
742
|
+
onTurnComplete: V(() => {
|
|
740
743
|
p.current = !0, u(!0);
|
|
741
744
|
}, []),
|
|
742
|
-
onDone:
|
|
745
|
+
onDone: V((e, t) => {
|
|
743
746
|
p.current = !1, x(e), y(!1), u(!1), t && f(t);
|
|
744
747
|
}, [x, y]),
|
|
745
|
-
onError:
|
|
746
|
-
u(!1),
|
|
748
|
+
onError: V((e) => {
|
|
749
|
+
u(!1), O(), g(e), y(!1);
|
|
747
750
|
}, [
|
|
748
|
-
|
|
751
|
+
O,
|
|
749
752
|
g,
|
|
750
753
|
y
|
|
751
754
|
])
|
|
752
755
|
});
|
|
753
756
|
return {
|
|
754
|
-
doSend:
|
|
755
|
-
if (!e ||
|
|
757
|
+
doSend: V((e) => {
|
|
758
|
+
if (!e || E.current) return;
|
|
756
759
|
p.current = !1;
|
|
757
|
-
let t =
|
|
760
|
+
let t = T.current.map((e) => ({
|
|
758
761
|
role: e.role,
|
|
759
762
|
content: e.content,
|
|
760
763
|
...e.toolCalls && e.toolCalls.length > 0 ? { toolCalls: e.toolCalls } : {}
|
|
@@ -770,17 +773,17 @@ function Dr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
|
|
|
770
773
|
content: "",
|
|
771
774
|
toolCalls: [],
|
|
772
775
|
timestamp: Date.now()
|
|
773
|
-
}), b(""), y(!0), u(!0),
|
|
776
|
+
}), b(""), y(!0), u(!0), k(e, D.current, t);
|
|
774
777
|
}, [
|
|
775
778
|
m,
|
|
776
779
|
b,
|
|
777
780
|
y,
|
|
778
|
-
|
|
781
|
+
k
|
|
779
782
|
]),
|
|
780
|
-
handleStop:
|
|
781
|
-
|
|
782
|
-
}, [
|
|
783
|
-
abort:
|
|
783
|
+
handleStop: V(() => {
|
|
784
|
+
A(), y(!1);
|
|
785
|
+
}, [A, y]),
|
|
786
|
+
abort: A,
|
|
784
787
|
isThinking: l,
|
|
785
788
|
setIsThinking: u,
|
|
786
789
|
lastTraceId: d,
|
|
@@ -789,34 +792,34 @@ function Dr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
|
|
|
789
792
|
}
|
|
790
793
|
//#endregion
|
|
791
794
|
//#region src/client/components/AgenticNotebook/agentChatParts.tsx
|
|
792
|
-
var
|
|
793
|
-
function
|
|
795
|
+
var Ar = j("thumbUp"), jr = j("thumbDown");
|
|
796
|
+
function Mr(...e) {
|
|
794
797
|
return e.every(Boolean);
|
|
795
798
|
}
|
|
796
|
-
function
|
|
797
|
-
let t =
|
|
799
|
+
function Nr(e) {
|
|
800
|
+
let t = Mr(!e.isStreaming, e.messageCount > 0), n = e.lastTraceId ? e.scoredTraceIds.has(e.lastTraceId) : !1;
|
|
798
801
|
return {
|
|
799
|
-
showSaveAsDashboard:
|
|
802
|
+
showSaveAsDashboard: Mr(t, e.onDashboardSaved, e.portletBlockCount > 0),
|
|
800
803
|
showClear: e.messageCount > 0,
|
|
801
|
-
showFeedback:
|
|
804
|
+
showFeedback: Mr(t, e.onScore, !!e.lastTraceId, !n),
|
|
802
805
|
lastScored: n
|
|
803
806
|
};
|
|
804
807
|
}
|
|
805
|
-
function
|
|
806
|
-
let { t: a } =
|
|
807
|
-
return /* @__PURE__ */
|
|
808
|
+
function Pr({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDashboard: r, onClear: i }) {
|
|
809
|
+
let { t: a } = R();
|
|
810
|
+
return /* @__PURE__ */ J("div", {
|
|
808
811
|
className: "dc:flex dc:items-center dc:justify-between dc:px-4 dc:py-3 border-dc-border dc:border-b",
|
|
809
|
-
children: [/* @__PURE__ */
|
|
812
|
+
children: [/* @__PURE__ */ q("h3", {
|
|
810
813
|
className: "dc:text-sm dc:font-semibold text-dc-text",
|
|
811
814
|
children: a("notebook.aiAssistant")
|
|
812
|
-
}), /* @__PURE__ */
|
|
815
|
+
}), /* @__PURE__ */ J("div", {
|
|
813
816
|
className: "dc:flex dc:items-center dc:gap-1",
|
|
814
|
-
children: [e && /* @__PURE__ */
|
|
817
|
+
children: [e && /* @__PURE__ */ q("button", {
|
|
815
818
|
onClick: r,
|
|
816
819
|
className: "dc:text-xs dc:px-2 dc:py-1 dc:rounded-sm text-dc-accent dc:hover:opacity-80",
|
|
817
820
|
title: a("notebook.saveAsDashboardTitle"),
|
|
818
821
|
children: a("notebook.saveAsDashboard")
|
|
819
|
-
}), t && /* @__PURE__ */
|
|
822
|
+
}), t && /* @__PURE__ */ q("button", {
|
|
820
823
|
onClick: i,
|
|
821
824
|
disabled: n,
|
|
822
825
|
className: "dc:text-xs dc:px-2 dc:py-1 dc:rounded-sm text-dc-text-secondary dc:hover:opacity-80 dc:disabled:opacity-40",
|
|
@@ -826,65 +829,65 @@ function Mr({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDash
|
|
|
826
829
|
})]
|
|
827
830
|
});
|
|
828
831
|
}
|
|
829
|
-
function
|
|
830
|
-
let { t: n } =
|
|
831
|
-
return /* @__PURE__ */
|
|
832
|
+
function Fr({ scored: e, onScore: t }) {
|
|
833
|
+
let { t: n } = R();
|
|
834
|
+
return /* @__PURE__ */ q("div", {
|
|
832
835
|
className: "dc:flex dc:items-center dc:justify-center dc:gap-3 dc:py-4 dc:mt-2",
|
|
833
|
-
children: e ? /* @__PURE__ */
|
|
836
|
+
children: e ? /* @__PURE__ */ q("span", {
|
|
834
837
|
className: "dc:text-sm text-dc-text-secondary",
|
|
835
838
|
children: n("notebook.feedbackThanks")
|
|
836
|
-
}) : /* @__PURE__ */
|
|
839
|
+
}) : /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q("span", {
|
|
837
840
|
className: "dc:text-sm text-dc-text-secondary",
|
|
838
841
|
children: n("notebook.feedbackQuestion")
|
|
839
|
-
}), /* @__PURE__ */
|
|
842
|
+
}), /* @__PURE__ */ J("div", {
|
|
840
843
|
className: "dc:flex dc:items-center dc:gap-2",
|
|
841
|
-
children: [/* @__PURE__ */
|
|
844
|
+
children: [/* @__PURE__ */ J("button", {
|
|
842
845
|
onClick: () => t(1),
|
|
843
846
|
className: "dc:flex dc:items-center dc:gap-1.5 dc:px-3 dc:py-1.5 dc:rounded-lg dc:text-sm dc:font-medium border-dc-border dc:border text-dc-success hover:bg-dc-success-bg dc:transition-colors bg-dc-surface dc:cursor-pointer",
|
|
844
|
-
children: [/* @__PURE__ */
|
|
845
|
-
}), /* @__PURE__ */
|
|
847
|
+
children: [/* @__PURE__ */ q(Ar, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackYes")]
|
|
848
|
+
}), /* @__PURE__ */ J("button", {
|
|
846
849
|
onClick: () => t(0),
|
|
847
850
|
className: "dc:flex dc:items-center dc:gap-1.5 dc:px-3 dc:py-1.5 dc:rounded-lg dc:text-sm dc:font-medium border-dc-border dc:border text-dc-error hover:bg-dc-danger-bg dc:transition-colors bg-dc-surface dc:cursor-pointer",
|
|
848
|
-
children: [/* @__PURE__ */
|
|
851
|
+
children: [/* @__PURE__ */ q(jr, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackNo")]
|
|
849
852
|
})]
|
|
850
853
|
})] })
|
|
851
854
|
});
|
|
852
855
|
}
|
|
853
|
-
function
|
|
854
|
-
let { t } =
|
|
855
|
-
return /* @__PURE__ */
|
|
856
|
+
function Ir({ loadingComponent: e }) {
|
|
857
|
+
let { t } = R();
|
|
858
|
+
return /* @__PURE__ */ q("div", {
|
|
856
859
|
className: "dc:flex dc:mb-3 dc:justify-start",
|
|
857
860
|
style: { animation: "dc-msg-in 100ms ease-out" },
|
|
858
|
-
children: /* @__PURE__ */
|
|
861
|
+
children: /* @__PURE__ */ J("div", {
|
|
859
862
|
className: "dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm bg-dc-surface-secondary text-dc-text-secondary dc:rounded-bl-sm dc:flex dc:items-center dc:gap-2",
|
|
860
|
-
children: [e ? /* @__PURE__ */
|
|
863
|
+
children: [e ? /* @__PURE__ */ q("span", {
|
|
861
864
|
className: "dc:inline-flex dc:items-center dc:justify-center dc:h-4 dc:w-4",
|
|
862
865
|
children: e
|
|
863
|
-
}) : /* @__PURE__ */
|
|
866
|
+
}) : /* @__PURE__ */ q(z, { size: "xs" }), /* @__PURE__ */ q("span", { children: t("notebook.thinking") })]
|
|
864
867
|
})
|
|
865
868
|
});
|
|
866
869
|
}
|
|
867
|
-
function
|
|
868
|
-
let { t: e } =
|
|
869
|
-
return /* @__PURE__ */
|
|
870
|
+
function Lr() {
|
|
871
|
+
let { t: e } = R();
|
|
872
|
+
return /* @__PURE__ */ q("div", {
|
|
870
873
|
className: "dc:flex dc:items-center dc:justify-center dc:h-full",
|
|
871
|
-
children: /* @__PURE__ */
|
|
874
|
+
children: /* @__PURE__ */ J("div", {
|
|
872
875
|
className: "dc:text-center dc:max-w-xs",
|
|
873
876
|
children: [
|
|
874
|
-
/* @__PURE__ */
|
|
877
|
+
/* @__PURE__ */ q("div", {
|
|
875
878
|
className: "dc:text-lg dc:font-semibold text-dc-text dc:mb-2",
|
|
876
879
|
children: e("notebook.emptyState.title")
|
|
877
880
|
}),
|
|
878
|
-
/* @__PURE__ */
|
|
881
|
+
/* @__PURE__ */ q("p", {
|
|
879
882
|
className: "dc:text-sm text-dc-text-secondary dc:mb-4",
|
|
880
883
|
children: e("notebook.emptyState.description")
|
|
881
884
|
}),
|
|
882
|
-
/* @__PURE__ */
|
|
885
|
+
/* @__PURE__ */ J("div", {
|
|
883
886
|
className: "dc:space-y-2 dc:text-xs text-dc-text-muted",
|
|
884
887
|
children: [
|
|
885
|
-
/* @__PURE__ */
|
|
886
|
-
/* @__PURE__ */
|
|
887
|
-
/* @__PURE__ */
|
|
888
|
+
/* @__PURE__ */ q("p", { children: e("notebook.emptyState.example1") }),
|
|
889
|
+
/* @__PURE__ */ q("p", { children: e("notebook.emptyState.example2") }),
|
|
890
|
+
/* @__PURE__ */ q("p", { children: e("notebook.emptyState.example3") })
|
|
888
891
|
]
|
|
889
892
|
})
|
|
890
893
|
]
|
|
@@ -893,14 +896,14 @@ function Fr() {
|
|
|
893
896
|
}
|
|
894
897
|
//#endregion
|
|
895
898
|
//#region src/client/components/AgenticNotebook/AgentChatPanel.tsx
|
|
896
|
-
function
|
|
897
|
-
return e.length === 0 ? /* @__PURE__ */
|
|
899
|
+
function Rr({ messages: e, loadingComponent: t }) {
|
|
900
|
+
return e.length === 0 ? /* @__PURE__ */ q(Lr, {}) : /* @__PURE__ */ q(K, { children: e.map((e) => /* @__PURE__ */ q(Sr, {
|
|
898
901
|
message: e,
|
|
899
902
|
loadingComponent: t
|
|
900
903
|
}, e.id)) });
|
|
901
904
|
}
|
|
902
|
-
var
|
|
903
|
-
let { t: d } =
|
|
905
|
+
var zr = B.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onClear: o, onDashboardSaved: s, onScore: c, loadingComponent: l, initialPrompt: u }) {
|
|
906
|
+
let { t: d } = R(), f = W(null), p = W(!1), [m, h] = G(/* @__PURE__ */ new Set()), { messages: g, isStreaming: _, inputValue: v } = Y(t(Kn)), y = Y((e) => e.setInputValue), b = Y((e) => e.reset), x = Y((e) => e.setIsStreaming), S = Y((e) => e.blocks.filter((e) => e.type === "portlet").length), { doSend: C, handleStop: w, abort: T, isThinking: E, setIsThinking: D, lastTraceId: O, setLastTraceId: k } = kr({
|
|
904
907
|
agentEndpoint: e,
|
|
905
908
|
agentApiKey: n,
|
|
906
909
|
agentProvider: r,
|
|
@@ -909,12 +912,12 @@ var Lr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
|
|
|
909
912
|
onDashboardSaved: s,
|
|
910
913
|
messages: g,
|
|
911
914
|
isStreaming: _
|
|
912
|
-
}), A =
|
|
913
|
-
|
|
915
|
+
}), A = W(g.length);
|
|
916
|
+
H(() => {
|
|
914
917
|
g.length > A.current && f.current?.scrollIntoView({ behavior: "smooth" }), A.current = g.length;
|
|
915
|
-
}, [g]),
|
|
918
|
+
}, [g]), H(() => {
|
|
916
919
|
E && f.current?.scrollIntoView({ behavior: "smooth" });
|
|
917
|
-
}, [E]),
|
|
920
|
+
}, [E]), H(() => {
|
|
918
921
|
if (u && !p.current && g.length === 0) {
|
|
919
922
|
p.current = !0;
|
|
920
923
|
let e = setTimeout(() => C(u), 100);
|
|
@@ -927,13 +930,13 @@ var Lr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
|
|
|
927
930
|
g.length,
|
|
928
931
|
C
|
|
929
932
|
]);
|
|
930
|
-
let j =
|
|
933
|
+
let j = W(v);
|
|
931
934
|
j.current = v;
|
|
932
|
-
let M =
|
|
935
|
+
let M = V(() => {
|
|
933
936
|
C(j.current.trim());
|
|
934
|
-
}, [C]), N =
|
|
937
|
+
}, [C]), N = V(() => {
|
|
935
938
|
y("");
|
|
936
|
-
}, [y]), P =
|
|
939
|
+
}, [y]), P = V(() => {
|
|
937
940
|
T(), x(!1), D(!1), b(), k(null), h(/* @__PURE__ */ new Set()), o?.();
|
|
938
941
|
}, [
|
|
939
942
|
T,
|
|
@@ -942,14 +945,14 @@ var Lr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
|
|
|
942
945
|
b,
|
|
943
946
|
k,
|
|
944
947
|
o
|
|
945
|
-
]), F =
|
|
948
|
+
]), F = V(() => {
|
|
946
949
|
C(d("notebook.saveAsDashboardPrompt"));
|
|
947
|
-
}, [C, d]),
|
|
950
|
+
}, [C, d]), ee = V((e) => {
|
|
948
951
|
!O || !c || (c({
|
|
949
952
|
traceId: O,
|
|
950
953
|
value: e
|
|
951
954
|
}), h((e) => new Set(e).add(O)));
|
|
952
|
-
}, [O, c]), { showSaveAsDashboard:
|
|
955
|
+
}, [O, c]), { showSaveAsDashboard: I, showClear: te, showFeedback: ne, lastScored: L } = Nr({
|
|
953
956
|
onDashboardSaved: !!s,
|
|
954
957
|
onScore: !!c,
|
|
955
958
|
isStreaming: _,
|
|
@@ -958,32 +961,32 @@ var Lr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
|
|
|
958
961
|
lastTraceId: O,
|
|
959
962
|
scoredTraceIds: m
|
|
960
963
|
});
|
|
961
|
-
return /* @__PURE__ */
|
|
964
|
+
return /* @__PURE__ */ J("div", {
|
|
962
965
|
className: "dc:flex dc:flex-col dc:h-full bg-dc-surface",
|
|
963
966
|
children: [
|
|
964
|
-
/* @__PURE__ */
|
|
965
|
-
showSaveAsDashboard:
|
|
966
|
-
showClear:
|
|
967
|
+
/* @__PURE__ */ q(Pr, {
|
|
968
|
+
showSaveAsDashboard: I,
|
|
969
|
+
showClear: te,
|
|
967
970
|
isStreaming: _,
|
|
968
971
|
onSaveAsDashboard: F,
|
|
969
972
|
onClear: P
|
|
970
973
|
}),
|
|
971
|
-
/* @__PURE__ */
|
|
974
|
+
/* @__PURE__ */ J("div", {
|
|
972
975
|
className: "dc:flex-1 dc:overflow-y-auto dc:px-4 dc:py-3",
|
|
973
976
|
children: [
|
|
974
|
-
/* @__PURE__ */
|
|
977
|
+
/* @__PURE__ */ q(Rr, {
|
|
975
978
|
messages: g,
|
|
976
979
|
loadingComponent: l
|
|
977
980
|
}),
|
|
978
|
-
E && /* @__PURE__ */
|
|
979
|
-
(
|
|
980
|
-
scored:
|
|
981
|
-
onScore:
|
|
981
|
+
E && /* @__PURE__ */ q(Ir, { loadingComponent: l }),
|
|
982
|
+
(ne || L) && /* @__PURE__ */ q(Fr, {
|
|
983
|
+
scored: L,
|
|
984
|
+
onScore: ee
|
|
982
985
|
}),
|
|
983
|
-
/* @__PURE__ */
|
|
986
|
+
/* @__PURE__ */ q("div", { ref: f })
|
|
984
987
|
]
|
|
985
988
|
}),
|
|
986
|
-
/* @__PURE__ */
|
|
989
|
+
/* @__PURE__ */ q(Cr, {
|
|
987
990
|
value: v,
|
|
988
991
|
onChange: y,
|
|
989
992
|
onSend: M,
|
|
@@ -997,12 +1000,12 @@ var Lr = V.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
|
|
|
997
1000
|
});
|
|
998
1001
|
//#endregion
|
|
999
1002
|
//#region src/client/components/AgenticNotebook/useNotebookAutosave.ts
|
|
1000
|
-
function
|
|
1001
|
-
let a =
|
|
1003
|
+
function Br({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i }) {
|
|
1004
|
+
let a = W(), o = W(!1), s = W(i);
|
|
1002
1005
|
s.current = i;
|
|
1003
|
-
let c =
|
|
1006
|
+
let c = W(e > 0 || t > 0), l = V(() => {
|
|
1004
1007
|
a.current && clearTimeout(a.current);
|
|
1005
|
-
}, []), u =
|
|
1008
|
+
}, []), u = V(() => {
|
|
1006
1009
|
l(), a.current = setTimeout(() => {
|
|
1007
1010
|
o.current = !1;
|
|
1008
1011
|
let e = r();
|
|
@@ -1011,7 +1014,7 @@ function Rr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i
|
|
|
1011
1014
|
}, [l, r]);
|
|
1012
1015
|
(e > 0 || t > 0) && (c.current = !0);
|
|
1013
1016
|
let d = !!s.current && c.current;
|
|
1014
|
-
return
|
|
1017
|
+
return H(() => {
|
|
1015
1018
|
if (d) {
|
|
1016
1019
|
if (n) {
|
|
1017
1020
|
o.current = !0, l();
|
|
@@ -1026,9 +1029,9 @@ function Rr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i
|
|
|
1026
1029
|
n,
|
|
1027
1030
|
l,
|
|
1028
1031
|
u
|
|
1029
|
-
]),
|
|
1032
|
+
]), H(() => {
|
|
1030
1033
|
!n && o.current && s.current && c.current && u();
|
|
1031
|
-
}, [n, u]), { clearSave:
|
|
1034
|
+
}, [n, u]), { clearSave: V(() => {
|
|
1032
1035
|
s.current && (l(), s.current({
|
|
1033
1036
|
blocks: [],
|
|
1034
1037
|
messages: []
|
|
@@ -1037,9 +1040,9 @@ function Rr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i
|
|
|
1037
1040
|
}
|
|
1038
1041
|
//#endregion
|
|
1039
1042
|
//#region src/client/components/AgenticNotebook/index.tsx
|
|
1040
|
-
function
|
|
1041
|
-
let { t: i } =
|
|
1042
|
-
return /* @__PURE__ */
|
|
1043
|
+
function Vr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
|
|
1044
|
+
let { t: i } = R(), a = j("bookOpen"), o = j("documentText");
|
|
1045
|
+
return /* @__PURE__ */ J("button", {
|
|
1043
1046
|
type: "button",
|
|
1044
1047
|
onClick: r,
|
|
1045
1048
|
className: "dc:h-full dc:flex-shrink-0 dc:flex dc:flex-col dc:items-center dc:pt-3 dc:gap-2 bg-dc-surface border-dc-border dc:border-r dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
@@ -1048,46 +1051,46 @@ function zr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
|
|
|
1048
1051
|
width: 48
|
|
1049
1052
|
} : { width: 48 },
|
|
1050
1053
|
title: i("notebook.collapsed.expandNotebook"),
|
|
1051
|
-
children: [/* @__PURE__ */
|
|
1054
|
+
children: [/* @__PURE__ */ q(a, { className: "dc:w-5 dc:h-5 text-dc-text-muted" }), /* @__PURE__ */ q("div", {
|
|
1052
1055
|
className: "dc:flex dc:flex-col dc:items-center dc:gap-1.5 dc:flex-1 dc:overflow-y-auto dc:py-1",
|
|
1053
1056
|
style: { scrollbarWidth: "none" },
|
|
1054
|
-
children: e.length === 0 ? /* @__PURE__ */
|
|
1057
|
+
children: e.length === 0 ? /* @__PURE__ */ q("span", {
|
|
1055
1058
|
className: "dc:text-[9px] text-dc-text-disabled dc:writing-vertical-lr dc:mt-2",
|
|
1056
1059
|
style: { writingMode: "vertical-lr" },
|
|
1057
1060
|
children: i("notebook.collapsed.noBlocks")
|
|
1058
1061
|
}) : e.map((e) => {
|
|
1059
1062
|
let n = e.id === t, r;
|
|
1060
|
-
return r = e.type === "portlet" ? S(e.chartType) : o, /* @__PURE__ */
|
|
1063
|
+
return r = e.type === "portlet" ? S(e.chartType) : o, /* @__PURE__ */ q("div", {
|
|
1061
1064
|
className: "dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded-sm",
|
|
1062
1065
|
style: n ? { animation: "dc-icon-pulse 0.6s ease-in-out 3" } : void 0,
|
|
1063
1066
|
title: e.type === "portlet" ? e.title : e.title || i("notebook.collapsed.markdown"),
|
|
1064
|
-
children: /* @__PURE__ */
|
|
1067
|
+
children: /* @__PURE__ */ q(r, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
|
|
1065
1068
|
}, e.id);
|
|
1066
1069
|
})
|
|
1067
1070
|
})]
|
|
1068
1071
|
});
|
|
1069
1072
|
}
|
|
1070
|
-
function
|
|
1071
|
-
let { t } =
|
|
1072
|
-
return /* @__PURE__ */
|
|
1073
|
+
function Hr({ onExpand: e }) {
|
|
1074
|
+
let { t } = R(), n = j("sparkles");
|
|
1075
|
+
return /* @__PURE__ */ J("button", {
|
|
1073
1076
|
type: "button",
|
|
1074
1077
|
onClick: e,
|
|
1075
1078
|
className: "dc:w-12 dc:h-full dc:flex-shrink-0 dc:flex dc:flex-col dc:items-center dc:pt-3 dc:gap-2 bg-dc-surface border-dc-border dc:border-l dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
1076
1079
|
title: t("notebook.collapsed.expandChat"),
|
|
1077
|
-
children: [/* @__PURE__ */
|
|
1080
|
+
children: [/* @__PURE__ */ q(n, { className: "dc:w-5 dc:h-5 text-dc-accent" }), /* @__PURE__ */ q("span", {
|
|
1078
1081
|
className: "dc:text-[10px] dc:font-medium text-dc-text-muted",
|
|
1079
1082
|
style: { writingMode: "vertical-lr" },
|
|
1080
1083
|
children: t("notebook.collapsed.aiChat")
|
|
1081
1084
|
})]
|
|
1082
1085
|
});
|
|
1083
1086
|
}
|
|
1084
|
-
function
|
|
1085
|
-
let [p, m] =
|
|
1086
|
-
|
|
1087
|
+
function Ur({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r, agentProviderEndpoint: i, onSave: a, onDirtyStateChange: o, onDashboardSaved: s, onScore: c, colorPalette: l, loadingComponent: u, className: d, initialPrompt: f }) {
|
|
1088
|
+
let [p, m] = G(60), h = W(null), g = W(!1), { containerRef: _, layoutMode: v } = An(), [y, b] = G("chat"), [x, S] = G(null), [C, w] = G(!1), T = W(v), E = Y((e) => e.blocks), D = E.length, O = Y((e) => e.messages.length), k = Y((e) => e.isStreaming), A = Y((e) => e.save);
|
|
1089
|
+
H(() => {
|
|
1087
1090
|
T.current === "narrow" && v === "wide" && b("chat"), T.current = v;
|
|
1088
1091
|
}, [v]);
|
|
1089
|
-
let j =
|
|
1090
|
-
|
|
1092
|
+
let j = W(D);
|
|
1093
|
+
H(() => {
|
|
1091
1094
|
if (v === "narrow" && y === "chat" && D > j.current) {
|
|
1092
1095
|
let e = E[E.length - 1];
|
|
1093
1096
|
if (e) {
|
|
@@ -1103,8 +1106,8 @@ function Vr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
|
|
|
1103
1106
|
v,
|
|
1104
1107
|
y
|
|
1105
1108
|
]);
|
|
1106
|
-
let M =
|
|
1107
|
-
|
|
1109
|
+
let M = W(!1);
|
|
1110
|
+
H(() => {
|
|
1108
1111
|
if (k) M.current = !0;
|
|
1109
1112
|
else if (M.current && v === "narrow" && y === "chat" && D > 0) {
|
|
1110
1113
|
M.current = !1, w(!0);
|
|
@@ -1117,26 +1120,26 @@ function Vr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
|
|
|
1117
1120
|
y,
|
|
1118
1121
|
D
|
|
1119
1122
|
]);
|
|
1120
|
-
let N =
|
|
1123
|
+
let N = V((e) => {
|
|
1121
1124
|
_(e), h.current = e;
|
|
1122
|
-
}, [_]), P =
|
|
1125
|
+
}, [_]), P = W({
|
|
1123
1126
|
blockCount: D,
|
|
1124
1127
|
msgCount: O
|
|
1125
1128
|
});
|
|
1126
|
-
|
|
1129
|
+
H(() => {
|
|
1127
1130
|
o?.(D !== P.current.blockCount || O !== P.current.msgCount);
|
|
1128
1131
|
}, [
|
|
1129
1132
|
D,
|
|
1130
1133
|
O,
|
|
1131
1134
|
o
|
|
1132
1135
|
]);
|
|
1133
|
-
let { clearSave: F } =
|
|
1136
|
+
let { clearSave: F } = Br({
|
|
1134
1137
|
blockCount: D,
|
|
1135
1138
|
messageCount: O,
|
|
1136
1139
|
isStreaming: k,
|
|
1137
1140
|
save: A,
|
|
1138
1141
|
onSave: a
|
|
1139
|
-
}),
|
|
1142
|
+
}), ee = V((e) => {
|
|
1140
1143
|
e.preventDefault(), g.current = !0;
|
|
1141
1144
|
let t = (e) => {
|
|
1142
1145
|
if (!g.current || !h.current) return;
|
|
@@ -1146,7 +1149,7 @@ function Vr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
|
|
|
1146
1149
|
g.current = !1, document.removeEventListener("mousemove", t), document.removeEventListener("mouseup", n);
|
|
1147
1150
|
};
|
|
1148
1151
|
document.addEventListener("mousemove", t), document.addEventListener("mouseup", n);
|
|
1149
|
-
}, []),
|
|
1152
|
+
}, []), I = /* @__PURE__ */ q(zr, {
|
|
1150
1153
|
agentEndpoint: e,
|
|
1151
1154
|
agentApiKey: t,
|
|
1152
1155
|
agentProvider: n,
|
|
@@ -1158,46 +1161,46 @@ function Vr({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
|
|
|
1158
1161
|
loadingComponent: u,
|
|
1159
1162
|
initialPrompt: f
|
|
1160
1163
|
});
|
|
1161
|
-
return v === "narrow" ? /* @__PURE__ */
|
|
1164
|
+
return v === "narrow" ? /* @__PURE__ */ q("div", {
|
|
1162
1165
|
ref: N,
|
|
1163
1166
|
className: `dc:flex dc:h-full dc:w-full dc:overflow-hidden bg-dc-surface-secondary ${d || ""}`,
|
|
1164
|
-
children: y === "chat" ? /* @__PURE__ */
|
|
1167
|
+
children: y === "chat" ? /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q(Vr, {
|
|
1165
1168
|
blocks: E,
|
|
1166
1169
|
pulsingBlockId: x,
|
|
1167
1170
|
nudge: C,
|
|
1168
1171
|
onExpand: () => b("notebook")
|
|
1169
|
-
}), /* @__PURE__ */
|
|
1172
|
+
}), /* @__PURE__ */ q("div", {
|
|
1170
1173
|
className: "dc:h-full dc:overflow-hidden dc:flex-1",
|
|
1171
|
-
children:
|
|
1172
|
-
})] }) : /* @__PURE__ */
|
|
1174
|
+
children: I
|
|
1175
|
+
})] }) : /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q("div", {
|
|
1173
1176
|
className: "dc:h-full dc:overflow-hidden dc:flex-1",
|
|
1174
|
-
children: /* @__PURE__ */
|
|
1175
|
-
}), /* @__PURE__ */
|
|
1176
|
-
}) : /* @__PURE__ */
|
|
1177
|
+
children: /* @__PURE__ */ q(ur, { colorPalette: l })
|
|
1178
|
+
}), /* @__PURE__ */ q(Hr, { onExpand: () => b("chat") })] })
|
|
1179
|
+
}) : /* @__PURE__ */ J("div", {
|
|
1177
1180
|
ref: N,
|
|
1178
1181
|
className: `dc:flex dc:h-full dc:w-full dc:overflow-hidden bg-dc-surface-secondary ${d || ""}`,
|
|
1179
1182
|
children: [
|
|
1180
|
-
/* @__PURE__ */
|
|
1183
|
+
/* @__PURE__ */ q("div", {
|
|
1181
1184
|
className: "dc:h-full dc:overflow-hidden",
|
|
1182
1185
|
style: { width: `${p}%` },
|
|
1183
|
-
children: /* @__PURE__ */
|
|
1186
|
+
children: /* @__PURE__ */ q(ur, { colorPalette: l })
|
|
1184
1187
|
}),
|
|
1185
|
-
/* @__PURE__ */
|
|
1188
|
+
/* @__PURE__ */ q("div", {
|
|
1186
1189
|
className: "dc:w-1 dc:h-full dc:cursor-col-resize dc:flex-shrink-0 dc:transition-colors bg-dc-border dc:hover:bg-dc-accent",
|
|
1187
|
-
onMouseDown:
|
|
1190
|
+
onMouseDown: ee
|
|
1188
1191
|
}),
|
|
1189
|
-
/* @__PURE__ */
|
|
1192
|
+
/* @__PURE__ */ q("div", {
|
|
1190
1193
|
className: "dc:h-full dc:overflow-hidden",
|
|
1191
1194
|
style: { width: `${100 - p}%` },
|
|
1192
|
-
children:
|
|
1195
|
+
children: I
|
|
1193
1196
|
})
|
|
1194
1197
|
]
|
|
1195
1198
|
});
|
|
1196
1199
|
}
|
|
1197
|
-
var
|
|
1198
|
-
return /* @__PURE__ */
|
|
1200
|
+
var Wr = B.memo(function({ config: e, colorPalette: t, ...n }) {
|
|
1201
|
+
return /* @__PURE__ */ q(Bn, {
|
|
1199
1202
|
initialConfig: e,
|
|
1200
|
-
children: /* @__PURE__ */
|
|
1203
|
+
children: /* @__PURE__ */ q(Ur, {
|
|
1201
1204
|
...n,
|
|
1202
1205
|
colorPalette: t
|
|
1203
1206
|
})
|
|
@@ -1205,28 +1208,28 @@ var Hr = V.memo(function({ config: e, colorPalette: t, ...n }) {
|
|
|
1205
1208
|
});
|
|
1206
1209
|
//#endregion
|
|
1207
1210
|
//#region src/client/components/AnalyticsPage.tsx
|
|
1208
|
-
function
|
|
1209
|
-
let { t: e } =
|
|
1210
|
-
return /* @__PURE__ */
|
|
1211
|
+
function Gr() {
|
|
1212
|
+
let { t: e } = R();
|
|
1213
|
+
return /* @__PURE__ */ q("div", { children: e("analyticsPage.title") });
|
|
1211
1214
|
}
|
|
1212
1215
|
//#endregion
|
|
1213
1216
|
//#region src/client/stores/dataBrowserStore.tsx
|
|
1214
|
-
var
|
|
1215
|
-
function
|
|
1217
|
+
var Kr = "dc-data-browser-column-widths";
|
|
1218
|
+
function qr(e) {
|
|
1216
1219
|
try {
|
|
1217
|
-
let t = localStorage.getItem(
|
|
1220
|
+
let t = localStorage.getItem(Kr);
|
|
1218
1221
|
return t ? JSON.parse(t)[e] ?? {} : {};
|
|
1219
1222
|
} catch {
|
|
1220
1223
|
return {};
|
|
1221
1224
|
}
|
|
1222
1225
|
}
|
|
1223
|
-
function
|
|
1226
|
+
function Jr(e, t) {
|
|
1224
1227
|
try {
|
|
1225
|
-
let n = localStorage.getItem(
|
|
1226
|
-
r[e] = t, localStorage.setItem(
|
|
1228
|
+
let n = localStorage.getItem(Kr), r = n ? JSON.parse(n) : {};
|
|
1229
|
+
r[e] = t, localStorage.setItem(Kr, JSON.stringify(r));
|
|
1227
1230
|
} catch {}
|
|
1228
1231
|
}
|
|
1229
|
-
function
|
|
1232
|
+
function Yr(e = {}) {
|
|
1230
1233
|
return i()((t, n) => ({
|
|
1231
1234
|
selectedCube: e.defaultCube ?? null,
|
|
1232
1235
|
visibleColumns: e.defaultColumns ?? [],
|
|
@@ -1237,7 +1240,7 @@ function qr(e = {}) {
|
|
|
1237
1240
|
filters: [],
|
|
1238
1241
|
showFilterBar: !1,
|
|
1239
1242
|
showColumnPicker: !1,
|
|
1240
|
-
columnWidths: e.defaultCube ?
|
|
1243
|
+
columnWidths: e.defaultCube ? qr(e.defaultCube) : {},
|
|
1241
1244
|
selectCube: (e, n) => t({
|
|
1242
1245
|
selectedCube: e,
|
|
1243
1246
|
visibleColumns: n,
|
|
@@ -1246,7 +1249,7 @@ function qr(e = {}) {
|
|
|
1246
1249
|
page: 0,
|
|
1247
1250
|
filters: [],
|
|
1248
1251
|
showFilterBar: !1,
|
|
1249
|
-
columnWidths:
|
|
1252
|
+
columnWidths: qr(e)
|
|
1250
1253
|
}),
|
|
1251
1254
|
setVisibleColumns: (e) => t({
|
|
1252
1255
|
visibleColumns: e,
|
|
@@ -1293,39 +1296,39 @@ function qr(e = {}) {
|
|
|
1293
1296
|
...t.columnWidths,
|
|
1294
1297
|
[e]: n
|
|
1295
1298
|
};
|
|
1296
|
-
return t.selectedCube &&
|
|
1299
|
+
return t.selectedCube && Jr(t.selectedCube, r), { columnWidths: r };
|
|
1297
1300
|
}),
|
|
1298
1301
|
setColumnWidths: (e) => {
|
|
1299
1302
|
let r = n().selectedCube;
|
|
1300
|
-
r &&
|
|
1303
|
+
r && Jr(r, e), t({ columnWidths: e });
|
|
1301
1304
|
}
|
|
1302
1305
|
}));
|
|
1303
1306
|
}
|
|
1304
|
-
var
|
|
1305
|
-
function
|
|
1306
|
-
let i =
|
|
1307
|
-
return i.current ||=
|
|
1307
|
+
var Xr = Pn(null);
|
|
1308
|
+
function Zr({ children: e, defaultPageSize: t, defaultCube: n, defaultColumns: r }) {
|
|
1309
|
+
let i = W(null);
|
|
1310
|
+
return i.current ||= Yr({
|
|
1308
1311
|
defaultPageSize: t,
|
|
1309
1312
|
defaultCube: n,
|
|
1310
1313
|
defaultColumns: r
|
|
1311
|
-
}), /* @__PURE__ */
|
|
1314
|
+
}), /* @__PURE__ */ q(Xr.Provider, {
|
|
1312
1315
|
value: i.current,
|
|
1313
1316
|
children: e
|
|
1314
1317
|
});
|
|
1315
1318
|
}
|
|
1316
|
-
function
|
|
1317
|
-
let t =
|
|
1319
|
+
function Q(e) {
|
|
1320
|
+
let t = Fn(Xr);
|
|
1318
1321
|
if (!t) throw Error("useDataBrowserStore must be used within DataBrowserStoreProvider");
|
|
1319
1322
|
return n(t, e);
|
|
1320
1323
|
}
|
|
1321
1324
|
//#endregion
|
|
1322
1325
|
//#region src/client/hooks/useDataBrowser.ts
|
|
1323
|
-
function
|
|
1326
|
+
function Qr(e, t) {
|
|
1324
1327
|
if (!t) return !0;
|
|
1325
1328
|
let [n, r] = e.split("."), i = t.cubes.find((e) => e.name === n);
|
|
1326
1329
|
return !i || i.dimensions.some((e) => e.name === `${n}.${r}`);
|
|
1327
1330
|
}
|
|
1328
|
-
function
|
|
1331
|
+
function $r(e, t) {
|
|
1329
1332
|
if (!t) return "string";
|
|
1330
1333
|
let [n] = e.split("."), r = t.cubes.find((e) => e.name === n);
|
|
1331
1334
|
if (!r) return "string";
|
|
@@ -1334,7 +1337,7 @@ function Zr(e, t) {
|
|
|
1334
1337
|
let a = r.measures.find((t) => t.name === e);
|
|
1335
1338
|
return a ? a.type : "string";
|
|
1336
1339
|
}
|
|
1337
|
-
function
|
|
1340
|
+
function ei(e, t) {
|
|
1338
1341
|
if (!t) return {
|
|
1339
1342
|
dimensions: [],
|
|
1340
1343
|
measures: []
|
|
@@ -1356,8 +1359,8 @@ function Qr(e, t) {
|
|
|
1356
1359
|
measures: n.measures.filter((e) => r.has(e.type)).map((e) => e.name)
|
|
1357
1360
|
};
|
|
1358
1361
|
}
|
|
1359
|
-
function
|
|
1360
|
-
let e =
|
|
1362
|
+
function ti() {
|
|
1363
|
+
let e = Q((e) => e.selectedCube), n = Q((e) => e.visibleColumns), r = Q((e) => e.sortColumn), i = Q((e) => e.sortDirection), a = Q((e) => e.page), o = Q((e) => e.pageSize), s = Q((e) => e.filters), c = Q((e) => e.showFilterBar), l = Q((e) => e.showColumnPicker), u = Q(t((e) => ({
|
|
1361
1364
|
selectCube: e.selectCube,
|
|
1362
1365
|
setVisibleColumns: e.setVisibleColumns,
|
|
1363
1366
|
toggleColumn: e.toggleColumn,
|
|
@@ -1368,15 +1371,15 @@ function $r() {
|
|
|
1368
1371
|
setFilters: e.setFilters,
|
|
1369
1372
|
toggleFilterBar: e.toggleFilterBar,
|
|
1370
1373
|
setShowColumnPicker: e.setShowColumnPicker
|
|
1371
|
-
}))), { meta: d, getFieldLabel: f } =
|
|
1374
|
+
}))), { meta: d, getFieldLabel: f } = vt(), p = U(() => {
|
|
1372
1375
|
if (!d || !e) return null;
|
|
1373
1376
|
let t = d.cubes.find((t) => t.name === e);
|
|
1374
1377
|
if (!t) return null;
|
|
1375
1378
|
let n = t.dimensions.find((e) => e.primaryKey);
|
|
1376
1379
|
return n ? n.name : t.dimensions.length > 0 ? t.dimensions[0].name : null;
|
|
1377
|
-
}, [d, e]), m = r ?? p, h = r ? i : "asc", g =
|
|
1380
|
+
}, [d, e]), m = r ?? p, h = r ? i : "asc", g = U(() => {
|
|
1378
1381
|
if (!e || n.length === 0) return null;
|
|
1379
|
-
let t = n.filter((e) =>
|
|
1382
|
+
let t = n.filter((e) => Qr(e, d)), r = n.filter((e) => !Qr(e, d));
|
|
1380
1383
|
if (t.length === 0) return null;
|
|
1381
1384
|
let i = {
|
|
1382
1385
|
dimensions: t,
|
|
@@ -1394,7 +1397,7 @@ function $r() {
|
|
|
1394
1397
|
a,
|
|
1395
1398
|
o,
|
|
1396
1399
|
d
|
|
1397
|
-
]), { rawData: _, isLoading: v, isFetching: y, isDebouncing: b, error: x, refetch: S } =
|
|
1400
|
+
]), { rawData: _, isLoading: v, isFetching: y, isDebouncing: b, error: x, refetch: S } = rt(g, {
|
|
1398
1401
|
skip: !g,
|
|
1399
1402
|
debounceMs: 400,
|
|
1400
1403
|
keepPreviousData: !0,
|
|
@@ -1430,24 +1433,24 @@ function $r() {
|
|
|
1430
1433
|
}
|
|
1431
1434
|
//#endregion
|
|
1432
1435
|
//#region src/client/components/DataBrowser/DataBrowserSidebar.tsx
|
|
1433
|
-
var
|
|
1434
|
-
function
|
|
1435
|
-
let { t: r } =
|
|
1436
|
+
var ni = j("search"), ri = j("cube");
|
|
1437
|
+
function ii({ cubes: e, selectedCube: t, onSelectCube: n }) {
|
|
1438
|
+
let { t: r } = R(), [i, a] = G(""), o = U(() => {
|
|
1436
1439
|
let t = [...e].sort((e, t) => (e.title || e.name).localeCompare(t.title || t.name));
|
|
1437
1440
|
if (!i) return t;
|
|
1438
1441
|
let n = i.toLowerCase();
|
|
1439
1442
|
return t.filter((e) => e.name.toLowerCase().includes(n) || e.title.toLowerCase().includes(n));
|
|
1440
1443
|
}, [e, i]);
|
|
1441
|
-
return /* @__PURE__ */
|
|
1444
|
+
return /* @__PURE__ */ J("div", {
|
|
1442
1445
|
className: "dc:flex dc:flex-col dc:h-full dc:border-r border-dc-border bg-dc-surface dc:w-60 dc:shrink-0",
|
|
1443
|
-
children: [/* @__PURE__ */
|
|
1446
|
+
children: [/* @__PURE__ */ J("div", {
|
|
1444
1447
|
className: "dc:px-3 dc:py-3 dc:border-b border-dc-border",
|
|
1445
|
-
children: [/* @__PURE__ */
|
|
1448
|
+
children: [/* @__PURE__ */ q("h2", {
|
|
1446
1449
|
className: "dc:text-sm dc:font-semibold text-dc-text dc:mb-2",
|
|
1447
1450
|
children: r("dataBrowser.sidebar.cubes")
|
|
1448
|
-
}), /* @__PURE__ */
|
|
1451
|
+
}), /* @__PURE__ */ J("div", {
|
|
1449
1452
|
className: "dc:relative",
|
|
1450
|
-
children: [/* @__PURE__ */
|
|
1453
|
+
children: [/* @__PURE__ */ q(ni, { className: "dc:absolute dc:left-2 dc:top-1/2 dc:-translate-y-1/2 dc:w-3.5 dc:h-3.5 text-dc-text-muted" }), /* @__PURE__ */ q("input", {
|
|
1451
1454
|
type: "text",
|
|
1452
1455
|
value: i,
|
|
1453
1456
|
onChange: (e) => a(e.target.value),
|
|
@@ -1455,16 +1458,16 @@ function ni({ cubes: e, selectedCube: t, onSelectCube: n }) {
|
|
|
1455
1458
|
className: "dc:w-full dc:pl-7 dc:pr-2 dc:py-1.5 dc:text-xs dc:rounded-sm border-dc-border dc:border bg-dc-surface text-dc-text dc:outline-none dc:focus:ring-1 focus:ring-dc-accent"
|
|
1456
1459
|
})]
|
|
1457
1460
|
})]
|
|
1458
|
-
}), /* @__PURE__ */
|
|
1461
|
+
}), /* @__PURE__ */ J("div", {
|
|
1459
1462
|
className: "dc:flex-1 dc:overflow-y-auto dc:py-1",
|
|
1460
|
-
children: [o.map((e) => /* @__PURE__ */
|
|
1463
|
+
children: [o.map((e) => /* @__PURE__ */ J("button", {
|
|
1461
1464
|
onClick: () => n(e.name),
|
|
1462
1465
|
className: `dc:flex dc:items-center dc:gap-2 dc:w-full dc:px-3 dc:py-1.5 dc:text-left dc:text-sm dc:transition-colors ${t === e.name ? "bg-dc-accent-bg text-dc-accent dc:font-medium" : "text-dc-text dc:hover:bg-dc-surface-hover"}`,
|
|
1463
|
-
children: [/* @__PURE__ */
|
|
1466
|
+
children: [/* @__PURE__ */ q(ri, { className: "dc:w-4 dc:h-4 dc:shrink-0 text-dc-text-muted" }), /* @__PURE__ */ q("span", {
|
|
1464
1467
|
className: "dc:truncate",
|
|
1465
1468
|
children: e.title || e.name
|
|
1466
1469
|
})]
|
|
1467
|
-
}, e.name)), o.length === 0 && /* @__PURE__ */
|
|
1470
|
+
}, e.name)), o.length === 0 && /* @__PURE__ */ q("div", {
|
|
1468
1471
|
className: "dc:px-3 dc:py-4 dc:text-xs text-dc-text-muted dc:text-center",
|
|
1469
1472
|
children: r("dataBrowser.sidebar.noCubes")
|
|
1470
1473
|
})]
|
|
@@ -1473,77 +1476,77 @@ function ni({ cubes: e, selectedCube: t, onSelectCube: n }) {
|
|
|
1473
1476
|
}
|
|
1474
1477
|
//#endregion
|
|
1475
1478
|
//#region src/client/components/DataBrowser/DataBrowserToolbar.tsx
|
|
1476
|
-
var
|
|
1477
|
-
function
|
|
1478
|
-
let { t: p } =
|
|
1479
|
-
return /* @__PURE__ */
|
|
1479
|
+
var ai = j("filter"), oi = j("settings"), si = j("chevronLeft"), ci = j("chevronRight"), li = j("refresh");
|
|
1480
|
+
function ui({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleColumnPicker: r, page: i, pageSize: a, rowCount: o, hasNextPage: s, hasPrevPage: c, onPageChange: l, onPageSizeChange: u, isFetching: d, onRefresh: f }) {
|
|
1481
|
+
let { t: p } = R();
|
|
1482
|
+
return /* @__PURE__ */ J("div", {
|
|
1480
1483
|
className: "dc:flex dc:items-center dc:gap-2 dc:px-3 dc:py-2 dc:border-b border-dc-border bg-dc-surface-secondary",
|
|
1481
1484
|
children: [
|
|
1482
|
-
/* @__PURE__ */
|
|
1485
|
+
/* @__PURE__ */ J("button", {
|
|
1483
1486
|
onClick: n,
|
|
1484
1487
|
className: `dc:flex dc:items-center dc:gap-1.5 dc:px-2.5 dc:py-1.5 dc:text-xs dc:font-medium dc:rounded-sm dc:border dc:transition-colors ${e ? "border-dc-accent bg-dc-accent-bg text-dc-accent" : "border-dc-border bg-dc-surface text-dc-text dc:hover:bg-dc-surface-hover"}`,
|
|
1485
1488
|
children: [
|
|
1486
|
-
/* @__PURE__ */
|
|
1489
|
+
/* @__PURE__ */ q(ai, { className: "dc:w-3.5 dc:h-3.5" }),
|
|
1487
1490
|
p("dataBrowser.toolbar.filters"),
|
|
1488
|
-
t > 0 && /* @__PURE__ */
|
|
1491
|
+
t > 0 && /* @__PURE__ */ q("span", {
|
|
1489
1492
|
className: "dc:inline-flex dc:items-center dc:justify-center dc:w-4 dc:h-4 dc:text-[10px] dc:font-bold dc:rounded-full bg-dc-accent text-dc-surface",
|
|
1490
1493
|
children: t
|
|
1491
1494
|
})
|
|
1492
1495
|
]
|
|
1493
1496
|
}),
|
|
1494
|
-
/* @__PURE__ */
|
|
1497
|
+
/* @__PURE__ */ J("button", {
|
|
1495
1498
|
onClick: r,
|
|
1496
1499
|
className: "dc:flex dc:items-center dc:gap-1.5 dc:px-2.5 dc:py-1.5 dc:text-xs dc:font-medium dc:rounded-sm dc:border border-dc-border bg-dc-surface text-dc-text dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
1497
|
-
children: [/* @__PURE__ */
|
|
1500
|
+
children: [/* @__PURE__ */ q(oi, { className: "dc:w-3.5 dc:h-3.5" }), p("dataBrowser.toolbar.columns")]
|
|
1498
1501
|
}),
|
|
1499
|
-
/* @__PURE__ */
|
|
1500
|
-
/* @__PURE__ */
|
|
1502
|
+
/* @__PURE__ */ q("div", { className: "dc:flex-1" }),
|
|
1503
|
+
/* @__PURE__ */ q("span", {
|
|
1501
1504
|
className: "dc:text-xs text-dc-text-muted",
|
|
1502
1505
|
children: p("dataBrowser.toolbar.rows", { count: o })
|
|
1503
1506
|
}),
|
|
1504
|
-
/* @__PURE__ */
|
|
1507
|
+
/* @__PURE__ */ q("button", {
|
|
1505
1508
|
onClick: f,
|
|
1506
1509
|
className: "dc:p-1 dc:rounded-sm dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
1507
1510
|
title: "Refresh",
|
|
1508
|
-
children: /* @__PURE__ */
|
|
1511
|
+
children: /* @__PURE__ */ q(li, { className: `dc:w-3.5 dc:h-3.5 text-dc-text-muted ${d ? "dc:animate-spin" : ""}` })
|
|
1509
1512
|
}),
|
|
1510
|
-
/* @__PURE__ */
|
|
1513
|
+
/* @__PURE__ */ J("select", {
|
|
1511
1514
|
value: a,
|
|
1512
1515
|
onChange: (e) => u(Number(e.target.value)),
|
|
1513
1516
|
className: "dc:text-xs dc:px-1.5 dc:py-1 dc:rounded-sm dc:border border-dc-border bg-dc-surface text-dc-text dc:outline-none",
|
|
1514
1517
|
children: [
|
|
1515
|
-
/* @__PURE__ */
|
|
1518
|
+
/* @__PURE__ */ q("option", {
|
|
1516
1519
|
value: 20,
|
|
1517
1520
|
children: "20"
|
|
1518
1521
|
}),
|
|
1519
|
-
/* @__PURE__ */
|
|
1522
|
+
/* @__PURE__ */ q("option", {
|
|
1520
1523
|
value: 50,
|
|
1521
1524
|
children: "50"
|
|
1522
1525
|
}),
|
|
1523
|
-
/* @__PURE__ */
|
|
1526
|
+
/* @__PURE__ */ q("option", {
|
|
1524
1527
|
value: 100,
|
|
1525
1528
|
children: "100"
|
|
1526
1529
|
})
|
|
1527
1530
|
]
|
|
1528
1531
|
}),
|
|
1529
|
-
/* @__PURE__ */
|
|
1532
|
+
/* @__PURE__ */ J("div", {
|
|
1530
1533
|
className: "dc:flex dc:items-center dc:gap-1",
|
|
1531
1534
|
children: [
|
|
1532
|
-
/* @__PURE__ */
|
|
1535
|
+
/* @__PURE__ */ q("button", {
|
|
1533
1536
|
onClick: () => l(i - 1),
|
|
1534
1537
|
disabled: !c,
|
|
1535
1538
|
className: "dc:p-1 dc:rounded-sm dc:hover:bg-dc-surface-hover dc:disabled:opacity-30 dc:disabled:cursor-not-allowed dc:transition-colors",
|
|
1536
|
-
children: /* @__PURE__ */
|
|
1539
|
+
children: /* @__PURE__ */ q(si, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
|
|
1537
1540
|
}),
|
|
1538
|
-
/* @__PURE__ */
|
|
1541
|
+
/* @__PURE__ */ q("span", {
|
|
1539
1542
|
className: "dc:text-xs dc:font-medium text-dc-text dc:min-w-[2rem] dc:text-center",
|
|
1540
1543
|
children: i + 1
|
|
1541
1544
|
}),
|
|
1542
|
-
/* @__PURE__ */
|
|
1545
|
+
/* @__PURE__ */ q("button", {
|
|
1543
1546
|
onClick: () => l(i + 1),
|
|
1544
1547
|
disabled: !s,
|
|
1545
1548
|
className: "dc:p-1 dc:rounded-sm dc:hover:bg-dc-surface-hover dc:disabled:opacity-30 dc:disabled:cursor-not-allowed dc:transition-colors",
|
|
1546
|
-
children: /* @__PURE__ */
|
|
1549
|
+
children: /* @__PURE__ */ q(ci, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
|
|
1547
1550
|
})
|
|
1548
1551
|
]
|
|
1549
1552
|
})
|
|
@@ -1552,9 +1555,9 @@ function ci({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
|
|
|
1552
1555
|
}
|
|
1553
1556
|
//#endregion
|
|
1554
1557
|
//#region src/client/components/DataBrowser/DataBrowserTable.tsx
|
|
1555
|
-
var
|
|
1556
|
-
function
|
|
1557
|
-
let n =
|
|
1558
|
+
var di = j("chevronUp"), fi = j("chevronDown");
|
|
1559
|
+
function pi(e, t) {
|
|
1560
|
+
let n = $r(e, t);
|
|
1558
1561
|
return {
|
|
1559
1562
|
string: "text",
|
|
1560
1563
|
number: "num",
|
|
@@ -1566,14 +1569,14 @@ function di(e, t) {
|
|
|
1566
1569
|
max: "num"
|
|
1567
1570
|
}[n] || n;
|
|
1568
1571
|
}
|
|
1569
|
-
function
|
|
1570
|
-
return
|
|
1572
|
+
function mi(e, t) {
|
|
1573
|
+
return pi(e, t) === "num";
|
|
1571
1574
|
}
|
|
1572
|
-
function
|
|
1575
|
+
function hi(e) {
|
|
1573
1576
|
return e == null ? "" : typeof e == "number" ? e.toLocaleString() : typeof e == "boolean" ? e ? "true" : "false" : e instanceof Date ? e.toISOString() : String(e);
|
|
1574
1577
|
}
|
|
1575
|
-
var
|
|
1576
|
-
let { t: d } =
|
|
1578
|
+
var gi = 60, $ = 150, _i = B.memo(function({ data: e, columns: t, sortColumn: n, sortDirection: r, onSort: i, getFieldLabel: a, meta: o, isLoading: s, isFetching: c, selectedCube: l, loadingComponent: u }) {
|
|
1579
|
+
let { t: d } = R(), f = Q((e) => e.columnWidths), p = Q((e) => e.setColumnWidth), m = Q((e) => e.setColumnWidths), h = W(null), g = W(!1), _ = V((e, n) => {
|
|
1577
1580
|
e.preventDefault(), e.stopPropagation();
|
|
1578
1581
|
let r = e.clientX;
|
|
1579
1582
|
g.current = !1;
|
|
@@ -1585,10 +1588,10 @@ var mi = 60, hi = 150, gi = V.memo(function({ data: e, columns: t, sortColumn: n
|
|
|
1585
1588
|
i && (n[i] = e.getBoundingClientRect().width);
|
|
1586
1589
|
}), m(n);
|
|
1587
1590
|
}
|
|
1588
|
-
let a = e.target.closest("th"), o = a ? a.getBoundingClientRect().width :
|
|
1591
|
+
let a = e.target.closest("th"), o = a ? a.getBoundingClientRect().width : $, s = (e) => {
|
|
1589
1592
|
let t = e.clientX - r;
|
|
1590
1593
|
Math.abs(t) > 2 && (g.current = !0);
|
|
1591
|
-
let i = Math.max(
|
|
1594
|
+
let i = Math.max(gi, o + t);
|
|
1592
1595
|
p(n, i);
|
|
1593
1596
|
}, c = () => {
|
|
1594
1597
|
document.removeEventListener("mousemove", s), document.removeEventListener("mouseup", c), document.body.style.cursor = "", document.body.style.userSelect = "", requestAnimationFrame(() => {
|
|
@@ -1600,24 +1603,24 @@ var mi = 60, hi = 150, gi = V.memo(function({ data: e, columns: t, sortColumn: n
|
|
|
1600
1603
|
t,
|
|
1601
1604
|
p,
|
|
1602
1605
|
m
|
|
1603
|
-
]), v =
|
|
1606
|
+
]), v = V((e) => {
|
|
1604
1607
|
g.current || i(e);
|
|
1605
|
-
}, [i]), y = Object.keys(f).length > 0 ? t.reduce((e, t) => e + (f[t] ??
|
|
1606
|
-
return l ? e ? e.length === 0 && !s && !c ? /* @__PURE__ */
|
|
1608
|
+
}, [i]), y = Object.keys(f).length > 0 ? t.reduce((e, t) => e + (f[t] ?? $), 0) : void 0;
|
|
1609
|
+
return l ? e ? e.length === 0 && !s && !c ? /* @__PURE__ */ q("div", {
|
|
1607
1610
|
className: "dc:flex dc:items-center dc:justify-center dc:h-full",
|
|
1608
|
-
children: /* @__PURE__ */
|
|
1611
|
+
children: /* @__PURE__ */ J("div", {
|
|
1609
1612
|
className: "dc:text-center text-dc-text-muted",
|
|
1610
|
-
children: [/* @__PURE__ */
|
|
1613
|
+
children: [/* @__PURE__ */ q("div", {
|
|
1611
1614
|
className: "dc:text-sm dc:font-semibold dc:mb-1",
|
|
1612
1615
|
children: d("dataBrowser.noData")
|
|
1613
|
-
}), /* @__PURE__ */
|
|
1616
|
+
}), /* @__PURE__ */ q("div", {
|
|
1614
1617
|
className: "dc:text-xs text-dc-text-secondary",
|
|
1615
1618
|
children: d("dataBrowser.noRows")
|
|
1616
1619
|
})]
|
|
1617
1620
|
})
|
|
1618
|
-
}) : /* @__PURE__ */
|
|
1621
|
+
}) : /* @__PURE__ */ J("div", {
|
|
1619
1622
|
className: "dc:relative dc:flex-1 dc:overflow-auto",
|
|
1620
|
-
children: [c && /* @__PURE__ */
|
|
1623
|
+
children: [c && /* @__PURE__ */ q("div", { className: "dc:absolute dc:inset-0 bg-dc-surface dc:opacity-40 dc:z-10 dc:pointer-events-none" }), /* @__PURE__ */ J("table", {
|
|
1621
1624
|
ref: h,
|
|
1622
1625
|
className: "dc:border-collapse",
|
|
1623
1626
|
style: {
|
|
@@ -1626,31 +1629,31 @@ var mi = 60, hi = 150, gi = V.memo(function({ data: e, columns: t, sortColumn: n
|
|
|
1626
1629
|
minWidth: "100%"
|
|
1627
1630
|
},
|
|
1628
1631
|
children: [
|
|
1629
|
-
/* @__PURE__ */
|
|
1630
|
-
/* @__PURE__ */
|
|
1632
|
+
/* @__PURE__ */ q("colgroup", { children: t.map((e) => /* @__PURE__ */ q("col", { style: { width: f[e] ?? $ } }, e)) }),
|
|
1633
|
+
/* @__PURE__ */ q("thead", {
|
|
1631
1634
|
className: "dc:sticky dc:top-0 dc:z-20",
|
|
1632
1635
|
style: { backgroundColor: "var(--dc-surface-secondary)" },
|
|
1633
|
-
children: /* @__PURE__ */
|
|
1634
|
-
let s = n === e, c = a(e), l =
|
|
1635
|
-
return /* @__PURE__ */
|
|
1636
|
+
children: /* @__PURE__ */ q("tr", { children: t.map((e, i) => {
|
|
1637
|
+
let s = n === e, c = a(e), l = pi(e, o), u = i === t.length - 1, d = mi(e, o);
|
|
1638
|
+
return /* @__PURE__ */ J("th", {
|
|
1636
1639
|
onClick: () => v(e),
|
|
1637
1640
|
className: `dc:relative dc:px-3 dc:py-2 dc:text-xs dc:font-normal dc:cursor-pointer dc:select-none dc:border-b border-dc-border dc:transition-colors${u ? "" : " dc:border-r"}${d ? " dc:text-right" : " dc:text-left"}`,
|
|
1638
1641
|
style: { color: "var(--dc-text-muted)" },
|
|
1639
|
-
children: [/* @__PURE__ */
|
|
1642
|
+
children: [/* @__PURE__ */ J("div", {
|
|
1640
1643
|
className: `dc:flex dc:items-center dc:gap-1.5 dc:overflow-hidden${d ? " dc:justify-end" : ""}`,
|
|
1641
1644
|
children: [
|
|
1642
|
-
/* @__PURE__ */
|
|
1645
|
+
/* @__PURE__ */ q("span", {
|
|
1643
1646
|
className: "dc:font-medium dc:truncate",
|
|
1644
1647
|
style: { color: "var(--dc-text)" },
|
|
1645
1648
|
children: c
|
|
1646
1649
|
}),
|
|
1647
|
-
/* @__PURE__ */
|
|
1650
|
+
/* @__PURE__ */ q("span", {
|
|
1648
1651
|
className: "dc:text-[10px] dc:opacity-50 dc:shrink-0",
|
|
1649
1652
|
children: l
|
|
1650
1653
|
}),
|
|
1651
|
-
s &&
|
|
1654
|
+
s && q(r === "asc" ? di : fi, { className: "dc:w-3 dc:h-3 text-dc-accent dc:shrink-0" })
|
|
1652
1655
|
]
|
|
1653
|
-
}), /* @__PURE__ */
|
|
1656
|
+
}), /* @__PURE__ */ q("div", {
|
|
1654
1657
|
onMouseDown: (t) => _(t, e),
|
|
1655
1658
|
className: "dc:absolute dc:top-0 dc:right-0 dc:w-1.5 dc:h-full dc:cursor-col-resize dc:hover:bg-dc-accent dc:opacity-0 dc:hover:opacity-100 dc:transition-opacity",
|
|
1656
1659
|
style: { zIndex: 30 }
|
|
@@ -1658,7 +1661,7 @@ var mi = 60, hi = 150, gi = V.memo(function({ data: e, columns: t, sortColumn: n
|
|
|
1658
1661
|
}, e);
|
|
1659
1662
|
}) })
|
|
1660
1663
|
}),
|
|
1661
|
-
/* @__PURE__ */
|
|
1664
|
+
/* @__PURE__ */ q("tbody", { children: e.map((e, n) => /* @__PURE__ */ q("tr", {
|
|
1662
1665
|
className: "dc:border-b border-dc-border",
|
|
1663
1666
|
style: { transition: "background-color 0.1s" },
|
|
1664
1667
|
onMouseEnter: (e) => {
|
|
@@ -1668,30 +1671,30 @@ var mi = 60, hi = 150, gi = V.memo(function({ data: e, columns: t, sortColumn: n
|
|
|
1668
1671
|
e.currentTarget.style.backgroundColor = "";
|
|
1669
1672
|
},
|
|
1670
1673
|
children: t.map((n, r) => {
|
|
1671
|
-
let i = r === t.length - 1, a =
|
|
1672
|
-
return /* @__PURE__ */
|
|
1674
|
+
let i = r === t.length - 1, a = mi(n, o);
|
|
1675
|
+
return /* @__PURE__ */ q("td", {
|
|
1673
1676
|
className: `dc:px-3 dc:py-1.5 dc:text-sm dc:overflow-hidden dc:text-ellipsis dc:whitespace-nowrap${i ? "" : " dc:border-r border-dc-border"}${a ? " dc:text-right dc:tabular-nums" : ""}`,
|
|
1674
1677
|
style: { color: "var(--dc-text)" },
|
|
1675
|
-
children:
|
|
1678
|
+
children: hi(e[n])
|
|
1676
1679
|
}, n);
|
|
1677
1680
|
})
|
|
1678
1681
|
}, n)) })
|
|
1679
1682
|
]
|
|
1680
1683
|
})]
|
|
1681
|
-
}) : /* @__PURE__ */
|
|
1684
|
+
}) : /* @__PURE__ */ q("div", {
|
|
1682
1685
|
className: "dc:flex dc:flex-col dc:items-center dc:justify-center dc:h-full dc:gap-3",
|
|
1683
|
-
children: u ?? /* @__PURE__ */
|
|
1686
|
+
children: u ?? /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q(z, { size: "md" }), /* @__PURE__ */ q("div", {
|
|
1684
1687
|
className: "dc:text-sm text-dc-text-muted",
|
|
1685
1688
|
children: d("dataBrowser.loadingData")
|
|
1686
1689
|
})] })
|
|
1687
|
-
}) : /* @__PURE__ */
|
|
1690
|
+
}) : /* @__PURE__ */ q("div", {
|
|
1688
1691
|
className: "dc:flex dc:items-center dc:justify-center dc:h-full",
|
|
1689
|
-
children: /* @__PURE__ */
|
|
1692
|
+
children: /* @__PURE__ */ J("div", {
|
|
1690
1693
|
className: "dc:text-center text-dc-text-muted",
|
|
1691
|
-
children: [/* @__PURE__ */
|
|
1694
|
+
children: [/* @__PURE__ */ q("div", {
|
|
1692
1695
|
className: "dc:text-base dc:font-semibold dc:mb-1",
|
|
1693
1696
|
children: d("dataBrowser.selectCube")
|
|
1694
|
-
}), /* @__PURE__ */
|
|
1697
|
+
}), /* @__PURE__ */ q("div", {
|
|
1695
1698
|
className: "dc:text-sm text-dc-text-secondary",
|
|
1696
1699
|
children: d("dataBrowser.selectCubeHint")
|
|
1697
1700
|
})]
|
|
@@ -1700,41 +1703,41 @@ var mi = 60, hi = 150, gi = V.memo(function({ data: e, columns: t, sortColumn: n
|
|
|
1700
1703
|
});
|
|
1701
1704
|
//#endregion
|
|
1702
1705
|
//#region src/client/components/DataBrowser/index.tsx
|
|
1703
|
-
function
|
|
1704
|
-
let { selectedCube: r, visibleColumns: i, sortColumn: a, sortDirection: o, page: s, pageSize: c, filters: l, showFilterBar: u, showColumnPicker: d, rawData: f, isLoading: p, isFetching: m, rowCount: h, hasNextPage: g, hasPrevPage: _, meta: v, getFieldLabel: y, selectCube: b, setSort: x, setPage: S, setPageSize: C, setFilters: w, toggleFilterBar: T, setShowColumnPicker: E, toggleColumn: D, refetch: O } =
|
|
1706
|
+
function vi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n }) {
|
|
1707
|
+
let { selectedCube: r, visibleColumns: i, sortColumn: a, sortDirection: o, page: s, pageSize: c, filters: l, showFilterBar: u, showColumnPicker: d, rawData: f, isLoading: p, isFetching: m, rowCount: h, hasNextPage: g, hasPrevPage: _, meta: v, getFieldLabel: y, selectCube: b, setSort: x, setPage: S, setPageSize: C, setFilters: w, toggleFilterBar: T, setShowColumnPicker: E, toggleColumn: D, refetch: O } = ti(), k = U(() => v ? v.cubes.map((e) => ({
|
|
1705
1708
|
name: e.name,
|
|
1706
1709
|
title: e.title || e.name
|
|
1707
|
-
})) : [], [v]), A =
|
|
1708
|
-
let { dimensions: t } =
|
|
1710
|
+
})) : [], [v]), A = V((e) => {
|
|
1711
|
+
let { dimensions: t } = ei(e, v);
|
|
1709
1712
|
b(e, t);
|
|
1710
|
-
}, [v, b]), j =
|
|
1713
|
+
}, [v, b]), j = U(() => {
|
|
1711
1714
|
function e(t) {
|
|
1712
1715
|
return t.reduce((t, n) => "member" in n ? t + 1 : "type" in n && "filters" in n ? t + e(n.filters) : t, 0);
|
|
1713
1716
|
}
|
|
1714
1717
|
return e(l);
|
|
1715
|
-
}, [l]), M =
|
|
1718
|
+
}, [l]), M = U(() => {
|
|
1716
1719
|
if (!v) return null;
|
|
1717
1720
|
if (r) {
|
|
1718
1721
|
let e = v.cubes.find((e) => e.name === r);
|
|
1719
1722
|
return e ? { cubes: [e] } : null;
|
|
1720
1723
|
}
|
|
1721
1724
|
return v;
|
|
1722
|
-
}, [v, r]), N =
|
|
1725
|
+
}, [v, r]), N = V((e, t, n, r) => {
|
|
1723
1726
|
D(e.name);
|
|
1724
1727
|
}, [D]);
|
|
1725
|
-
return /* @__PURE__ */
|
|
1728
|
+
return /* @__PURE__ */ J("div", {
|
|
1726
1729
|
className: `dc:flex dc:border border-dc-border dc:rounded-lg dc:overflow-hidden bg-dc-surface ${e}`,
|
|
1727
1730
|
style: { height: t },
|
|
1728
1731
|
children: [
|
|
1729
|
-
/* @__PURE__ */
|
|
1732
|
+
/* @__PURE__ */ q(ii, {
|
|
1730
1733
|
cubes: k,
|
|
1731
1734
|
selectedCube: r,
|
|
1732
1735
|
onSelectCube: A
|
|
1733
1736
|
}),
|
|
1734
|
-
/* @__PURE__ */
|
|
1737
|
+
/* @__PURE__ */ J("div", {
|
|
1735
1738
|
className: "dc:flex dc:flex-col dc:flex-1 dc:min-w-0",
|
|
1736
1739
|
children: [
|
|
1737
|
-
r && /* @__PURE__ */
|
|
1740
|
+
r && /* @__PURE__ */ q(ui, {
|
|
1738
1741
|
showFilterBar: u,
|
|
1739
1742
|
filterCount: j,
|
|
1740
1743
|
onToggleFilterBar: T,
|
|
@@ -1749,15 +1752,15 @@ function _i({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
|
|
|
1749
1752
|
isFetching: m,
|
|
1750
1753
|
onRefresh: () => O()
|
|
1751
1754
|
}),
|
|
1752
|
-
r && u && /* @__PURE__ */
|
|
1755
|
+
r && u && /* @__PURE__ */ q("div", {
|
|
1753
1756
|
className: "dc:px-3 dc:py-2 dc:border-b border-dc-border bg-dc-surface",
|
|
1754
|
-
children: /* @__PURE__ */
|
|
1757
|
+
children: /* @__PURE__ */ q(en, {
|
|
1755
1758
|
filters: l,
|
|
1756
1759
|
schema: M,
|
|
1757
1760
|
onFiltersChange: w
|
|
1758
1761
|
})
|
|
1759
1762
|
}),
|
|
1760
|
-
/* @__PURE__ */
|
|
1763
|
+
/* @__PURE__ */ q(_i, {
|
|
1761
1764
|
data: f,
|
|
1762
1765
|
columns: i,
|
|
1763
1766
|
sortColumn: a,
|
|
@@ -1772,7 +1775,7 @@ function _i({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
|
|
|
1772
1775
|
})
|
|
1773
1776
|
]
|
|
1774
1777
|
}),
|
|
1775
|
-
d && M && /* @__PURE__ */
|
|
1778
|
+
d && M && /* @__PURE__ */ q(Ze, {
|
|
1776
1779
|
isOpen: d,
|
|
1777
1780
|
onClose: () => E(!1),
|
|
1778
1781
|
onSelect: N,
|
|
@@ -1783,11 +1786,11 @@ function _i({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
|
|
|
1783
1786
|
]
|
|
1784
1787
|
});
|
|
1785
1788
|
}
|
|
1786
|
-
function
|
|
1787
|
-
return /* @__PURE__ */
|
|
1789
|
+
function yi({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight: r, loadingComponent: i }) {
|
|
1790
|
+
return /* @__PURE__ */ q(Zr, {
|
|
1788
1791
|
defaultPageSize: n,
|
|
1789
1792
|
defaultCube: t,
|
|
1790
|
-
children: /* @__PURE__ */
|
|
1793
|
+
children: /* @__PURE__ */ q(vi, {
|
|
1791
1794
|
className: e,
|
|
1792
1795
|
maxHeight: r,
|
|
1793
1796
|
loadingComponent: i
|
|
@@ -1796,13 +1799,13 @@ function vi({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight:
|
|
|
1796
1799
|
}
|
|
1797
1800
|
//#endregion
|
|
1798
1801
|
//#region src/client/components/DashboardThumbnailPlaceholder.tsx
|
|
1799
|
-
var
|
|
1800
|
-
function
|
|
1801
|
-
return /* @__PURE__ */
|
|
1802
|
+
var bi = j("segment");
|
|
1803
|
+
function xi({ className: e = "" }) {
|
|
1804
|
+
return /* @__PURE__ */ q("div", {
|
|
1802
1805
|
className: `dc:flex dc:items-center dc:justify-center bg-dc-bg-secondary ${e}`,
|
|
1803
|
-
children: /* @__PURE__ */
|
|
1806
|
+
children: /* @__PURE__ */ J("div", {
|
|
1804
1807
|
className: "dc:text-center",
|
|
1805
|
-
children: [/* @__PURE__ */
|
|
1808
|
+
children: [/* @__PURE__ */ q(bi, { className: "dc:w-8 dc:h-8 dc:mx-auto dc:mb-2 text-dc-text-muted dc:opacity-50" }), /* @__PURE__ */ q("span", {
|
|
1806
1809
|
className: "dc:text-xs text-dc-text-muted",
|
|
1807
1810
|
children: "No preview"
|
|
1808
1811
|
})]
|
|
@@ -1810,6 +1813,6 @@ function bi({ className: e = "" }) {
|
|
|
1810
1813
|
});
|
|
1811
1814
|
}
|
|
1812
1815
|
//#endregion
|
|
1813
|
-
export {
|
|
1816
|
+
export { Wr as AgenticNotebook, Ae as AnalysisBuilder, qe as AnalyticsDashboard, Gr as AnalyticsPage, ye as AnalyticsPortlet, F as ChartErrorBoundary, He as ConfirmModal, x as CubeClient, D as CubeProvider, f as CubeQueryError, u as DEFAULT_ICONS, Ye as DashboardEditModal, Ne as DashboardFilterBar, Fe as DashboardGrid, ze as DashboardGridSurface, Ce as DashboardModals, te as DashboardProvider, fe as DashboardStoreProvider, xi as DashboardThumbnailPlaceholder, $e as DashboardToolbar, yi as DataBrowser, xe as DrillBreadcrumb, pe as DrillMenu, tn as ExecutionPlanPanel, rn as ExplainAIPanel, Jt as LazyChart, z as LoadingIndicator, We as Modal, Bn as NotebookStoreProvider, Ee as PortletAnalysisModal, Ve as PortletContainer, o as ScrollContainerProvider, Tt as THEME_PRESETS, wt as applyTheme, Bt as buildFunnelConfigFromQueries, Lt as buildServerFunnelQuery, g as captureThumbnail, E as chartPluginRegistry, _n as compressAndEncode, b as createCubeClient, Nn as createDashboardLayout, L as createDashboardStore, Je as createDefaultConfig, De as createDefaultFlowConfig, Re as createDefaultFunnelConfig, Xe as createDefaultQueryConfig, Oe as createDefaultRetentionConfig, je as createDefaultWorkspace, jt as createExplainQueryKey, pt as createFlowQueryKey, ot as createFunnelQueryKey, Rn as createNotebookStore, wn as decodeAndDecompress, pn as detectAsymmetricDateRanges, fn as detectMeasureCollisions, T as exportPortletToXlsx, Mn as formatChartData, Ft as formatDuration, ct as generateQueryLabel, un as generateShareUrl, Cn as getAvailableBindingKeyDimensions, Wt as getAvailableChartTypes, zt as getBindingKeyField, yn as getBindingKeyLabel, S as getChartTypeIcon, mt as getCombinedFields, Vt as getCubeNameFromQuery, O as getFieldTypeIcon, j as getIcon, C as getIconData, A as getIconRegistry, v as getIconsByCategory, l as getMeasureTypeIcon, ft as getQueryIndices, ut as getQueryLabels, Ct as getTheme, St as getThemeVariable, Kt as getUnavailableChartTypes, on as getValidationSummary, Yt as highlightCodeBlocks, Ut as isChartTypeAvailable, bt as isDarkMode, m as isExportAvailable, Ge as isFlowConfig, Be as isFunnelConfig, It as isFunnelData, xn as isMinimumFunnelConfigValid, Pe as isMultiQuery, et as isMultiQueryConfig, lt as isMultiQueryData, Tn as isMultiQueryValid, Me as isQueryConfig, Se as isRetentionConfig, N as isSankeyData, P as isServerFlowQuery, he as isServerFunnelQuery, dn as isShareableSize, Qe as isSingleQuery, p as isThumbnailCaptureAvailable, tt as isValidAnalysisConfig, Te as isValidAnalysisWorkspace, Ht as isValidChartType, it as mergeQueryResults, gt as mergeResultsByKey, _t as mergeResultsConcat, we as migrateConfig, Ue as migrateLegacyPortlet, vn as parseShareUrl, Gt as preloadChart, qt as preloadCharts, k as registerIcons, y as resetIcons, Et as resetTheme, ae as selectAllActions, Jn as selectBlockActions, Vn as selectBlocks, Zt as selectBreakdowns, En as selectChartConfig, qn as selectChatActions, Kn as selectChatState, an as selectCurrentState, ce as selectDebugData, me as selectDebugDataActions, nt as selectEditModeActions, I as selectEditModeState, $t as selectFilters, Qt as selectFunnelState, Gn as selectInputValue, Un as selectIsStreaming, _e as selectLayoutActions, ie as selectLayoutState, Hn as selectMessages, nn as selectMetrics, ge as selectModalActions, ve as selectModalState, gn as selectMultiQueryState, re as selectPortletDebugData, Wn as selectSessionId, se as selectThumbnailDirty, Xt as selectUIState, d as setIcon, Ot as setTheme, xt as setThemeVariable, Rt as transformServerFunnelResult, Or as useAgentChat, ln as useAnalysisBuilder, hn as useAnalysisBuilderStore, c as useCubeApi, w as useCubeContext, s as useCubeFeatures, yt as useCubeFieldLabel, rt as useCubeLoadQuery, rt as useCubeQuery, vt as useCubeMeta, M as useCubeMetaQuery, Le as useDashboard, de as useDashboardContext, Ke as useDashboardStore, oe as useDashboardStoreApi, be as useDashboardStoreOptional, ti as useDataBrowser, ke as useDrillInteraction, At as useDryRunQueries, kt as useDryRunQuery, le as useElementVisibility, Pt as useExplainAI, Nt as useExplainQuery, ht as useFlowQuery, dt as useFunnelQuery, st as useMultiCubeLoadQuery, Mt as useMultiDryRunQueries, Y as useNotebookStore, a as useScrollContainer, ue as useScrollDetection, jn as useTheme, mn as validateBindingKeyExists, sn as validateBindingKeyForSteps, bn as validateFunnelConfig, at as validateMergeKey, On as validateMergeKeys, cn as validateMultiQueryConfig, Sn as validateStepQueries, Dn as validateTimeDimensionAlignment, h as warnIfExcelJsMissing, _ as warnIfScreenshotLibMissing, Dt as watchThemeChanges };
|
|
1814
1817
|
|
|
1815
1818
|
//# sourceMappingURL=index.js.map
|