drizzle-cube 0.8.1 → 0.8.2
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-Bc7mPqcf.cjs +1 -0
- package/dist/adapters/ActivityGridChart.config-Dd2YDeaM.js +2 -0
- package/dist/adapters/AreaChart.config-BqNusnpg.js +2 -0
- package/dist/adapters/AreaChart.config-dI84V34B.cjs +1 -0
- package/dist/adapters/BarChart.config-B9MQjgLJ.cjs +1 -0
- package/dist/adapters/BarChart.config-Cq_qcxBA.js +2 -0
- package/dist/adapters/BoxPlotChart.config-XmtRN2xq.cjs +1 -0
- package/dist/adapters/BoxPlotChart.config-Zc-JGV-W.js +2 -0
- package/dist/adapters/BubbleChart.config-CU_18uxb.js +2 -0
- package/dist/adapters/BubbleChart.config-CbhOzA6-.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-Bwo3uaa-.js +2 -0
- package/dist/adapters/CandlestickChart.config-CmRBlWFv.cjs +1 -0
- package/dist/adapters/DataTable.config-7JNSj6qQ.js +2 -0
- package/dist/adapters/DataTable.config-DNxm1sYk.cjs +1 -0
- package/dist/adapters/DotStripChart.config-B7Dl-T1h.js +2 -0
- package/dist/adapters/DotStripChart.config-Co4g1fpZ.cjs +1 -0
- package/dist/adapters/FunnelChart.config-D1TpuGtL.cjs +1 -0
- package/dist/adapters/FunnelChart.config-vuZScOHQ.js +2 -0
- package/dist/adapters/GaugeChart.config-BMgUHKhC.cjs +1 -0
- package/dist/adapters/GaugeChart.config-zdpFydo6.js +2 -0
- package/dist/adapters/HeatMapChart.config-4XMab1zq.js +2 -0
- package/dist/adapters/HeatMapChart.config-C-Ns6QBq.cjs +1 -0
- package/dist/adapters/KpiDelta.config-BGdqsHcc.js +2 -0
- package/dist/adapters/KpiDelta.config-DuNxrGIi.cjs +1 -0
- package/dist/adapters/KpiNumber.config-CkPWpcSz.js +2 -0
- package/dist/adapters/KpiNumber.config-DMGmuA3i.cjs +1 -0
- package/dist/adapters/KpiText.config-Bvtuv8vE.js +2 -0
- package/dist/adapters/KpiText.config-DOMLO16U.cjs +1 -0
- package/dist/adapters/LineChart.config-CJmTSmZ1.js +2 -0
- package/dist/adapters/LineChart.config-CrkGu0aa.cjs +1 -0
- package/dist/adapters/MarkdownChart.config-BgY5Xc97.cjs +1 -0
- package/dist/adapters/MarkdownChart.config-Cm6G4Yuh.js +2 -0
- package/dist/adapters/MeasureProfileChart.config-BYwDo_ox.cjs +1 -0
- package/dist/adapters/MeasureProfileChart.config-Dt7npubZ.js +2 -0
- package/dist/adapters/PieChart.config-BRbPctBN.cjs +1 -0
- package/dist/adapters/PieChart.config-HZofeody.js +2 -0
- package/dist/adapters/ProportionBarChart.config-B_rTtGZr.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-ChCSoM0L.js +2 -0
- package/dist/adapters/RadarChart.config-B9OdMEib.js +2 -0
- package/dist/adapters/RadarChart.config-BOgPD2Kz.cjs +1 -0
- package/dist/adapters/RadialBarChart.config-CeP7jEbq.js +2 -0
- package/dist/adapters/RadialBarChart.config-sivA1Jmo.cjs +1 -0
- package/dist/adapters/RecordsTable.config-BInSgo-G.js +2 -0
- package/dist/adapters/RecordsTable.config-CVmxLdjz.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-8ry7gh6X.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-Bxtxnlcf.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-DCtOD8dO.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-i-LgmmIT.cjs +1 -0
- package/dist/adapters/SankeyChart.config-DfpeHfNT.cjs +1 -0
- package/dist/adapters/SankeyChart.config-hfM0ACm1.js +2 -0
- package/dist/adapters/ScatterChart.config-BD2vfOZ6.js +2 -0
- package/dist/adapters/ScatterChart.config-CdpvRueF.cjs +1 -0
- package/dist/adapters/SunburstChart.config-Boyt88L_.cjs +1 -0
- package/dist/adapters/SunburstChart.config-BvrofzMv.js +2 -0
- package/dist/adapters/TreeMapChart.config-DBrqwtqT.js +2 -0
- package/dist/adapters/TreeMapChart.config-KcRLlZAG.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-CuCGaIl5.cjs +1 -0
- package/dist/adapters/{TreeMapChart.config-BJ8HnZU0.cjs → WaterfallChart.config-DZ8H0V2L.js} +2 -1
- package/dist/adapters/{compiler-CBGD_4Et.js → compiler-BFLAXV7W.js} +1 -1
- package/dist/adapters/{compiler-BxZHh0UD.cjs → compiler-DG6dLFQU.cjs} +1 -1
- package/dist/adapters/core/index.cjs +1 -1
- package/dist/adapters/core/index.js +1 -1
- package/dist/adapters/{core-CIGuwGuI.cjs → core-CrJu6vJY.cjs} +1 -1
- package/dist/adapters/{core-DAAnqPyN.js → core-l3KMTu9u.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 +5 -5
- package/dist/adapters/{handler-BcYTw6zB.cjs → handler-CRGZ8gd2.cjs} +9 -9
- package/dist/adapters/{handler-eA0VJDHj.js → handler-DESp4wPg.js} +215 -95
- 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-BqdBHmXL.js +730 -0
- package/dist/adapters/mcp-transport-D8xZJLPD.cjs +42 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +5 -5
- package/dist/adapters/{openai-CYYjUG_3.js → openai-BJyU4kvE.js} +1 -1
- package/dist/adapters/{openai-Bw1j-OiP.cjs → openai-DH9MtcLA.cjs} +1 -1
- package/dist/adapters/{openai-BZ48ioYp.js → openai-DK_KWiI7.js} +1 -1
- package/dist/adapters/{openai-CLjyL5_J.cjs → openai-GO3M7Hwi.cjs} +1 -1
- package/dist/adapters/{utils-BagURNRb.js → utils-BhlkVCzZ.js} +38 -0
- package/dist/adapters/utils-C1JpSDOX.cjs +128 -0
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.js +1 -1
- package/dist/cjs/client/components/charts/DotStripChart.config.d.ts +15 -0
- package/dist/cjs/client/components/charts/DotStripChart.d.ts +4 -0
- package/dist/cjs/client/components/charts/DotStripChart.helpers.d.ts +91 -0
- package/dist/cjs/client/icons/types.d.ts +1 -0
- package/dist/cjs/client/types.d.ts +6 -1
- package/dist/cli/index.cjs +4 -0
- package/dist/client/charts.js +12 -12
- package/dist/client/chunks/{DashboardEditModal-_ZDMwaGX.js → DashboardEditModal-BliiIHcI.js} +12 -12
- package/dist/client/chunks/DashboardEditModal-BliiIHcI.js.map +1 -0
- package/dist/client/chunks/DotStripChart-ChwsVeRU.js +408 -0
- package/dist/client/chunks/DotStripChart-ChwsVeRU.js.map +1 -0
- package/dist/client/chunks/{ProportionBarChart-qfpAWhIg.js → ProportionBarChart-D-Qt9nkF.js} +3 -3
- package/dist/client/chunks/{ProportionBarChart-qfpAWhIg.js.map → ProportionBarChart-D-Qt9nkF.js.map} +1 -1
- package/dist/client/chunks/{RecordsTable-KmJy94xN.js → RecordsTable-aG-QYXOH.js} +4 -4
- package/dist/client/chunks/{RecordsTable-KmJy94xN.js.map → RecordsTable-aG-QYXOH.js.map} +1 -1
- package/dist/client/chunks/{RetentionCombinedChart-C7X6aj97.js → RetentionCombinedChart-BRZ9w7ah.js} +3 -3
- package/dist/client/chunks/{RetentionCombinedChart-C7X6aj97.js.map → RetentionCombinedChart-BRZ9w7ah.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-PpRpiqR_.js → RetentionHeatmap-LkTt89pK.js} +2 -2
- package/dist/client/chunks/{RetentionHeatmap-PpRpiqR_.js.map → RetentionHeatmap-LkTt89pK.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-DaqyOjLX.js → analysis-builder-C0gJ3kDD.js} +9 -9
- package/dist/client/chunks/{analysis-builder-DaqyOjLX.js.map → analysis-builder-C0gJ3kDD.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-shared-ow9KAHDP.js → analysis-builder-shared-dqcpl_WL.js} +9 -9
- package/dist/client/chunks/{analysis-builder-shared-ow9KAHDP.js.map → analysis-builder-shared-dqcpl_WL.js.map} +1 -1
- package/dist/client/chunks/{chart-activity-grid-DO82rrbW.js → chart-activity-grid-CJzxC18G.js} +40 -2
- package/dist/client/chunks/chart-activity-grid-CJzxC18G.js.map +1 -0
- package/dist/client/chunks/{chart-area-9SBeG0GM.js → chart-area-C66dgy84.js} +2 -2
- package/dist/client/chunks/{chart-area-9SBeG0GM.js.map → chart-area-C66dgy84.js.map} +1 -1
- package/dist/client/chunks/{chart-bar-tfgmLK2D.js → chart-bar-D9kiSOCT.js} +3 -3
- package/dist/client/chunks/{chart-bar-tfgmLK2D.js.map → chart-bar-D9kiSOCT.js.map} +1 -1
- package/dist/client/chunks/{chart-box-plot-BuYW6j6g.js → chart-box-plot-FsLIMisc.js} +2 -2
- package/dist/client/chunks/{chart-box-plot-BuYW6j6g.js.map → chart-box-plot-FsLIMisc.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-BNmonWqW.js → chart-bubble-BzyvrqKs.js} +2 -2
- package/dist/client/chunks/{chart-bubble-BNmonWqW.js.map → chart-bubble-BzyvrqKs.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-BYeWNkKl.js → chart-candlestick-6lD35bLw.js} +2 -2
- package/dist/client/chunks/{chart-candlestick-BYeWNkKl.js.map → chart-candlestick-6lD35bLw.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-C_oHiK6N.js → chart-data-table-Cou9qOab.js} +248 -120
- package/dist/client/chunks/chart-data-table-Cou9qOab.js.map +1 -0
- package/dist/client/chunks/{chart-funnel-B_CWC3cL.js → chart-funnel-B0775aaT.js} +2 -2
- package/dist/client/chunks/{chart-funnel-B_CWC3cL.js.map → chart-funnel-B0775aaT.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-D7VxwPnx.js → chart-gauge-pf-2E8w9.js} +3 -3
- package/dist/client/chunks/{chart-gauge-D7VxwPnx.js.map → chart-gauge-pf-2E8w9.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-q7Vf_dog.js → chart-heat-map-EzVGe6fl.js} +3 -3
- package/dist/client/chunks/{chart-heat-map-q7Vf_dog.js.map → chart-heat-map-EzVGe6fl.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-PEuA3iGs.js → chart-kpi-delta-lfskDdx4.js} +3 -3
- package/dist/client/chunks/{chart-kpi-delta-PEuA3iGs.js.map → chart-kpi-delta-lfskDdx4.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-DlxrO6Pq.js → chart-kpi-number-BnsofbTf.js} +5 -5
- package/dist/client/chunks/{chart-kpi-number-DlxrO6Pq.js.map → chart-kpi-number-BnsofbTf.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-Cx6cJu2s.js → chart-kpi-text-U5EdmdkV.js} +3 -3
- package/dist/client/chunks/{chart-kpi-text-Cx6cJu2s.js.map → chart-kpi-text-U5EdmdkV.js.map} +1 -1
- package/dist/client/chunks/{chart-line-pDe25JzB.js → chart-line-IwXqPY80.js} +3 -3
- package/dist/client/chunks/{chart-line-pDe25JzB.js.map → chart-line-IwXqPY80.js.map} +1 -1
- package/dist/client/chunks/{chart-markdown-CRY15yp0.js → chart-markdown-yxN_xBP9.js} +2 -2
- package/dist/client/chunks/{chart-markdown-CRY15yp0.js.map → chart-markdown-yxN_xBP9.js.map} +1 -1
- package/dist/client/chunks/{chart-measure-profile-DyQ-vvuC.js → chart-measure-profile-Bs4vhBJQ.js} +3 -3
- package/dist/client/chunks/{chart-measure-profile-DyQ-vvuC.js.map → chart-measure-profile-Bs4vhBJQ.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-ZrnBycy1.js → chart-pie-LDJfDXfX.js} +3 -3
- package/dist/client/chunks/{chart-pie-ZrnBycy1.js.map → chart-pie-LDJfDXfX.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-BXbnYMUJ.js → chart-radar-BZY6TP9m.js} +3 -3
- package/dist/client/chunks/{chart-radar-BXbnYMUJ.js.map → chart-radar-BZY6TP9m.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-CYxH3ryh.js → chart-radial-bar-aga05X7h.js} +3 -3
- package/dist/client/chunks/{chart-radial-bar-CYxH3ryh.js.map → chart-radial-bar-aga05X7h.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-C9R_TDDh.js → chart-sankey-MRCoWFd4.js} +2 -2
- package/dist/client/chunks/{chart-sankey-C9R_TDDh.js.map → chart-sankey-MRCoWFd4.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-DrwRkzzl.js → chart-scatter-DP-nn9hH.js} +3 -3
- package/dist/client/chunks/{chart-scatter-DrwRkzzl.js.map → chart-scatter-DP-nn9hH.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-Bs1yqIPp.js → chart-sunburst-DE4EX7zi.js} +3 -3
- package/dist/client/chunks/{chart-sunburst-Bs1yqIPp.js.map → chart-sunburst-DE4EX7zi.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-BNjHhhVq.js → chart-tree-map-C3O6uQcP.js} +3 -3
- package/dist/client/chunks/{chart-tree-map-BNjHhhVq.js.map → chart-tree-map-C3O6uQcP.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-CyoC0uLT.js → chart-waterfall-DU2Fg_7P.js} +3 -3
- package/dist/client/chunks/{chart-waterfall-CyoC0uLT.js.map → chart-waterfall-DU2Fg_7P.js.map} +1 -1
- package/dist/client/chunks/{charts-core-DCQ7od_L.js → charts-core-DnirPG1F.js} +2 -2
- package/dist/client/chunks/{charts-core-DCQ7od_L.js.map → charts-core-DnirPG1F.js.map} +1 -1
- package/dist/client/chunks/charts-loader-tCSbqT7H.js +87 -0
- package/dist/client/chunks/charts-loader-tCSbqT7H.js.map +1 -0
- package/dist/client/chunks/{nl-NL-CEdoCz6Q.js → nl-NL-B9VnaVAm.js} +39 -1
- package/dist/client/chunks/nl-NL-B9VnaVAm.js.map +1 -0
- package/dist/client/chunks/{schema-visualization-DfXxFBIY.js → schema-visualization-o1zzuMQy.js} +3 -3
- package/dist/client/chunks/{schema-visualization-DfXxFBIY.js.map → schema-visualization-o1zzuMQy.js.map} +1 -1
- package/dist/client/chunks/{useDirtyStateTracking-BFJHiiVK.js → useDirtyStateTracking-DTYbmRBn.js} +4 -4
- package/dist/client/chunks/{useDirtyStateTracking-BFJHiiVK.js.map → useDirtyStateTracking-DTYbmRBn.js.map} +1 -1
- package/dist/client/chunks/{useExplainAI-_C4WQE5I.js → useExplainAI-MuC9jBn-.js} +4 -4
- package/dist/client/chunks/{useExplainAI-_C4WQE5I.js.map → useExplainAI-MuC9jBn-.js.map} +1 -1
- package/dist/client/chunks/{vendor-Gb3lH0cc.js → vendor-XQT9APIq.js} +2 -2
- package/dist/client/chunks/{vendor-Gb3lH0cc.js.map → vendor-XQT9APIq.js.map} +1 -1
- package/dist/client/components/charts/DotStripChart.config.d.ts +15 -0
- package/dist/client/components/charts/DotStripChart.d.ts +4 -0
- package/dist/client/components/charts/DotStripChart.helpers.d.ts +91 -0
- package/dist/client/components.js +1 -1
- package/dist/client/hooks.js +3 -3
- package/dist/client/icons/types.d.ts +1 -0
- package/dist/client/icons.js +1 -1
- package/dist/client/index.js +13 -13
- package/dist/client/providers.js +1 -1
- package/dist/client/schema.js +1 -1
- package/dist/client/styles.css +1 -1
- package/dist/client/types.d.ts +6 -1
- package/dist/client/utils.js +4 -4
- package/dist/client-bundle-stats.html +1 -1
- package/dist/mcp-app/mcp-app.html +99 -99
- package/dist/server/index.cjs +29 -29
- package/dist/server/index.js +312 -154
- package/package.json +1 -1
- package/dist/adapters/ActivityGridChart.config-DXUUgx0N.cjs +0 -1
- package/dist/adapters/ActivityGridChart.config-Dyozu3VW.js +0 -2
- package/dist/adapters/AreaChart.config-Di5odBXp.cjs +0 -1
- package/dist/adapters/AreaChart.config-KEaXP_4K.js +0 -2
- package/dist/adapters/BarChart.config-B-hBHykR.cjs +0 -1
- package/dist/adapters/BarChart.config-C5sqbn0A.js +0 -2
- package/dist/adapters/BoxPlotChart.config-B1R4Br7L.js +0 -2
- package/dist/adapters/BoxPlotChart.config-C82Fhd3c.cjs +0 -1
- package/dist/adapters/BubbleChart.config-CoBxmmfp.js +0 -2
- package/dist/adapters/BubbleChart.config-DfOnNjL-.cjs +0 -1
- package/dist/adapters/CandlestickChart.config-C5ggV_3j.cjs +0 -1
- package/dist/adapters/CandlestickChart.config-ZaJpWVuL.js +0 -2
- package/dist/adapters/DataTable.config-Cx2_ACdY.cjs +0 -1
- package/dist/adapters/DataTable.config-DkAgD-iz.js +0 -2
- package/dist/adapters/FunnelChart.config-CvzcECUB.js +0 -2
- package/dist/adapters/FunnelChart.config-DVH7IFnb.cjs +0 -1
- package/dist/adapters/GaugeChart.config-Csx8rt8o.cjs +0 -1
- package/dist/adapters/GaugeChart.config-DEmrNgMa.js +0 -2
- package/dist/adapters/HeatMapChart.config-BfD_dpP7.js +0 -2
- package/dist/adapters/HeatMapChart.config-D_jlyPJL.cjs +0 -1
- package/dist/adapters/KpiDelta.config-CVBdUL_n.cjs +0 -1
- package/dist/adapters/KpiDelta.config-D4dCXOxl.js +0 -2
- package/dist/adapters/KpiNumber.config-BK5pgIKz.cjs +0 -1
- package/dist/adapters/KpiNumber.config-D6XqjZrm.js +0 -2
- package/dist/adapters/KpiText.config-ChphMwG5.js +0 -2
- package/dist/adapters/KpiText.config-fO1wc6FH.cjs +0 -1
- package/dist/adapters/LineChart.config-CXJrgz1s.js +0 -2
- package/dist/adapters/LineChart.config-Cg_h-SiJ.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-ByPjX-4O.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-Df2yY9AT.js +0 -2
- package/dist/adapters/MeasureProfileChart.config-BBWGIteF.cjs +0 -1
- package/dist/adapters/MeasureProfileChart.config-C9OFbN9Z.js +0 -2
- package/dist/adapters/PieChart.config-C6jJj6xm.js +0 -2
- package/dist/adapters/PieChart.config-CmCw_8eN.cjs +0 -1
- package/dist/adapters/ProportionBarChart.config-B9NEyFEe.js +0 -2
- package/dist/adapters/ProportionBarChart.config-C3GAVPWn.cjs +0 -1
- package/dist/adapters/RadarChart.config-5AMwEqUJ.cjs +0 -1
- package/dist/adapters/RadarChart.config-Ct_b7IM5.js +0 -2
- package/dist/adapters/RadialBarChart.config-Bp-Sl0cm.js +0 -2
- package/dist/adapters/RadialBarChart.config-D14yoexI.cjs +0 -1
- package/dist/adapters/RecordsTable.config-D2-qmG06.cjs +0 -1
- package/dist/adapters/RecordsTable.config-DIwoqZCU.js +0 -2
- package/dist/adapters/RetentionCombinedChart.config-BWHipi5M.cjs +0 -1
- package/dist/adapters/RetentionCombinedChart.config-D40UgTcl.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-GlnSLrjn.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-MlhZf26c.cjs +0 -1
- package/dist/adapters/SankeyChart.config-Bf1_NHiv.js +0 -2
- package/dist/adapters/SankeyChart.config-BoYf6BFE.cjs +0 -1
- package/dist/adapters/ScatterChart.config-CV2rdGJp.js +0 -2
- package/dist/adapters/ScatterChart.config-DywduGF3.cjs +0 -1
- package/dist/adapters/SunburstChart.config-CrqiE1UZ.js +0 -2
- package/dist/adapters/SunburstChart.config-D5tbF_GJ.cjs +0 -1
- package/dist/adapters/TreeMapChart.config-DxgIqIIj.js +0 -2
- package/dist/adapters/WaterfallChart.config-Cns8fLFu.js +0 -2
- package/dist/adapters/WaterfallChart.config-D_kdL9SN.cjs +0 -1
- package/dist/adapters/mcp-transport-BpG44Fvn.js +0 -730
- package/dist/adapters/mcp-transport-CDxZXpc-.cjs +0 -42
- package/dist/adapters/utils-BiKIg2tk.cjs +0 -128
- package/dist/client/chunks/DashboardEditModal-_ZDMwaGX.js.map +0 -1
- package/dist/client/chunks/chart-activity-grid-DO82rrbW.js.map +0 -1
- package/dist/client/chunks/chart-data-table-C_oHiK6N.js.map +0 -1
- package/dist/client/chunks/charts-loader-Bya_zDIA.js +0 -86
- package/dist/client/chunks/charts-loader-Bya_zDIA.js.map +0 -1
- package/dist/client/chunks/nl-NL-CEdoCz6Q.js.map +0 -1
package/dist/server/index.js
CHANGED
|
@@ -2397,6 +2397,9 @@ var pn = {
|
|
|
2397
2397
|
"chart.boxPlot.label": "Box Plot",
|
|
2398
2398
|
"chart.boxPlot.description": "Show statistical distribution (median, IQR, whiskers) across categories",
|
|
2399
2399
|
"chart.boxPlot.useCase": "Best for P&L spread per symbol, trade size distribution, latency distribution across platforms",
|
|
2400
|
+
"chart.dotStrip.label": "Dot Strip Plot",
|
|
2401
|
+
"chart.dotStrip.description": "Show every individual value as a dot, grouped into category bands",
|
|
2402
|
+
"chart.dotStrip.useCase": "Best for comparing individuals within a group — spread of output per team, salary per band, latency per endpoint",
|
|
2400
2403
|
"chart.waterfall.label": "Waterfall Chart",
|
|
2401
2404
|
"chart.waterfall.description": "Show cumulative effect of sequential positive and negative values",
|
|
2402
2405
|
"chart.waterfall.useCase": "Best for P&L decomposition, cash flow analysis, budget variance, or any sequential contribution breakdown",
|
|
@@ -2509,6 +2512,15 @@ var pn = {
|
|
|
2509
2512
|
"chart.heatmap.dropZone.valueField.empty": "Drop one measure here",
|
|
2510
2513
|
"chart.boxPlot.dropZone.xAxis.empty": "Drop a dimension here",
|
|
2511
2514
|
"chart.boxPlot.dropZone.yAxis.empty": "Drop 1, 3, or 5 measures here",
|
|
2515
|
+
"chart.dotStrip.dropZone.xAxis.label": "Bands (rows)",
|
|
2516
|
+
"chart.dotStrip.dropZone.xAxis.description": "Dimension that groups dots into rows, e.g. team, band, region",
|
|
2517
|
+
"chart.dotStrip.dropZone.xAxis.empty": "Drop a dimension to band by",
|
|
2518
|
+
"chart.dotStrip.dropZone.yAxis.label": "Value (horizontal position)",
|
|
2519
|
+
"chart.dotStrip.dropZone.yAxis.description": "Measure that positions each dot along the horizontal axis",
|
|
2520
|
+
"chart.dotStrip.dropZone.yAxis.empty": "Drop a measure here",
|
|
2521
|
+
"chart.dotStrip.dropZone.series.label": "Dot identity",
|
|
2522
|
+
"chart.dotStrip.dropZone.series.description": "Dimension that gives each dot its own row — one dot per value, named in the tooltip",
|
|
2523
|
+
"chart.dotStrip.dropZone.series.empty": "Drop a dimension to split into individual dots",
|
|
2512
2524
|
"chart.waterfall.dropZone.xAxis.empty": "Drop a dimension here",
|
|
2513
2525
|
"chart.waterfall.dropZone.yAxis.empty": "Drop a measure here",
|
|
2514
2526
|
"chart.candlestick.dropZone.xAxis.empty": "Drop a time or dimension here",
|
|
@@ -2609,6 +2621,23 @@ var pn = {
|
|
|
2609
2621
|
"chart.option.showDataLabels.description": "Display the value at each data point",
|
|
2610
2622
|
"chart.option.showReferenceLineAtZero.label": "Show Zero Reference Line",
|
|
2611
2623
|
"chart.option.showReferenceLineAtZero.description": "Draw a dashed line at Y = 0",
|
|
2624
|
+
"chart.option.showMedianMarker.label": "Show Median Marker",
|
|
2625
|
+
"chart.option.showMedianMarker.description": "Draw a tick at each band's median value",
|
|
2626
|
+
"chart.option.showBandStats.label": "Show Band Statistics",
|
|
2627
|
+
"chart.option.showBandStats.description": "Show the dot count and spread beside each band name",
|
|
2628
|
+
"chart.option.showExtremeLabels.label": "Label Extremes",
|
|
2629
|
+
"chart.option.showExtremeLabels.description": "Name the lowest and highest dot in each band",
|
|
2630
|
+
"chart.option.dotSize.label": "Dot Size",
|
|
2631
|
+
"chart.option.dotSize.description": "Larger dots are easier to see but spread the swarm further",
|
|
2632
|
+
"chart.option.dotSize.small": "Small",
|
|
2633
|
+
"chart.option.dotSize.medium": "Medium",
|
|
2634
|
+
"chart.option.dotSize.large": "Large",
|
|
2635
|
+
"chart.option.bandSort.label": "Band Order",
|
|
2636
|
+
"chart.option.bandSort.description": "How to order the bands from top to bottom",
|
|
2637
|
+
"chart.option.bandSort.none": "Query order",
|
|
2638
|
+
"chart.option.bandSort.valueDesc": "Highest median first",
|
|
2639
|
+
"chart.option.bandSort.valueAsc": "Lowest median first",
|
|
2640
|
+
"chart.option.bandSort.count": "Most dots first",
|
|
2612
2641
|
"chart.option.lineType.label": "Line Interpolation",
|
|
2613
2642
|
"chart.option.lineType.smooth": "Smooth (monotone)",
|
|
2614
2643
|
"chart.option.lineType.linear": "Linear",
|
|
@@ -3099,6 +3128,7 @@ var pn = {
|
|
|
3099
3128
|
"chart.runtime.noDataHint.treemap": "No data points to display in treemap chart",
|
|
3100
3129
|
"chart.runtime.noDataHint.bubble": "No data points to display in bubble chart",
|
|
3101
3130
|
"chart.runtime.noDataHint.boxPlot": "No data points to display in box plot chart",
|
|
3131
|
+
"chart.runtime.noDataHint.dotStrip": "No data points to display in dot strip plot",
|
|
3102
3132
|
"chart.runtime.noDataHint.waterfall": "No data points to display in waterfall chart",
|
|
3103
3133
|
"chart.runtime.noDataHint.candlestick": "No data points to display in candlestick chart",
|
|
3104
3134
|
"chart.runtime.noDataHint.gauge": "No data points to display in gauge chart",
|
|
@@ -3121,6 +3151,14 @@ var pn = {
|
|
|
3121
3151
|
"chart.runtime.noValidDataHint.pie": "No data points to display in pie chart",
|
|
3122
3152
|
"chart.runtime.noValidDataHint.pieFiltered": "Filtered out {count} data points (zero or invalid values)",
|
|
3123
3153
|
"chart.runtime.noValidDataHint.boxPlot": "Could not compute box plot statistics from the provided data",
|
|
3154
|
+
"chart.runtime.noValidDataHint.dotStrip": "No valid numeric values for the dot strip plot",
|
|
3155
|
+
"chart.runtime.configErrorHint.dotStrip": "Dot strip plot needs a dimension to band by and one measure",
|
|
3156
|
+
"chart.runtime.dotStrip.unlabelledBand": "(no value)",
|
|
3157
|
+
"chart.runtime.dotStrip.count": "n={count}",
|
|
3158
|
+
"chart.runtime.dotStrip.countTruncated": "n={count}+",
|
|
3159
|
+
"chart.runtime.dotStrip.noDataRecorded": "no data recorded",
|
|
3160
|
+
"chart.runtime.dotStrip.spread": "spread {spread}×",
|
|
3161
|
+
"chart.runtime.dotStrip.truncated": "Showing the first {max} bands",
|
|
3124
3162
|
"chart.runtime.noValidDataHint.gauge": "Gauge value is not a valid number",
|
|
3125
3163
|
"chart.runtime.noValidDataHint.kpiText": "All values are null or invalid",
|
|
3126
3164
|
"chart.runtime.configError": "Configuration Error",
|
|
@@ -16139,7 +16177,118 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16139
16177
|
type: "axisFormat",
|
|
16140
16178
|
description: "chart.configText.number_formatting_for_the_value_axis"
|
|
16141
16179
|
}]
|
|
16142
|
-
}, Rp = /* @__PURE__ */ e({
|
|
16180
|
+
}, Rp = /* @__PURE__ */ e({ dotStripChartConfig: () => zp }), zp = {
|
|
16181
|
+
displayOptions: [
|
|
16182
|
+
"showGrid",
|
|
16183
|
+
"showTooltip",
|
|
16184
|
+
"hideHeader"
|
|
16185
|
+
],
|
|
16186
|
+
dropZones: [
|
|
16187
|
+
{
|
|
16188
|
+
key: "xAxis",
|
|
16189
|
+
label: "chart.dotStrip.dropZone.xAxis.label",
|
|
16190
|
+
description: "chart.dotStrip.dropZone.xAxis.description",
|
|
16191
|
+
mandatory: !0,
|
|
16192
|
+
maxItems: 1,
|
|
16193
|
+
acceptTypes: ["dimension", "timeDimension"],
|
|
16194
|
+
emptyText: "chart.dotStrip.dropZone.xAxis.empty"
|
|
16195
|
+
},
|
|
16196
|
+
{
|
|
16197
|
+
key: "yAxis",
|
|
16198
|
+
label: "chart.dotStrip.dropZone.yAxis.label",
|
|
16199
|
+
description: "chart.dotStrip.dropZone.yAxis.description",
|
|
16200
|
+
mandatory: !0,
|
|
16201
|
+
maxItems: 1,
|
|
16202
|
+
acceptTypes: ["measure"],
|
|
16203
|
+
emptyText: "chart.dotStrip.dropZone.yAxis.empty"
|
|
16204
|
+
},
|
|
16205
|
+
{
|
|
16206
|
+
key: "series",
|
|
16207
|
+
label: "chart.dotStrip.dropZone.series.label",
|
|
16208
|
+
description: "chart.dotStrip.dropZone.series.description",
|
|
16209
|
+
mandatory: !1,
|
|
16210
|
+
maxItems: 1,
|
|
16211
|
+
acceptTypes: ["dimension"],
|
|
16212
|
+
emptyText: "chart.dotStrip.dropZone.series.empty"
|
|
16213
|
+
}
|
|
16214
|
+
],
|
|
16215
|
+
clickableElements: { point: !0 },
|
|
16216
|
+
displayOptionsConfig: [
|
|
16217
|
+
{
|
|
16218
|
+
key: "showMedianMarker",
|
|
16219
|
+
label: "chart.option.showMedianMarker.label",
|
|
16220
|
+
type: "boolean",
|
|
16221
|
+
defaultValue: !0,
|
|
16222
|
+
description: "chart.option.showMedianMarker.description"
|
|
16223
|
+
},
|
|
16224
|
+
{
|
|
16225
|
+
key: "showBandStats",
|
|
16226
|
+
label: "chart.option.showBandStats.label",
|
|
16227
|
+
type: "boolean",
|
|
16228
|
+
defaultValue: !0,
|
|
16229
|
+
description: "chart.option.showBandStats.description"
|
|
16230
|
+
},
|
|
16231
|
+
{
|
|
16232
|
+
key: "showExtremeLabels",
|
|
16233
|
+
label: "chart.option.showExtremeLabels.label",
|
|
16234
|
+
type: "boolean",
|
|
16235
|
+
defaultValue: !1,
|
|
16236
|
+
description: "chart.option.showExtremeLabels.description"
|
|
16237
|
+
},
|
|
16238
|
+
{
|
|
16239
|
+
key: "dotSize",
|
|
16240
|
+
label: "chart.option.dotSize.label",
|
|
16241
|
+
type: "select",
|
|
16242
|
+
defaultValue: "medium",
|
|
16243
|
+
options: [
|
|
16244
|
+
{
|
|
16245
|
+
value: "small",
|
|
16246
|
+
label: "chart.option.dotSize.small"
|
|
16247
|
+
},
|
|
16248
|
+
{
|
|
16249
|
+
value: "medium",
|
|
16250
|
+
label: "chart.option.dotSize.medium"
|
|
16251
|
+
},
|
|
16252
|
+
{
|
|
16253
|
+
value: "large",
|
|
16254
|
+
label: "chart.option.dotSize.large"
|
|
16255
|
+
}
|
|
16256
|
+
],
|
|
16257
|
+
description: "chart.option.dotSize.description"
|
|
16258
|
+
},
|
|
16259
|
+
{
|
|
16260
|
+
key: "bandSort",
|
|
16261
|
+
label: "chart.option.bandSort.label",
|
|
16262
|
+
type: "select",
|
|
16263
|
+
defaultValue: "none",
|
|
16264
|
+
options: [
|
|
16265
|
+
{
|
|
16266
|
+
value: "none",
|
|
16267
|
+
label: "chart.option.bandSort.none"
|
|
16268
|
+
},
|
|
16269
|
+
{
|
|
16270
|
+
value: "valueDesc",
|
|
16271
|
+
label: "chart.option.bandSort.valueDesc"
|
|
16272
|
+
},
|
|
16273
|
+
{
|
|
16274
|
+
value: "valueAsc",
|
|
16275
|
+
label: "chart.option.bandSort.valueAsc"
|
|
16276
|
+
},
|
|
16277
|
+
{
|
|
16278
|
+
value: "count",
|
|
16279
|
+
label: "chart.option.bandSort.count"
|
|
16280
|
+
}
|
|
16281
|
+
],
|
|
16282
|
+
description: "chart.option.bandSort.description"
|
|
16283
|
+
},
|
|
16284
|
+
{
|
|
16285
|
+
key: "xAxisFormat",
|
|
16286
|
+
label: "chart.option.xAxisFormat.label",
|
|
16287
|
+
type: "axisFormat",
|
|
16288
|
+
description: "chart.option.xAxisFormat.description"
|
|
16289
|
+
}
|
|
16290
|
+
]
|
|
16291
|
+
}, Bp = /* @__PURE__ */ e({ waterfallChartConfig: () => Vp }), Vp = {
|
|
16143
16292
|
clickableElements: { bar: !0 },
|
|
16144
16293
|
displayOptions: ["showTooltip", "hideHeader"],
|
|
16145
16294
|
dropZones: [{
|
|
@@ -16188,7 +16337,7 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16188
16337
|
description: "chart.configText.number_formatting_for_the_y_axis"
|
|
16189
16338
|
}
|
|
16190
16339
|
]
|
|
16191
|
-
},
|
|
16340
|
+
}, Hp = /* @__PURE__ */ e({ candlestickChartConfig: () => Up }), Up = {
|
|
16192
16341
|
clickableElements: { bar: !0 },
|
|
16193
16342
|
displayOptions: ["hideHeader"],
|
|
16194
16343
|
dropZones: [{
|
|
@@ -16250,7 +16399,7 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16250
16399
|
description: "chart.configText.number_formatting_for_the_price_axis"
|
|
16251
16400
|
}
|
|
16252
16401
|
]
|
|
16253
|
-
},
|
|
16402
|
+
}, Wp = /* @__PURE__ */ e({ measureProfileChartConfig: () => Gp }), Gp = {
|
|
16254
16403
|
displayOptions: [
|
|
16255
16404
|
"showLegend",
|
|
16256
16405
|
"showTooltip",
|
|
@@ -16322,7 +16471,7 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16322
16471
|
description: "chart.configText.number_formatting_for_the_y_axis"
|
|
16323
16472
|
}
|
|
16324
16473
|
]
|
|
16325
|
-
},
|
|
16474
|
+
}, Kp = /* @__PURE__ */ e({ proportionBarChartConfig: () => qp }), qp = {
|
|
16326
16475
|
dropZones: [{
|
|
16327
16476
|
key: "xAxis",
|
|
16328
16477
|
label: "chart.configText.category",
|
|
@@ -16380,7 +16529,7 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16380
16529
|
isValid: !1,
|
|
16381
16530
|
message: "chart.proportionBar.validation.measureRequired"
|
|
16382
16531
|
} : { isValid: !0 }
|
|
16383
|
-
},
|
|
16532
|
+
}, Jp = /* @__PURE__ */ e({ gaugeChartConfig: () => Yp }), Yp = {
|
|
16384
16533
|
clickableElements: {},
|
|
16385
16534
|
displayOptions: ["hideHeader"],
|
|
16386
16535
|
dropZones: [{
|
|
@@ -16436,7 +16585,7 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16436
16585
|
}, Z = {
|
|
16437
16586
|
packageName: "recharts",
|
|
16438
16587
|
installCommand: "npm install recharts"
|
|
16439
|
-
},
|
|
16588
|
+
}, Xp = {
|
|
16440
16589
|
bar: {
|
|
16441
16590
|
label: "chart.bar.label",
|
|
16442
16591
|
icon: "chartBar",
|
|
@@ -16653,6 +16802,14 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16653
16802
|
isAvailable: r,
|
|
16654
16803
|
config: async () => (await Promise.resolve().then(() => Ip)).boxPlotChartConfig
|
|
16655
16804
|
},
|
|
16805
|
+
dotStrip: {
|
|
16806
|
+
label: "chart.dotStrip.label",
|
|
16807
|
+
icon: "chartDotStrip",
|
|
16808
|
+
description: "chart.dotStrip.description",
|
|
16809
|
+
useCase: "chart.dotStrip.useCase",
|
|
16810
|
+
isAvailable: r,
|
|
16811
|
+
config: async () => (await Promise.resolve().then(() => Rp)).dotStripChartConfig
|
|
16812
|
+
},
|
|
16656
16813
|
waterfall: {
|
|
16657
16814
|
label: "chart.waterfall.label",
|
|
16658
16815
|
icon: "chartWaterfall",
|
|
@@ -16660,7 +16817,7 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16660
16817
|
useCase: "chart.waterfall.useCase",
|
|
16661
16818
|
isAvailable: r,
|
|
16662
16819
|
dependencies: Z,
|
|
16663
|
-
config: async () => (await Promise.resolve().then(() =>
|
|
16820
|
+
config: async () => (await Promise.resolve().then(() => Bp)).waterfallChartConfig
|
|
16664
16821
|
},
|
|
16665
16822
|
candlestick: {
|
|
16666
16823
|
label: "chart.candlestick.label",
|
|
@@ -16674,7 +16831,7 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16674
16831
|
available: !1,
|
|
16675
16832
|
reason: "chart.availability.requiresDimension"
|
|
16676
16833
|
} : { available: !0 },
|
|
16677
|
-
config: async () => (await Promise.resolve().then(() =>
|
|
16834
|
+
config: async () => (await Promise.resolve().then(() => Hp)).candlestickChartConfig
|
|
16678
16835
|
},
|
|
16679
16836
|
measureProfile: {
|
|
16680
16837
|
label: "chart.measureProfile.label",
|
|
@@ -16686,7 +16843,7 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16686
16843
|
reason: "chart.availability.requiresTwoMeasures"
|
|
16687
16844
|
} : { available: !0 },
|
|
16688
16845
|
dependencies: Z,
|
|
16689
|
-
config: async () => (await Promise.resolve().then(() =>
|
|
16846
|
+
config: async () => (await Promise.resolve().then(() => Wp)).measureProfileChartConfig
|
|
16690
16847
|
},
|
|
16691
16848
|
proportionBar: {
|
|
16692
16849
|
label: "chart.proportionBar.label",
|
|
@@ -16694,7 +16851,7 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16694
16851
|
description: "chart.proportionBar.description",
|
|
16695
16852
|
useCase: "chart.proportionBar.useCase",
|
|
16696
16853
|
isAvailable: r,
|
|
16697
|
-
config: async () => (await Promise.resolve().then(() =>
|
|
16854
|
+
config: async () => (await Promise.resolve().then(() => Kp)).proportionBarChartConfig
|
|
16698
16855
|
},
|
|
16699
16856
|
gauge: {
|
|
16700
16857
|
label: "chart.gauge.label",
|
|
@@ -16706,10 +16863,10 @@ var Kf = /* @__PURE__ */ e({ barChartConfig: () => qf }), qf = {
|
|
|
16706
16863
|
packageName: "d3-shape",
|
|
16707
16864
|
installCommand: "npm install d3-shape"
|
|
16708
16865
|
},
|
|
16709
|
-
config: async () => (await Promise.resolve().then(() =>
|
|
16866
|
+
config: async () => (await Promise.resolve().then(() => Jp)).gaugeChartConfig
|
|
16710
16867
|
}
|
|
16711
16868
|
};
|
|
16712
|
-
function
|
|
16869
|
+
function Zp(e, t) {
|
|
16713
16870
|
return {
|
|
16714
16871
|
...t,
|
|
16715
16872
|
label: e.label,
|
|
@@ -16720,7 +16877,7 @@ function Yp(e, t) {
|
|
|
16720
16877
|
}
|
|
16721
16878
|
//#endregion
|
|
16722
16879
|
//#region src/client/charts/chartConfigRegistry.ts
|
|
16723
|
-
var
|
|
16880
|
+
var Qp = {
|
|
16724
16881
|
bar: qf,
|
|
16725
16882
|
line: Yf,
|
|
16726
16883
|
area: Zf,
|
|
@@ -16744,23 +16901,24 @@ var Xp = {
|
|
|
16744
16901
|
retentionHeatmap: Np,
|
|
16745
16902
|
retentionCombined: Fp,
|
|
16746
16903
|
boxPlot: Lp,
|
|
16747
|
-
|
|
16748
|
-
|
|
16749
|
-
|
|
16750
|
-
|
|
16751
|
-
|
|
16752
|
-
|
|
16753
|
-
|
|
16754
|
-
|
|
16904
|
+
dotStrip: zp,
|
|
16905
|
+
waterfall: Vp,
|
|
16906
|
+
candlestick: Up,
|
|
16907
|
+
measureProfile: Gp,
|
|
16908
|
+
proportionBar: qp,
|
|
16909
|
+
gauge: Yp
|
|
16910
|
+
}, $p = Object.fromEntries(Object.keys(Xp).map((e) => [e, Zp(Xp[e], Qp[e])]));
|
|
16911
|
+
function em(e) {
|
|
16912
|
+
return $p[e]?.recordGrain === !0;
|
|
16755
16913
|
}
|
|
16756
16914
|
//#endregion
|
|
16757
16915
|
//#region src/server/agent/chart-validation.ts
|
|
16758
|
-
function
|
|
16916
|
+
function tm(e) {
|
|
16759
16917
|
return Array.isArray(e) ? e.length > 0 : !!e;
|
|
16760
16918
|
}
|
|
16761
|
-
function
|
|
16919
|
+
function nm(e, t, n, r) {
|
|
16762
16920
|
for (let i of e.dropZones) {
|
|
16763
|
-
if (!i.mandatory ||
|
|
16921
|
+
if (!i.mandatory || tm(n?.[i.key])) continue;
|
|
16764
16922
|
let e = i.acceptTypes?.join("/") ?? "fields";
|
|
16765
16923
|
r.push(A("server.validation.chart.dropZoneRequired", {
|
|
16766
16924
|
key: i.key,
|
|
@@ -16770,35 +16928,35 @@ function em(e, t, n, r) {
|
|
|
16770
16928
|
}));
|
|
16771
16929
|
}
|
|
16772
16930
|
}
|
|
16773
|
-
function
|
|
16774
|
-
if (
|
|
16931
|
+
function rm(e, t, n) {
|
|
16932
|
+
if (tm(e?.xAxis)) return;
|
|
16775
16933
|
let r = t.dimensions ?? [], i = t.timeDimensions ?? [], a = r.length > 0 || i.length > 0;
|
|
16776
16934
|
n.push(A(a ? "server.validation.chart.barXAxisRequired" : "server.validation.chart.barNeedsDimension"));
|
|
16777
16935
|
}
|
|
16778
|
-
function
|
|
16936
|
+
function im(e) {
|
|
16779
16937
|
return Array.isArray(e) ? e : [e];
|
|
16780
16938
|
}
|
|
16781
|
-
function
|
|
16939
|
+
function am(e, t) {
|
|
16782
16940
|
if (!e?.xAxis || !e?.series) return;
|
|
16783
|
-
let n = new Set(
|
|
16941
|
+
let n = new Set(im(e.xAxis)), r = im(e.series).filter((e) => n.has(e));
|
|
16784
16942
|
r.length > 0 && t.push(A("server.validation.chart.seriesDuplicatesXAxis", { duplicates: r.join(", ") }));
|
|
16785
16943
|
}
|
|
16786
|
-
function
|
|
16787
|
-
|
|
16944
|
+
function om(e, t, n) {
|
|
16945
|
+
em(e) && t.ungrouped !== !0 && n.push(A("server.validation.chart.recordGrainNeedsUngrouped", { chartType: e }));
|
|
16788
16946
|
}
|
|
16789
|
-
function
|
|
16790
|
-
let r =
|
|
16947
|
+
function sm(e, t, n) {
|
|
16948
|
+
let r = $p[e];
|
|
16791
16949
|
if (!r || r.skipQuery) return {
|
|
16792
16950
|
isValid: !0,
|
|
16793
16951
|
errors: []
|
|
16794
16952
|
};
|
|
16795
16953
|
let i = [];
|
|
16796
|
-
return
|
|
16954
|
+
return nm(r, e, t, i), om(e, n, i), e === "bar" && rm(t, n, i), am(t, i), {
|
|
16797
16955
|
isValid: i.length === 0,
|
|
16798
16956
|
errors: i
|
|
16799
16957
|
};
|
|
16800
16958
|
}
|
|
16801
|
-
function
|
|
16959
|
+
function cm(e, t, n, r) {
|
|
16802
16960
|
if (!(e.acceptTypes ?? []).includes("measure")) return;
|
|
16803
16961
|
let i = /* @__PURE__ */ new Set();
|
|
16804
16962
|
for (let r of t.dropZones) {
|
|
@@ -16809,7 +16967,7 @@ function om(e, t, n, r) {
|
|
|
16809
16967
|
let a = r.filter((e) => !i.has(e));
|
|
16810
16968
|
a.length > 0 && (n[e.key] = a[0]);
|
|
16811
16969
|
}
|
|
16812
|
-
function
|
|
16970
|
+
function lm(e, t, n) {
|
|
16813
16971
|
let r = e.acceptTypes ?? [], i = [];
|
|
16814
16972
|
if (r.includes("dimension") && i.push(...n.dimensions), r.includes("timeDimension") && i.push(...n.timeDimFields), r.includes("measure") && i.push(...n.measures), i.length === 0) return;
|
|
16815
16973
|
let a = i;
|
|
@@ -16820,26 +16978,26 @@ function sm(e, t, n) {
|
|
|
16820
16978
|
let o = e.maxItems ?? Infinity, s = a.slice(0, o);
|
|
16821
16979
|
s.length > 0 && (t[e.key] = s);
|
|
16822
16980
|
}
|
|
16823
|
-
function
|
|
16824
|
-
let r =
|
|
16981
|
+
function um(e, t, n) {
|
|
16982
|
+
let r = $p[e];
|
|
16825
16983
|
if (!r) return t ?? {};
|
|
16826
16984
|
let i = { ...t }, a = n.timeDimensions ?? [], o = {
|
|
16827
16985
|
measures: n.measures ?? [],
|
|
16828
16986
|
dimensions: n.dimensions ?? [],
|
|
16829
16987
|
timeDimFields: a.map((e) => e.dimension)
|
|
16830
16988
|
};
|
|
16831
|
-
for (let e of r.dropZones) e.excludeFromInference ||
|
|
16989
|
+
for (let e of r.dropZones) e.excludeFromInference || tm(i[e.key]) || (e.key === "sizeField" || e.key === "colorField" ? cm(e, r, i, o.measures) : lm(e, i, o));
|
|
16832
16990
|
return i;
|
|
16833
16991
|
}
|
|
16834
|
-
function
|
|
16992
|
+
function dm(e) {
|
|
16835
16993
|
return e ? hn(e) ? A(e) : e : "";
|
|
16836
16994
|
}
|
|
16837
|
-
function
|
|
16995
|
+
function fm(e) {
|
|
16838
16996
|
let t = ["\nChart config requirements by type:"];
|
|
16839
16997
|
for (let n of e) {
|
|
16840
|
-
let e =
|
|
16998
|
+
let e = $p[n];
|
|
16841
16999
|
if (!e) continue;
|
|
16842
|
-
let r = [
|
|
17000
|
+
let r = [dm(e.description), dm(e.useCase)].filter(Boolean).join(". "), i = r ? ` — ${r}.` : "", a = em(n) ? " Query MUST set \"ungrouped\": true, which also means one cube plus its to-one joins — an ungrouped query cannot span a hasMany relationship." : "", o = e.dropZones.filter((e) => e.mandatory);
|
|
16843
17001
|
if (o.length === 0 && !e.skipQuery) {
|
|
16844
17002
|
t.push(` ${n}${i}${a} chartConfig auto-inferred from query.`);
|
|
16845
17003
|
continue;
|
|
@@ -16858,7 +17016,7 @@ function um(e) {
|
|
|
16858
17016
|
}
|
|
16859
17017
|
//#endregion
|
|
16860
17018
|
//#region src/server/ai/chart-schema.ts
|
|
16861
|
-
var
|
|
17019
|
+
var pm = {
|
|
16862
17020
|
columns: {
|
|
16863
17021
|
type: "array",
|
|
16864
17022
|
items: { type: "string" },
|
|
@@ -16869,7 +17027,7 @@ var dm = {
|
|
|
16869
17027
|
items: { type: "string" },
|
|
16870
17028
|
description: "recordsTable only: fields fetched for row context or rowLink tokens but never displayed (e.g. an id used in the URL template). Leave empty unless a field is genuinely only needed behind the scenes — anything listed here disappears from the table."
|
|
16871
17029
|
}
|
|
16872
|
-
},
|
|
17030
|
+
}, mm = {
|
|
16873
17031
|
columnFormats: {
|
|
16874
17032
|
type: "object",
|
|
16875
17033
|
description: "recordsTable only: how each column renders, keyed by field name (e.g. \"Employees.salary\"). Formats are never inferred from the data — a column is plain text unless you say otherwise, so set this for any numeric, date, status or ratio column.",
|
|
@@ -16964,7 +17122,7 @@ var dm = {
|
|
|
16964
17122
|
],
|
|
16965
17123
|
description: "recordsTable only: rows per page (default 25)."
|
|
16966
17124
|
}
|
|
16967
|
-
},
|
|
17125
|
+
}, hm = [
|
|
16968
17126
|
"bar",
|
|
16969
17127
|
"line",
|
|
16970
17128
|
"area",
|
|
@@ -16985,7 +17143,7 @@ var dm = {
|
|
|
16985
17143
|
"markdown",
|
|
16986
17144
|
"recordsTable"
|
|
16987
17145
|
];
|
|
16988
|
-
function
|
|
17146
|
+
function gm() {
|
|
16989
17147
|
return [
|
|
16990
17148
|
{
|
|
16991
17149
|
name: "discover_cubes",
|
|
@@ -17030,7 +17188,7 @@ function mm() {
|
|
|
17030
17188
|
},
|
|
17031
17189
|
{
|
|
17032
17190
|
name: "add_portlet",
|
|
17033
|
-
description: "Add a chart visualization to the notebook.\n" +
|
|
17191
|
+
description: "Add a chart visualization to the notebook.\n" + fm(hm) + "\nThe query is validated before adding. The portlet fetches its own data.",
|
|
17034
17192
|
parameters: {
|
|
17035
17193
|
type: "object",
|
|
17036
17194
|
properties: {
|
|
@@ -17044,7 +17202,7 @@ function mm() {
|
|
|
17044
17202
|
},
|
|
17045
17203
|
chartType: {
|
|
17046
17204
|
type: "string",
|
|
17047
|
-
enum:
|
|
17205
|
+
enum: hm,
|
|
17048
17206
|
description: "Chart type to render"
|
|
17049
17207
|
},
|
|
17050
17208
|
chartConfig: {
|
|
@@ -17068,7 +17226,7 @@ function mm() {
|
|
|
17068
17226
|
type: "object",
|
|
17069
17227
|
description: "Dual Y-axis: map measure fields to \"left\" or \"right\" axis. Only for bar, line, area charts with 2+ measures of different scales. Example: {\"Sales.revenue\": \"left\", \"Sales.conversionRate\": \"right\"}"
|
|
17070
17228
|
},
|
|
17071
|
-
...
|
|
17229
|
+
...pm
|
|
17072
17230
|
},
|
|
17073
17231
|
description: "Chart axis configuration"
|
|
17074
17232
|
},
|
|
@@ -17083,7 +17241,7 @@ function mm() {
|
|
|
17083
17241
|
type: "string",
|
|
17084
17242
|
enum: ["horizontal", "vertical"]
|
|
17085
17243
|
},
|
|
17086
|
-
...
|
|
17244
|
+
...mm
|
|
17087
17245
|
},
|
|
17088
17246
|
description: "Chart display configuration"
|
|
17089
17247
|
}
|
|
@@ -17142,7 +17300,7 @@ function mm() {
|
|
|
17142
17300
|
},
|
|
17143
17301
|
chartType: {
|
|
17144
17302
|
type: "string",
|
|
17145
|
-
enum:
|
|
17303
|
+
enum: hm,
|
|
17146
17304
|
description: "Chart type. Use \"markdown\" for section headers."
|
|
17147
17305
|
},
|
|
17148
17306
|
query: {
|
|
@@ -17166,14 +17324,14 @@ function mm() {
|
|
|
17166
17324
|
},
|
|
17167
17325
|
sizeField: { type: "string" },
|
|
17168
17326
|
colorField: { type: "string" },
|
|
17169
|
-
...
|
|
17327
|
+
...pm
|
|
17170
17328
|
},
|
|
17171
17329
|
description: "Chart axis configuration"
|
|
17172
17330
|
},
|
|
17173
17331
|
displayConfig: {
|
|
17174
17332
|
type: "object",
|
|
17175
17333
|
description: "Chart display configuration (for markdown: { content, hideHeader, transparentBackground, autoHeight })",
|
|
17176
|
-
properties:
|
|
17334
|
+
properties: mm
|
|
17177
17335
|
},
|
|
17178
17336
|
dashboardFilterMapping: {
|
|
17179
17337
|
type: "array",
|
|
@@ -17281,7 +17439,7 @@ function mm() {
|
|
|
17281
17439
|
}
|
|
17282
17440
|
];
|
|
17283
17441
|
}
|
|
17284
|
-
function
|
|
17442
|
+
function _m(e) {
|
|
17285
17443
|
let { semanticLayer: t, securityContext: n } = e, r = /* @__PURE__ */ new Map();
|
|
17286
17444
|
r.set("discover_cubes", async (e) => {
|
|
17287
17445
|
let r = { cubes: (await Rf(t, n, {
|
|
@@ -17387,7 +17545,7 @@ function hm(e) {
|
|
|
17387
17545
|
let o = !!(i.funnel || i.flow || i.retention), s;
|
|
17388
17546
|
if (o) s = e.chartConfig ?? {};
|
|
17389
17547
|
else {
|
|
17390
|
-
let t =
|
|
17548
|
+
let t = um(r, e.chartConfig, i), n = sm(r, t, i);
|
|
17391
17549
|
if (!n.isValid) return {
|
|
17392
17550
|
result: `Chart config invalid — fix these errors and retry:\n${n.errors.join("\n")}`,
|
|
17393
17551
|
isError: !0
|
|
@@ -17451,7 +17609,7 @@ function hm(e) {
|
|
|
17451
17609
|
i.push(`Portlet "${e.title}": ${c.errors.join(", ")}`);
|
|
17452
17610
|
continue;
|
|
17453
17611
|
}
|
|
17454
|
-
let l =
|
|
17612
|
+
let l = um(r, e.chartConfig, s), u = sm(r, l, s);
|
|
17455
17613
|
if (!u.isValid) {
|
|
17456
17614
|
i.push(`Portlet "${e.title}": ${u.errors.join(", ")}`);
|
|
17457
17615
|
continue;
|
|
@@ -17516,7 +17674,7 @@ function hm(e) {
|
|
|
17516
17674
|
}
|
|
17517
17675
|
//#endregion
|
|
17518
17676
|
//#region src/server/agent/providers/factory.ts
|
|
17519
|
-
async function
|
|
17677
|
+
async function vm(e, t, n) {
|
|
17520
17678
|
switch (e) {
|
|
17521
17679
|
case "anthropic": {
|
|
17522
17680
|
let { AnthropicProvider: e } = await import("./anthropic-CZh4hB-m.js");
|
|
@@ -17535,16 +17693,16 @@ async function gm(e, t, n) {
|
|
|
17535
17693
|
}
|
|
17536
17694
|
//#endregion
|
|
17537
17695
|
//#region src/server/agent/handler-steps.ts
|
|
17538
|
-
function
|
|
17696
|
+
function ym(e, t) {
|
|
17539
17697
|
if (Array.isArray(t)) for (let n of t) e.push(n);
|
|
17540
17698
|
else e.push(t);
|
|
17541
17699
|
}
|
|
17542
|
-
function
|
|
17700
|
+
function bm(e) {
|
|
17543
17701
|
if (e) try {
|
|
17544
17702
|
e();
|
|
17545
17703
|
} catch {}
|
|
17546
17704
|
}
|
|
17547
|
-
function
|
|
17705
|
+
function xm(e, t) {
|
|
17548
17706
|
let n = [];
|
|
17549
17707
|
if (!e || e.length === 0) return n;
|
|
17550
17708
|
for (let r of e) {
|
|
@@ -17577,7 +17735,7 @@ function ym(e, t) {
|
|
|
17577
17735
|
content: typeof e.result == "string" ? e.result : JSON.stringify(e.result ?? ""),
|
|
17578
17736
|
isError: e.status === "error"
|
|
17579
17737
|
}));
|
|
17580
|
-
|
|
17738
|
+
ym(n, t.formatToolResults(i));
|
|
17581
17739
|
} else e.length > 0 && n.push({
|
|
17582
17740
|
role: "assistant",
|
|
17583
17741
|
content: r.content
|
|
@@ -17585,21 +17743,21 @@ function ym(e, t) {
|
|
|
17585
17743
|
}
|
|
17586
17744
|
return n;
|
|
17587
17745
|
}
|
|
17588
|
-
function
|
|
17746
|
+
function Sm(e, t) {
|
|
17589
17747
|
if (!(e?.type !== "tool_use" || !t)) try {
|
|
17590
17748
|
e.input = JSON.parse(t);
|
|
17591
17749
|
} catch {
|
|
17592
17750
|
e.input = {};
|
|
17593
17751
|
}
|
|
17594
17752
|
}
|
|
17595
|
-
function
|
|
17753
|
+
function Cm(e, t) {
|
|
17596
17754
|
let n = e.contentBlocks[e.contentBlocks.length - 1];
|
|
17597
17755
|
n && n.type === "text" ? n.text = (n.text || "") + t : e.contentBlocks.push({
|
|
17598
17756
|
type: "text",
|
|
17599
17757
|
text: t
|
|
17600
17758
|
});
|
|
17601
17759
|
}
|
|
17602
|
-
function
|
|
17760
|
+
function wm(e, t) {
|
|
17603
17761
|
if (e.currentBlockIsToolUse && e.currentToolInputJson) {
|
|
17604
17762
|
let t = e.contentBlocks[e.contentBlocks.length - 1];
|
|
17605
17763
|
if (t?.type === "tool_use") try {
|
|
@@ -17614,16 +17772,16 @@ function Sm(e, t) {
|
|
|
17614
17772
|
...t.metadata ? { metadata: t.metadata } : {}
|
|
17615
17773
|
}), e.currentToolInputJson = "", e.currentBlockIsToolUse = !0;
|
|
17616
17774
|
}
|
|
17617
|
-
function
|
|
17775
|
+
function Tm(e, t) {
|
|
17618
17776
|
if (t.id && t.input) {
|
|
17619
17777
|
let n = e.contentBlocks.find((e) => e.type === "tool_use" && e.id === t.id);
|
|
17620
17778
|
n && (n.input = t.input);
|
|
17621
17779
|
} else if (e.currentBlockIsToolUse) {
|
|
17622
17780
|
let t = e.contentBlocks[e.contentBlocks.length - 1];
|
|
17623
|
-
t?.type === "tool_use" && e.currentToolInputJson && (
|
|
17781
|
+
t?.type === "tool_use" && e.currentToolInputJson && (Sm(t, e.currentToolInputJson), e.currentToolInputJson = ""), e.currentBlockIsToolUse = !1;
|
|
17624
17782
|
}
|
|
17625
17783
|
}
|
|
17626
|
-
async function*
|
|
17784
|
+
async function* Em(e, t) {
|
|
17627
17785
|
let n = {
|
|
17628
17786
|
contentBlocks: [],
|
|
17629
17787
|
currentToolInputJson: "",
|
|
@@ -17634,13 +17792,13 @@ async function* wm(e, t) {
|
|
|
17634
17792
|
let e = r;
|
|
17635
17793
|
switch (e.type) {
|
|
17636
17794
|
case "text_delta":
|
|
17637
|
-
|
|
17795
|
+
Cm(n, e.text), yield {
|
|
17638
17796
|
type: "text_delta",
|
|
17639
17797
|
data: e.text
|
|
17640
17798
|
};
|
|
17641
17799
|
break;
|
|
17642
17800
|
case "tool_use_start":
|
|
17643
|
-
|
|
17801
|
+
wm(n, e), yield {
|
|
17644
17802
|
type: "tool_use_start",
|
|
17645
17803
|
data: {
|
|
17646
17804
|
id: e.id,
|
|
@@ -17653,7 +17811,7 @@ async function* wm(e, t) {
|
|
|
17653
17811
|
n.currentToolInputJson += e.json;
|
|
17654
17812
|
break;
|
|
17655
17813
|
case "tool_use_end":
|
|
17656
|
-
|
|
17814
|
+
Tm(n, e);
|
|
17657
17815
|
break;
|
|
17658
17816
|
case "message_meta": e.inputTokens != null && (n.inputTokens = e.inputTokens), e.outputTokens != null && (n.outputTokens = e.outputTokens), e.stopReason && (n.stopReason = e.stopReason);
|
|
17659
17817
|
}
|
|
@@ -17665,7 +17823,7 @@ async function* wm(e, t) {
|
|
|
17665
17823
|
outputTokens: n.outputTokens
|
|
17666
17824
|
};
|
|
17667
17825
|
}
|
|
17668
|
-
async function*
|
|
17826
|
+
async function* Dm(e, t) {
|
|
17669
17827
|
let { executor: n, observability: r, traceId: i, turn: a } = t, o = e.name, s = e.input || {}, c = e.id, l = n.get(o);
|
|
17670
17828
|
if (!l) return yield {
|
|
17671
17829
|
type: "tool_use_result",
|
|
@@ -17692,7 +17850,7 @@ async function* Tm(e, t) {
|
|
|
17692
17850
|
result: e.result,
|
|
17693
17851
|
...e.isError ? { isError: !0 } : {}
|
|
17694
17852
|
}
|
|
17695
|
-
},
|
|
17853
|
+
}, bm(() => r?.onToolEnd?.({
|
|
17696
17854
|
traceId: i,
|
|
17697
17855
|
turn: a,
|
|
17698
17856
|
toolName: o,
|
|
@@ -17715,7 +17873,7 @@ async function* Tm(e, t) {
|
|
|
17715
17873
|
result: t,
|
|
17716
17874
|
isError: !0
|
|
17717
17875
|
}
|
|
17718
|
-
},
|
|
17876
|
+
}, bm(() => r?.onToolEnd?.({
|
|
17719
17877
|
traceId: i,
|
|
17720
17878
|
turn: a,
|
|
17721
17879
|
toolName: o,
|
|
@@ -17730,26 +17888,26 @@ async function* Tm(e, t) {
|
|
|
17730
17888
|
};
|
|
17731
17889
|
}
|
|
17732
17890
|
}
|
|
17733
|
-
async function*
|
|
17891
|
+
async function* Om(e, t) {
|
|
17734
17892
|
let n = [];
|
|
17735
17893
|
for (let r of e) {
|
|
17736
17894
|
if (r.type !== "tool_use") continue;
|
|
17737
|
-
let e = yield*
|
|
17895
|
+
let e = yield* Dm(r, t);
|
|
17738
17896
|
n.push(e);
|
|
17739
17897
|
}
|
|
17740
17898
|
return n;
|
|
17741
17899
|
}
|
|
17742
17900
|
//#endregion
|
|
17743
17901
|
//#region src/server/agent/handler.ts
|
|
17744
|
-
var
|
|
17902
|
+
var km = {
|
|
17745
17903
|
anthropic: "claude-sonnet-4-6",
|
|
17746
17904
|
openai: "gpt-4.1-mini",
|
|
17747
17905
|
google: "gemini-3-flash-preview"
|
|
17748
17906
|
};
|
|
17749
|
-
async function*
|
|
17750
|
-
let { message: t, history: n, semanticLayer: r, securityContext: i, agentConfig: a, apiKey: o } = e, s = e.sessionId || crypto.randomUUID(), c = a.observability, l = crypto.randomUUID(), u = Date.now(), d = e.providerOverride || a.provider || "anthropic", f = e.modelOverride || a.model ||
|
|
17907
|
+
async function* Am(e) {
|
|
17908
|
+
let { message: t, history: n, semanticLayer: r, securityContext: i, agentConfig: a, apiKey: o } = e, s = e.sessionId || crypto.randomUUID(), c = a.observability, l = crypto.randomUUID(), u = Date.now(), d = e.providerOverride || a.provider || "anthropic", f = e.modelOverride || a.model || km[d] || "claude-sonnet-4-6", p = e.baseURLOverride || a.baseURL, m = a.maxTurns || 25, h = a.maxTokens || 4096, g;
|
|
17751
17909
|
try {
|
|
17752
|
-
g = await
|
|
17910
|
+
g = await vm(d, o, { baseURL: p });
|
|
17753
17911
|
} catch (e) {
|
|
17754
17912
|
console.error("[agent] Failed to create %s provider: %s", String(d).replace(/\n|\r/g, ""), String(e instanceof Error ? e.message : e).replace(/\n|\r/g, "")), yield {
|
|
17755
17913
|
type: "error",
|
|
@@ -17757,18 +17915,18 @@ async function* Om(e) {
|
|
|
17757
17915
|
};
|
|
17758
17916
|
return;
|
|
17759
17917
|
}
|
|
17760
|
-
let _ =
|
|
17918
|
+
let _ = gm(), v = _m({
|
|
17761
17919
|
semanticLayer: r,
|
|
17762
17920
|
securityContext: i
|
|
17763
17921
|
}), y = _f(r.getMetadata(i));
|
|
17764
|
-
e.systemContext && (y += `\n\n## User Context\n\n${e.systemContext}`),
|
|
17922
|
+
e.systemContext && (y += `\n\n## User Context\n\n${e.systemContext}`), bm(() => c?.onChatStart?.({
|
|
17765
17923
|
traceId: l,
|
|
17766
17924
|
sessionId: s,
|
|
17767
17925
|
message: t,
|
|
17768
17926
|
model: f,
|
|
17769
17927
|
historyLength: n?.length ?? 0
|
|
17770
17928
|
}));
|
|
17771
|
-
let b =
|
|
17929
|
+
let b = xm(n, g);
|
|
17772
17930
|
b.push({
|
|
17773
17931
|
role: "user",
|
|
17774
17932
|
content: t
|
|
@@ -17783,8 +17941,8 @@ async function* Om(e) {
|
|
|
17783
17941
|
system: y,
|
|
17784
17942
|
tools: _,
|
|
17785
17943
|
messages: b
|
|
17786
|
-
}), n = Date.now(), { contentBlocks: r, stopReason: i, inputTokens: a, outputTokens: o } = yield*
|
|
17787
|
-
if (
|
|
17944
|
+
}), n = Date.now(), { contentBlocks: r, stopReason: i, inputTokens: a, outputTokens: o } = yield* Em(g, t);
|
|
17945
|
+
if (bm(() => c?.onGenerationEnd?.({
|
|
17788
17946
|
traceId: l,
|
|
17789
17947
|
turn: e,
|
|
17790
17948
|
model: f,
|
|
@@ -17798,7 +17956,7 @@ async function* Om(e) {
|
|
|
17798
17956
|
role: "assistant",
|
|
17799
17957
|
content: r
|
|
17800
17958
|
}), !g.shouldContinue(i)) break;
|
|
17801
|
-
let s = yield*
|
|
17959
|
+
let s = yield* Om(r, {
|
|
17802
17960
|
executor: v,
|
|
17803
17961
|
observability: c,
|
|
17804
17962
|
traceId: l,
|
|
@@ -17807,9 +17965,9 @@ async function* Om(e) {
|
|
|
17807
17965
|
yield {
|
|
17808
17966
|
type: "turn_complete",
|
|
17809
17967
|
data: {}
|
|
17810
|
-
},
|
|
17968
|
+
}, ym(b, g.formatToolResults(s));
|
|
17811
17969
|
}
|
|
17812
|
-
|
|
17970
|
+
bm(() => c?.onChatEnd?.({
|
|
17813
17971
|
traceId: l,
|
|
17814
17972
|
sessionId: s,
|
|
17815
17973
|
totalTurns: ee,
|
|
@@ -17842,7 +18000,7 @@ async function* Om(e) {
|
|
|
17842
18000
|
function Q(e) {
|
|
17843
18001
|
return e.toISOString().split("T")[0];
|
|
17844
18002
|
}
|
|
17845
|
-
function
|
|
18003
|
+
function jm(e, t) {
|
|
17846
18004
|
let n = /* @__PURE__ */ new Date(), r = Q(n);
|
|
17847
18005
|
if (/days?/.test(t)) {
|
|
17848
18006
|
let t = new Date(n);
|
|
@@ -17867,14 +18025,14 @@ function km(e, t) {
|
|
|
17867
18025
|
}
|
|
17868
18026
|
return null;
|
|
17869
18027
|
}
|
|
17870
|
-
function
|
|
18028
|
+
function Mm(e) {
|
|
17871
18029
|
let t = parseInt(e.slice(1), 10), n = (/* @__PURE__ */ new Date()).getFullYear(), r = (t - 1) * 3, i = new Date(n, r, 1), a = new Date(n, r + 3, 0);
|
|
17872
18030
|
return {
|
|
17873
18031
|
dateRange: [Q(i), Q(a)],
|
|
17874
18032
|
granularity: "month"
|
|
17875
18033
|
};
|
|
17876
18034
|
}
|
|
17877
|
-
function
|
|
18035
|
+
function Nm(e, t, n, r) {
|
|
17878
18036
|
let i = 0;
|
|
17879
18037
|
for (let a of e.measures) {
|
|
17880
18038
|
let e = [
|
|
@@ -17889,7 +18047,7 @@ function jm(e, t, n, r) {
|
|
|
17889
18047
|
}
|
|
17890
18048
|
return i;
|
|
17891
18049
|
}
|
|
17892
|
-
function
|
|
18050
|
+
function Pm(e, t, n, r) {
|
|
17893
18051
|
let i = e.measures.filter((e) => e.type === t.type);
|
|
17894
18052
|
if (i.length > 0) {
|
|
17895
18053
|
n.push(i[0].name), r.push(`Suggested ${i[0].name} based on ${t.type} intent`);
|
|
@@ -17900,7 +18058,7 @@ function Mm(e, t, n, r) {
|
|
|
17900
18058
|
t && (n.push(t.name), r.push(`Suggested ${t.name} for counting`));
|
|
17901
18059
|
}
|
|
17902
18060
|
}
|
|
17903
|
-
function
|
|
18061
|
+
function Fm(e, t, n, r, i) {
|
|
17904
18062
|
let a = 0;
|
|
17905
18063
|
for (let n of t) {
|
|
17906
18064
|
let t = If(e, n, "dimension");
|
|
@@ -17921,7 +18079,7 @@ function Nm(e, t, n, r, i) {
|
|
|
17921
18079
|
}
|
|
17922
18080
|
//#endregion
|
|
17923
18081
|
//#region src/server/ai/suggestion.ts
|
|
17924
|
-
function
|
|
18082
|
+
function Im() {
|
|
17925
18083
|
let e = /* @__PURE__ */ new Date(), t = e.toISOString().split("T")[0], n = (e) => e.toISOString().split("T")[0], r = (e) => new Date(e.getFullYear(), e.getMonth(), 1), i = (e) => new Date(e.getFullYear(), 0, 1), a = (e) => {
|
|
17926
18084
|
let t = Math.floor(e.getMonth() / 3);
|
|
17927
18085
|
return new Date(e.getFullYear(), t * 3, 1);
|
|
@@ -18032,16 +18190,16 @@ function Pm() {
|
|
|
18032
18190
|
}
|
|
18033
18191
|
];
|
|
18034
18192
|
}
|
|
18035
|
-
var
|
|
18193
|
+
var Lm = {
|
|
18036
18194
|
funnel: /\b(funnel|conversion|drop.?off|steps?|journey|pipeline|stages?)\b/i,
|
|
18037
18195
|
flow: /\b(flows?|paths?|sequence|before|after|next|previous|user.?journey)\b/i,
|
|
18038
18196
|
retention: /\b(retention|cohort|return|churn|comeback|retained|day.?\d+)\b/i
|
|
18039
18197
|
};
|
|
18040
|
-
function
|
|
18198
|
+
function Rm(e) {
|
|
18041
18199
|
let t = e.toLowerCase();
|
|
18042
|
-
return
|
|
18200
|
+
return Lm.funnel.test(t) ? "funnel" : Lm.flow.test(t) ? "flow" : Lm.retention.test(t) ? "retention" : "query";
|
|
18043
18201
|
}
|
|
18044
|
-
function
|
|
18202
|
+
function zm(e, t) {
|
|
18045
18203
|
let n = t || "the relevant cube";
|
|
18046
18204
|
switch (e) {
|
|
18047
18205
|
case "funnel": return [
|
|
@@ -18057,16 +18215,16 @@ function Lm(e, t) {
|
|
|
18057
18215
|
case "retention": return [`Use /mcp/discover to get ${n} retention configuration and schema`, "Build retention query specifying granularity (day/week/month) and number of periods"];
|
|
18058
18216
|
}
|
|
18059
18217
|
}
|
|
18060
|
-
function
|
|
18061
|
-
let t =
|
|
18218
|
+
function Bm(e) {
|
|
18219
|
+
let t = Im(), n = e.toLowerCase();
|
|
18062
18220
|
for (let e of t) {
|
|
18063
18221
|
let t = n.match(e.pattern);
|
|
18064
18222
|
if (t) {
|
|
18065
18223
|
if (t[1] && /^\d+$/.test(t[1])) {
|
|
18066
|
-
let e =
|
|
18224
|
+
let e = jm(parseInt(t[1], 10), n);
|
|
18067
18225
|
if (e) return e;
|
|
18068
18226
|
}
|
|
18069
|
-
return /^q[1-4]$/i.test(t[0]) ?
|
|
18227
|
+
return /^q[1-4]$/i.test(t[0]) ? Mm(t[0]) : {
|
|
18070
18228
|
dateRange: e.getDateRange(),
|
|
18071
18229
|
granularity: e.granularity
|
|
18072
18230
|
};
|
|
@@ -18074,7 +18232,7 @@ function Rm(e) {
|
|
|
18074
18232
|
}
|
|
18075
18233
|
return null;
|
|
18076
18234
|
}
|
|
18077
|
-
function
|
|
18235
|
+
function Vm(e) {
|
|
18078
18236
|
let t = e.toLowerCase();
|
|
18079
18237
|
for (let { pattern: e, type: n } of [
|
|
18080
18238
|
{
|
|
@@ -18103,7 +18261,7 @@ function zm(e) {
|
|
|
18103
18261
|
};
|
|
18104
18262
|
return null;
|
|
18105
18263
|
}
|
|
18106
|
-
function
|
|
18264
|
+
function Hm(e) {
|
|
18107
18265
|
let t = e.toLowerCase(), n = [], r = /\bby\s+(\w+(?:\s+\w+)?)/gi, i;
|
|
18108
18266
|
for (; (i = r.exec(t)) !== null;) n.push(i[1].trim());
|
|
18109
18267
|
let a = /\bper\s+(\w+)/gi;
|
|
@@ -18112,7 +18270,7 @@ function Bm(e) {
|
|
|
18112
18270
|
for (; (i = o.exec(t)) !== null;) n.push(i[1].trim());
|
|
18113
18271
|
return n;
|
|
18114
18272
|
}
|
|
18115
|
-
function
|
|
18273
|
+
function Um(e, t, n, r, i) {
|
|
18116
18274
|
if (n) {
|
|
18117
18275
|
let t = e.find((e) => e.name === n);
|
|
18118
18276
|
return t ? (r.push(`Using specified cube: ${n}`), [t]) : (i.push(`Specified cube '${n}' not found`), []);
|
|
@@ -18123,7 +18281,7 @@ function Vm(e, t, n, r, i) {
|
|
|
18123
18281
|
}).map((t) => e.find((e) => e.name === t.cube)).filter((e) => e !== void 0);
|
|
18124
18282
|
return a.length > 0 && r.push(`Identified relevant cubes: ${a.map((e) => e.name).join(", ")}`), a;
|
|
18125
18283
|
}
|
|
18126
|
-
function
|
|
18284
|
+
function Wm(e, t) {
|
|
18127
18285
|
return e === "query" ? {
|
|
18128
18286
|
query: {},
|
|
18129
18287
|
confidence: 0,
|
|
@@ -18137,19 +18295,19 @@ function Hm(e, t) {
|
|
|
18137
18295
|
reasoning: [`Detected ${e} intent from natural language`],
|
|
18138
18296
|
warnings: t,
|
|
18139
18297
|
analysisMode: e,
|
|
18140
|
-
nextSteps:
|
|
18298
|
+
nextSteps: zm(e, void 0)
|
|
18141
18299
|
};
|
|
18142
18300
|
}
|
|
18143
|
-
function
|
|
18144
|
-
let r = [], i = [], a = {}, o =
|
|
18145
|
-
if (s.length === 0) return
|
|
18146
|
-
let c = s[0], l = .5, u =
|
|
18301
|
+
function Gm(e, t, n) {
|
|
18302
|
+
let r = [], i = [], a = {}, o = Rm(t), s = Um(e, t, n, r, i);
|
|
18303
|
+
if (s.length === 0) return Wm(o, i);
|
|
18304
|
+
let c = s[0], l = .5, u = Vm(t);
|
|
18147
18305
|
u && (r.push(`Detected ${u.type} aggregation intent`), l += .1);
|
|
18148
18306
|
let d = [], f = t.toLowerCase();
|
|
18149
|
-
l +=
|
|
18150
|
-
let p =
|
|
18151
|
-
l +=
|
|
18152
|
-
let h =
|
|
18307
|
+
l += Nm(c, f, d, r), d.length === 0 && u && Pm(c, u, d, r), d.length === 0 && c.measures.length > 0 && (d.push(c.measures[0].name), r.push(`Using default measure: ${c.measures[0].name}`), i.push("Could not determine specific measure from query, using default")), a.measures = d;
|
|
18308
|
+
let p = Hm(t), m = [];
|
|
18309
|
+
l += Fm(s, p, f, m, r), m.length > 0 && (a.dimensions = m);
|
|
18310
|
+
let h = Bm(t);
|
|
18153
18311
|
if (h) {
|
|
18154
18312
|
let e = c.dimensions.find((e) => e.type === "time");
|
|
18155
18313
|
if (e) {
|
|
@@ -18168,7 +18326,7 @@ function Um(e, t, n) {
|
|
|
18168
18326
|
reasoning: [`Detected ${o} intent from natural language`, ...e ? [`Found relevant cube: ${e}`] : []],
|
|
18169
18327
|
warnings: i.length > 0 ? i : void 0,
|
|
18170
18328
|
analysisMode: o,
|
|
18171
|
-
nextSteps:
|
|
18329
|
+
nextSteps: zm(o, e)
|
|
18172
18330
|
};
|
|
18173
18331
|
}
|
|
18174
18332
|
return {
|
|
@@ -18187,18 +18345,18 @@ function $(e, t, n, r) {
|
|
|
18187
18345
|
message: A(t)
|
|
18188
18346
|
});
|
|
18189
18347
|
}
|
|
18190
|
-
function
|
|
18348
|
+
function Km(e, t) {
|
|
18191
18349
|
return e.map((e) => t.get(e) || e);
|
|
18192
18350
|
}
|
|
18193
|
-
function
|
|
18351
|
+
function qm(e, t) {
|
|
18194
18352
|
if (t.size === 0) return;
|
|
18195
18353
|
let n = JSON.parse(JSON.stringify(e));
|
|
18196
|
-
return n.measures &&=
|
|
18354
|
+
return n.measures &&= Km(n.measures, t), n.dimensions &&= Km(n.dimensions, t), n.timeDimensions &&= n.timeDimensions.map((e) => ({
|
|
18197
18355
|
...e,
|
|
18198
18356
|
dimension: t.get(e.dimension) || e.dimension
|
|
18199
18357
|
})), n;
|
|
18200
18358
|
}
|
|
18201
|
-
function
|
|
18359
|
+
function Jm(e, t) {
|
|
18202
18360
|
e.measures && e.measures.length > 10 && t.push({
|
|
18203
18361
|
type: "performance",
|
|
18204
18362
|
message: A("server.validation.ai.performanceManyMeasures", { count: e.measures.length }),
|
|
@@ -18209,7 +18367,7 @@ function Km(e, t) {
|
|
|
18209
18367
|
suggestion: A("server.validation.ai.suggestAddDimensionFilters")
|
|
18210
18368
|
});
|
|
18211
18369
|
}
|
|
18212
|
-
function
|
|
18370
|
+
function Ym(e, t, n) {
|
|
18213
18371
|
let [r] = e.split("."), i = t.find((e) => e.name === r);
|
|
18214
18372
|
if (!i) return;
|
|
18215
18373
|
let a = i.dimensions.find((t) => t.name === e);
|
|
@@ -18223,7 +18381,7 @@ function qm(e, t, n) {
|
|
|
18223
18381
|
suggestion: A("server.validation.ai.suggestUseTimeDimension")
|
|
18224
18382
|
});
|
|
18225
18383
|
}
|
|
18226
|
-
function
|
|
18384
|
+
function Xm(e, t, n, r, i) {
|
|
18227
18385
|
let a = e.member, o = a.split(".");
|
|
18228
18386
|
if (o.length !== 2) {
|
|
18229
18387
|
n.push({
|
|
@@ -18271,7 +18429,7 @@ function Jm(e, t, n, r, i) {
|
|
|
18271
18429
|
}
|
|
18272
18430
|
//#endregion
|
|
18273
18431
|
//#region src/server/ai/validation.ts
|
|
18274
|
-
function
|
|
18432
|
+
function Zm(e, t) {
|
|
18275
18433
|
let n = null;
|
|
18276
18434
|
for (let r of t) {
|
|
18277
18435
|
let t = Tf(e.toLowerCase(), r.toLowerCase());
|
|
@@ -18282,7 +18440,7 @@ function Ym(e, t) {
|
|
|
18282
18440
|
}
|
|
18283
18441
|
return n;
|
|
18284
18442
|
}
|
|
18285
|
-
function
|
|
18443
|
+
function Qm(e, t, n, r) {
|
|
18286
18444
|
let i = e.split(".");
|
|
18287
18445
|
if (i.length !== 2) {
|
|
18288
18446
|
n.push({
|
|
@@ -18294,7 +18452,7 @@ function Xm(e, t, n, r) {
|
|
|
18294
18452
|
}
|
|
18295
18453
|
let [a, o] = i, s = t.find((e) => e.name === a);
|
|
18296
18454
|
if (!s) {
|
|
18297
|
-
let i = t.map((e) => e.name), s =
|
|
18455
|
+
let i = t.map((e) => e.name), s = Zm(a, i);
|
|
18298
18456
|
s ? (n.push({
|
|
18299
18457
|
type: "cube_not_found",
|
|
18300
18458
|
message: A("server.validation.ai.cubeNotFoundWithSuggestion", { cubeName: a }),
|
|
@@ -18322,7 +18480,7 @@ function Xm(e, t, n, r) {
|
|
|
18322
18480
|
correctedValue: i.field
|
|
18323
18481
|
}), r.set(e, i.field);
|
|
18324
18482
|
else {
|
|
18325
|
-
let t = s.measures.map((e) => e.name.split(".").pop()), i =
|
|
18483
|
+
let t = s.measures.map((e) => e.name.split(".").pop()), i = Zm(o, t);
|
|
18326
18484
|
if (i) {
|
|
18327
18485
|
let t = `${a}.${i.field}`;
|
|
18328
18486
|
n.push({
|
|
@@ -18347,7 +18505,7 @@ function Xm(e, t, n, r) {
|
|
|
18347
18505
|
}
|
|
18348
18506
|
}
|
|
18349
18507
|
}
|
|
18350
|
-
function
|
|
18508
|
+
function $m(e, t, n, r) {
|
|
18351
18509
|
let i = e.split(".");
|
|
18352
18510
|
if (i.length !== 2) {
|
|
18353
18511
|
n.push({
|
|
@@ -18359,7 +18517,7 @@ function Zm(e, t, n, r) {
|
|
|
18359
18517
|
}
|
|
18360
18518
|
let [a, o] = i, s = t.find((e) => e.name === a);
|
|
18361
18519
|
if (!s) {
|
|
18362
|
-
let i = t.map((e) => e.name), s =
|
|
18520
|
+
let i = t.map((e) => e.name), s = Zm(a, i);
|
|
18363
18521
|
s ? (n.push({
|
|
18364
18522
|
type: "cube_not_found",
|
|
18365
18523
|
message: A("server.validation.ai.cubeNotFoundWithSuggestion", { cubeName: a }),
|
|
@@ -18387,7 +18545,7 @@ function Zm(e, t, n, r) {
|
|
|
18387
18545
|
correctedValue: i.field
|
|
18388
18546
|
}), r.set(e, i.field);
|
|
18389
18547
|
else {
|
|
18390
|
-
let t = s.dimensions.map((e) => e.name.split(".").pop()), i =
|
|
18548
|
+
let t = s.dimensions.map((e) => e.name.split(".").pop()), i = Zm(o, t);
|
|
18391
18549
|
if (i) {
|
|
18392
18550
|
let t = `${a}.${i.field}`;
|
|
18393
18551
|
n.push({
|
|
@@ -18412,23 +18570,23 @@ function Zm(e, t, n, r) {
|
|
|
18412
18570
|
}
|
|
18413
18571
|
}
|
|
18414
18572
|
}
|
|
18415
|
-
function
|
|
18573
|
+
function eh(e, t, n, r) {
|
|
18416
18574
|
for (let i of e) {
|
|
18417
18575
|
if ("and" in i && Array.isArray(i.and)) {
|
|
18418
|
-
|
|
18576
|
+
eh(i.and, t, n, r);
|
|
18419
18577
|
continue;
|
|
18420
18578
|
}
|
|
18421
18579
|
if ("or" in i && Array.isArray(i.or)) {
|
|
18422
|
-
|
|
18580
|
+
eh(i.or, t, n, r);
|
|
18423
18581
|
continue;
|
|
18424
18582
|
}
|
|
18425
|
-
"member" in i &&
|
|
18583
|
+
"member" in i && Xm(i, t, n, r, Zm);
|
|
18426
18584
|
}
|
|
18427
18585
|
}
|
|
18428
|
-
function
|
|
18586
|
+
function th(e, t, n, r, i) {
|
|
18429
18587
|
let a = e.funnel;
|
|
18430
18588
|
if (!a) return;
|
|
18431
|
-
let o = (e, n) =>
|
|
18589
|
+
let o = (e, n) => $m(e, t, n, i);
|
|
18432
18590
|
if ($(a.bindingKey, "server.validation.ai.bindingKeyRequired.funnel", o, n), $(a.timeDimension, "server.validation.ai.timeDimensionRequired.funnel", o, n), !a.steps || !Array.isArray(a.steps)) n.push({
|
|
18433
18591
|
type: "syntax_error",
|
|
18434
18592
|
message: A("server.validation.ai.funnelStepsRequired")
|
|
@@ -18443,23 +18601,23 @@ function $m(e, t, n, r, i) {
|
|
|
18443
18601
|
type: "best_practice",
|
|
18444
18602
|
message: A("server.validation.ai.stepMissingName", { step: e + 1 }),
|
|
18445
18603
|
suggestion: A("server.validation.ai.suggestAddStepNames")
|
|
18446
|
-
}), o.filter && "member" in o.filter &&
|
|
18604
|
+
}), o.filter && "member" in o.filter && eh([o.filter], t, n, i);
|
|
18447
18605
|
}
|
|
18448
18606
|
}
|
|
18449
|
-
function
|
|
18607
|
+
function nh(e, t, n, r, i) {
|
|
18450
18608
|
let a = e.flow;
|
|
18451
18609
|
if (!a) return;
|
|
18452
|
-
let o = (e, n) =>
|
|
18610
|
+
let o = (e, n) => $m(e, t, n, i);
|
|
18453
18611
|
$(a.bindingKey, "server.validation.ai.bindingKeyRequired.flow", o, n), $(a.timeDimension, "server.validation.ai.timeDimensionRequired.flow", o, n), $(a.eventDimension, "server.validation.ai.eventDimensionRequired", o, n), a.stepsBefore === void 0 && a.stepsAfter === void 0 && r.push({
|
|
18454
18612
|
type: "best_practice",
|
|
18455
18613
|
message: A("server.validation.ai.stepsBothMissing"),
|
|
18456
18614
|
suggestion: A("server.validation.ai.suggestSetSteps")
|
|
18457
18615
|
});
|
|
18458
18616
|
}
|
|
18459
|
-
function
|
|
18617
|
+
function rh(e, t, n, r, i) {
|
|
18460
18618
|
let a = e.retention;
|
|
18461
18619
|
if (!a) return;
|
|
18462
|
-
let o = (e, n) =>
|
|
18620
|
+
let o = (e, n) => $m(e, t, n, i);
|
|
18463
18621
|
$(a.bindingKey, "server.validation.ai.bindingKeyRequired.retention", o, n), $(a.timeDimension, "server.validation.ai.retentionTimeDimensionRequired", o, n), a.granularity || r.push({
|
|
18464
18622
|
type: "best_practice",
|
|
18465
18623
|
message: A("server.validation.ai.granularityNotSpecified"),
|
|
@@ -18470,28 +18628,28 @@ function th(e, t, n, r, i) {
|
|
|
18470
18628
|
suggestion: A("server.validation.ai.suggestSpecifyPeriods")
|
|
18471
18629
|
});
|
|
18472
18630
|
}
|
|
18473
|
-
function
|
|
18474
|
-
return e.funnel ? (
|
|
18631
|
+
function ih(e, t, n, r, i) {
|
|
18632
|
+
return e.funnel ? (th(e, t, n, r, i), !0) : e.flow ? (nh(e, t, n, r, i), !0) : e.retention ? (rh(e, t, n, r, i), !0) : !1;
|
|
18475
18633
|
}
|
|
18476
|
-
function
|
|
18477
|
-
if (e.measures) for (let r of e.measures)
|
|
18478
|
-
if (e.dimensions) for (let r of e.dimensions)
|
|
18479
|
-
if (e.timeDimensions) for (let a of e.timeDimensions)
|
|
18480
|
-
e.filters &&
|
|
18634
|
+
function ah(e, t, n, r, i) {
|
|
18635
|
+
if (e.measures) for (let r of e.measures) Qm(r, t, n, i);
|
|
18636
|
+
if (e.dimensions) for (let r of e.dimensions) $m(r, t, n, i);
|
|
18637
|
+
if (e.timeDimensions) for (let a of e.timeDimensions) $m(a.dimension, t, n, i), Ym(a.dimension, t, r);
|
|
18638
|
+
e.filters && eh(e.filters, t, n, i), !e.measures?.length && !e.dimensions?.length && n.push({
|
|
18481
18639
|
type: "syntax_error",
|
|
18482
18640
|
message: A("server.validation.ai.emptyQuery")
|
|
18483
|
-
}),
|
|
18641
|
+
}), Jm(e, r);
|
|
18484
18642
|
}
|
|
18485
|
-
function
|
|
18643
|
+
function oh(e, t) {
|
|
18486
18644
|
let n = [], r = [], i = /* @__PURE__ */ new Map();
|
|
18487
|
-
if (
|
|
18645
|
+
if (ih(e, t, n, r, i)) return {
|
|
18488
18646
|
isValid: n.length === 0,
|
|
18489
18647
|
errors: n,
|
|
18490
18648
|
warnings: r,
|
|
18491
18649
|
correctedQuery: void 0
|
|
18492
18650
|
};
|
|
18493
|
-
|
|
18494
|
-
let a =
|
|
18651
|
+
ah(e, t, n, r, i);
|
|
18652
|
+
let a = qm(e, i);
|
|
18495
18653
|
return {
|
|
18496
18654
|
isValid: n.length === 0,
|
|
18497
18655
|
errors: n,
|
|
@@ -18501,11 +18659,11 @@ function ih(e, t) {
|
|
|
18501
18659
|
}
|
|
18502
18660
|
//#endregion
|
|
18503
18661
|
//#region src/server/index.ts
|
|
18504
|
-
function
|
|
18662
|
+
function sh(e) {
|
|
18505
18663
|
return new Ud({
|
|
18506
18664
|
drizzle: e.drizzle,
|
|
18507
18665
|
schema: e.schema
|
|
18508
18666
|
});
|
|
18509
18667
|
}
|
|
18510
18668
|
//#endregion
|
|
18511
|
-
export { Bd as BASE_CUBE_SET_ID, w as BaseDatabaseExecutor, $n as CTEBuilder, M as CalculatedMeasureResolver, oi as ComparisonQueryBuilder, pt as DatabendExecutor, ha as DrizzlePlanBuilder, In as DrizzleSqlBuilder, ct as DuckDBExecutor, tf as EXPLAIN_ANALYSIS_PROMPT, ci as FlowQueryBuilder, si as FunnelQueryBuilder, Si as IdentityOptimiser, Ln as JoinPathResolver, xi as LogicalPlanBuilder, Zn as LogicalPlanner, Kd as MemoryCacheProvider, Ze as MySQLExecutor, Ci as OptimiserPipeline, qe as PostgresExecutor, _a as QueryExecutor, kr as QueryValidationError, mi as RetentionQueryBuilder, Vd as SINGLE_TENANT_CONTEXT, tt as SQLiteExecutor, qd as STEP0_VALIDATION_PROMPT, Zd as STEP1_SYSTEM_PROMPT, $d as STEP2_SYSTEM_PROMPT, Yd as SYSTEM_PROMPT_TEMPLATE, Ud as SemanticLayerCompiler, yt as SnowflakeExecutor,
|
|
18669
|
+
export { Bd as BASE_CUBE_SET_ID, w as BaseDatabaseExecutor, $n as CTEBuilder, M as CalculatedMeasureResolver, oi as ComparisonQueryBuilder, pt as DatabendExecutor, ha as DrizzlePlanBuilder, In as DrizzleSqlBuilder, ct as DuckDBExecutor, tf as EXPLAIN_ANALYSIS_PROMPT, ci as FlowQueryBuilder, si as FunnelQueryBuilder, Si as IdentityOptimiser, Ln as JoinPathResolver, xi as LogicalPlanBuilder, Zn as LogicalPlanner, Kd as MemoryCacheProvider, Ze as MySQLExecutor, Ci as OptimiserPipeline, qe as PostgresExecutor, _a as QueryExecutor, kr as QueryValidationError, mi as RetentionQueryBuilder, Vd as SINGLE_TENANT_CONTEXT, tt as SQLiteExecutor, qd as STEP0_VALIDATION_PROMPT, Zd as STEP1_SYSTEM_PROMPT, $d as STEP2_SYSTEM_PROMPT, Yd as SYSTEM_PROMPT_TEMPLATE, Ud as SemanticLayerCompiler, yt as SnowflakeExecutor, oh as aiValidateQuery, _f as buildAgentSystemPrompt, Wd as buildAttributeDimensions, nf as buildExplainAnalysisPrompt, Jd as buildStep0Prompt, Qd as buildStep1Prompt, ef as buildStep2Prompt, Xd as buildSystemPrompt, xt as createDatabaseExecutor, mt as createDatabendExecutor, sh as createDrizzleSemanticLayer, lt as createDuckDBExecutor, Dt as createMultiCubeContext, Qe as createMySQLExecutor, Je as createPostgresExecutor, nt as createSQLiteExecutor, bt as createSnowflakeExecutor, _m as createToolExecutor, Ot as defineCube, Or as detectQueryMode, Er as detectQueryModes, Ff as discoverCubes, If as findBestFieldMatch, ni as fnv1aHash, rf as formatCubeSchemaForExplain, af as formatExistingIndexes, Yr as generateCacheKey, Dr as getActiveQueryModes, ii as getCubeInvalidationPattern, Ct as getJoinType, gm as getToolDefinitions, Am as handleAgentChat, Sr as hasComparisonMode, wr as hasFlowMode, Cr as hasFunnelMode, Tr as hasRetentionMode, Xr as normalizeQuery, E as resolveCubeReference, D as resolveSqlExpression, ri as strongHash, Gm as suggestQuery };
|