drizzle-cube 0.10.0 → 0.11.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-XMtoteb6.js +2 -0
- package/dist/adapters/ActivityGridChart.config-h1AXPvn0.cjs +1 -0
- package/dist/adapters/AreaChart.config-DYf9wufo.cjs +1 -0
- package/dist/adapters/AreaChart.config-We6b53aT.js +2 -0
- package/dist/adapters/BarChart.config-4SX44IYv.cjs +1 -0
- package/dist/adapters/BarChart.config-CwBnyptL.js +2 -0
- package/dist/adapters/BoxPlotChart.config-BzNe-FlW.cjs +1 -0
- package/dist/adapters/BoxPlotChart.config-mfAHqmcp.js +2 -0
- package/dist/adapters/BubbleChart.config-CBT5jMdc.cjs +1 -0
- package/dist/adapters/BubbleChart.config-DxG_Umal.js +2 -0
- package/dist/adapters/CandlestickChart.config-Cqw3XP1h.js +2 -0
- package/dist/adapters/CandlestickChart.config-DPSSlzUD.cjs +1 -0
- package/dist/adapters/DataTable.config-DS1bvaDu.js +2 -0
- package/dist/adapters/DataTable.config-D_NsMeyz.cjs +1 -0
- package/dist/adapters/DotStripChart.config-BApWn6QV.cjs +1 -0
- package/dist/adapters/DotStripChart.config-Bdk5-YfB.js +2 -0
- package/dist/adapters/FunnelChart.config-BT5up_Bg.cjs +1 -0
- package/dist/adapters/FunnelChart.config-ISZiz9fn.js +2 -0
- package/dist/adapters/GaugeChart.config-Biaq1cKc.cjs +1 -0
- package/dist/adapters/GaugeChart.config-BjGfB84t.js +2 -0
- package/dist/adapters/HeatMapChart.config-Bmca8KiH.cjs +1 -0
- package/dist/adapters/HeatMapChart.config-uWvR0B-N.js +2 -0
- package/dist/adapters/KpiDelta.config-CJeDdj_1.js +2 -0
- package/dist/adapters/KpiDelta.config-CKr9pAxL.cjs +1 -0
- package/dist/adapters/KpiNumber.config-6YLEF2fy.cjs +1 -0
- package/dist/adapters/KpiNumber.config-C00M46GA.js +2 -0
- package/dist/adapters/KpiText.config-C8Av_D2W.cjs +1 -0
- package/dist/adapters/KpiText.config-bKTHob0C.js +2 -0
- package/dist/adapters/LineChart.config-DH68HT_B.js +2 -0
- package/dist/adapters/LineChart.config-DPq7GvL9.cjs +1 -0
- package/dist/adapters/MarkdownChart.config-CaaJPO3c.js +2 -0
- package/dist/adapters/MarkdownChart.config-ca_UyhWJ.cjs +1 -0
- package/dist/adapters/MeasureProfileChart.config-C1Il0IqL.cjs +1 -0
- package/dist/adapters/MeasureProfileChart.config-DMOnkmb6.js +2 -0
- package/dist/adapters/PieChart.config-Bg-8cxWK.js +2 -0
- package/dist/adapters/PieChart.config-joJcF--K.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-B2sltKsI.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-BlCedy1v.js +2 -0
- package/dist/adapters/RadarChart.config-DD1pX6FZ.js +2 -0
- package/dist/adapters/RadarChart.config-DVCCLSVw.cjs +1 -0
- package/dist/adapters/RadialBarChart.config--VIE2jMM.js +2 -0
- package/dist/adapters/RadialBarChart.config-BZwyWhTg.cjs +1 -0
- package/dist/adapters/RecordsTable.config-CTBQc-2r.js +2 -0
- package/dist/adapters/RecordsTable.config-DPdO0DL5.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-PGVxnkRL.js +2 -0
- package/dist/adapters/RetentionCombinedChart.config-mX5PMh82.cjs +1 -0
- package/dist/adapters/RetentionHeatmap.config-Co-JMzBm.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-Cub3-ksy.cjs +1 -0
- package/dist/adapters/SankeyChart.config-BkIyUcAE.cjs +1 -0
- package/dist/adapters/SankeyChart.config-DGTnRmYg.js +2 -0
- package/dist/adapters/ScatterChart.config-CdZrBorg.js +2 -0
- package/dist/adapters/ScatterChart.config-CwN9niUL.cjs +1 -0
- package/dist/adapters/SunburstChart.config-D0ZkRSJv.cjs +1 -0
- package/dist/adapters/SunburstChart.config-RF3uu5Sa.js +2 -0
- package/dist/adapters/TreeMapChart.config-B2Yn_V7p.cjs +1 -0
- package/dist/adapters/TreeMapChart.config-diJtcs4D.js +2 -0
- package/dist/adapters/WaterfallChart.config-B10PxftT.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-BImlkLmR.js +2 -0
- package/dist/adapters/chartConfigHelpers-BhME7ow_.cjs +1 -0
- package/dist/adapters/{chartConfigHelpers-BsnbxA2c.js → chartConfigHelpers-BsviVhEw.js} +27 -7
- package/dist/adapters/compiler-B-yljK02.cjs +166 -0
- package/dist/adapters/{compiler-BKg3j2mm.js → compiler-BhityGUO.js} +1146 -1108
- package/dist/adapters/core/index.cjs +1 -1
- package/dist/adapters/core/index.js +1 -1
- package/dist/adapters/{core-JgUTMhxl.cjs → core-CQOrzBNh.cjs} +1 -1
- package/dist/adapters/{core-Bmb7XMBz.js → core-xZE0miIu.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/adapters/{handler-B1_zd-qo.js → handler-ByeQ0-1r.js} +238 -234
- package/dist/adapters/handler-DSNmfv1R.cjs +16 -0
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +4 -4
- package/dist/adapters/mcp-app-html-CNp0VqS_.cjs +1 -0
- package/dist/adapters/mcp-app-html-CvWoYMO3.js +5 -0
- package/dist/adapters/mcp-app-html.cjs +1 -1
- package/dist/adapters/mcp-app-html.js +1 -1
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +3 -3
- package/dist/adapters/{mcp-transport-BTmAXLo8.js → mcp-transport-Cy6n4uj1.js} +1 -1
- package/dist/adapters/{mcp-transport-DzxluRyH.cjs → mcp-transport-DnLP5FPL.cjs} +1 -1
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +5 -5
- package/dist/adapters/{openai-Br__Bn2t.cjs → openai-BQl0yJCS.cjs} +2 -2
- package/dist/adapters/{openai-BpcMIv4e.js → openai-C4HrjyJj.js} +1 -1
- package/dist/adapters/{openai-yfJF-3Rv.js → openai-D3Nt6Bj7.js} +3 -3
- package/dist/adapters/{openai-C32tey5N.cjs → openai-z1ai-G4Q.cjs} +1 -1
- package/dist/adapters/{utils-i2h5cwI3.js → utils-BaxFceDq.js} +1070 -937
- package/dist/adapters/utils-a2p2B6x8.cjs +141 -0
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.js +1 -1
- package/dist/cjs/client/charts/chartConfigHelpers.d.ts +5 -0
- package/dist/cjs/client/components/DashboardFilters/useCompactFilterBar.d.ts +5 -0
- package/dist/cjs/client/components/analyticsPortlet/usePortletQueryResults.d.ts +3 -1
- package/dist/cjs/client/components/dashboardPortletCard/PortletCardHeader.d.ts +2 -0
- package/dist/cjs/client/hooks/queries/useCubeLoadQuery.d.ts +7 -0
- package/dist/cjs/client/hooks/queries/useMultiCubeLoadQuery.d.ts +7 -0
- package/dist/cjs/client/hooks/useAnalysisQuery.d.ts +6 -1
- package/dist/cjs/client/index.d.ts +2 -0
- package/dist/cjs/client/types.d.ts +3 -0
- package/dist/cjs/client/utils/filterUtils.d.ts +30 -0
- package/dist/cjs/client/utils/gapFilling.d.ts +52 -0
- package/dist/cjs/client/utils/index.d.ts +1 -0
- package/dist/cjs/client/utils/joinReachability.d.ts +1 -0
- package/dist/cjs/server/ai/query-schema.d.ts +8 -3
- package/dist/cjs/server/builders/date-time-builder.d.ts +1 -1
- package/dist/cjs/server/builders/date-time-helpers.d.ts +2 -0
- package/dist/cjs/server/builders/filter-builder.d.ts +1 -1
- package/dist/cjs/server/builders/in-date-range-validation.d.ts +25 -0
- package/dist/cjs/server/execution/result-post-processor.d.ts +4 -2
- package/dist/cjs/server/executor.d.ts +2 -0
- package/dist/cjs/server/gap-filler.d.ts +8 -43
- package/dist/cjs/server/types/core.d.ts +2 -0
- package/dist/cjs/server/types/cube.d.ts +12 -0
- package/dist/cjs/server/types/metadata.d.ts +5 -0
- package/dist/cjs/server/types/query.d.ts +2 -1
- package/dist/client/charts/chartConfigHelpers.d.ts +5 -0
- package/dist/client/charts.js +12 -12
- package/dist/client/chunks/{DashboardEditModal-P-HUNrcp.js → DashboardEditModal-CIR4aqr7.js} +2424 -2559
- package/dist/client/chunks/DashboardEditModal-CIR4aqr7.js.map +1 -0
- package/dist/client/chunks/{DotStripChart-in6QHc0b.js → DotStripChart-B9IVCFPO.js} +3 -3
- package/dist/client/chunks/{DotStripChart-in6QHc0b.js.map → DotStripChart-B9IVCFPO.js.map} +1 -1
- package/dist/client/chunks/{ProportionBarChart-CjuOm7NT.js → ProportionBarChart-DieF9AzP.js} +3 -3
- package/dist/client/chunks/{ProportionBarChart-CjuOm7NT.js.map → ProportionBarChart-DieF9AzP.js.map} +1 -1
- package/dist/client/chunks/{RecordsTable-CXXsiaV1.js → RecordsTable-Mo3ai5_M.js} +4 -4
- package/dist/client/chunks/{RecordsTable-CXXsiaV1.js.map → RecordsTable-Mo3ai5_M.js.map} +1 -1
- package/dist/client/chunks/{RetentionCombinedChart-DFCeEFkx.js → RetentionCombinedChart-Bie4ADyA.js} +3 -3
- package/dist/client/chunks/{RetentionCombinedChart-DFCeEFkx.js.map → RetentionCombinedChart-Bie4ADyA.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-jpshJ2Af.js → RetentionHeatmap-qstIAx5B.js} +2 -2
- package/dist/client/chunks/{RetentionHeatmap-jpshJ2Af.js.map → RetentionHeatmap-qstIAx5B.js.map} +1 -1
- package/dist/client/chunks/{af-ZA-C0dGb_53.js → af-ZA-BglLInx4.js} +13 -1
- package/dist/client/chunks/{af-ZA-C0dGb_53.js.map → af-ZA-BglLInx4.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-CRghdHVl.js → analysis-builder-DJNYt7CF.js} +41 -41
- package/dist/client/chunks/{analysis-builder-CRghdHVl.js.map → analysis-builder-DJNYt7CF.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-shared-DBSxWIj8.js → analysis-builder-shared-DPLR8upd.js} +487 -483
- package/dist/client/chunks/analysis-builder-shared-DPLR8upd.js.map +1 -0
- package/dist/client/chunks/{chart-activity-grid-DGazwi4C.js → chart-activity-grid-Ly_-2B-f.js} +22 -4
- package/dist/client/chunks/chart-activity-grid-Ly_-2B-f.js.map +1 -0
- package/dist/client/chunks/{chart-area-zyLGD-ym.js → chart-area-D3l-71Wy.js} +2 -2
- package/dist/client/chunks/{chart-area-zyLGD-ym.js.map → chart-area-D3l-71Wy.js.map} +1 -1
- package/dist/client/chunks/{chart-bar-DMCBq8qJ.js → chart-bar-BaTyQOqs.js} +3 -3
- package/dist/client/chunks/{chart-bar-DMCBq8qJ.js.map → chart-bar-BaTyQOqs.js.map} +1 -1
- package/dist/client/chunks/{chart-box-plot-5Z55A-it.js → chart-box-plot-Cem6PHjz.js} +2 -2
- package/dist/client/chunks/{chart-box-plot-5Z55A-it.js.map → chart-box-plot-Cem6PHjz.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-YD28dX8w.js → chart-bubble-DFlfqCDG.js} +2 -2
- package/dist/client/chunks/{chart-bubble-YD28dX8w.js.map → chart-bubble-DFlfqCDG.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-BUMpBI08.js → chart-candlestick-BkAFBXtZ.js} +2 -2
- package/dist/client/chunks/{chart-candlestick-BUMpBI08.js.map → chart-candlestick-BkAFBXtZ.js.map} +1 -1
- package/dist/client/chunks/{chart-config-area-DsrZCIwF.js → chart-config-area-BnsRQ-MY.js} +35 -14
- package/dist/client/chunks/chart-config-area-BnsRQ-MY.js.map +1 -0
- package/dist/client/chunks/{chart-config-bar-BixSs43E.js → chart-config-bar-G2HJJBVV.js} +8 -7
- package/dist/client/chunks/chart-config-bar-G2HJJBVV.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-delta-Cl7k6jTj.js → chart-config-kpi-delta-BIAq1Ftg.js} +2 -2
- package/dist/client/chunks/{chart-config-kpi-delta-Cl7k6jTj.js.map → chart-config-kpi-delta-BIAq1Ftg.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-number-DCcnANWC.js → chart-config-kpi-number-Dgc4gIYu.js} +2 -2
- package/dist/client/chunks/{chart-config-kpi-number-DCcnANWC.js.map → chart-config-kpi-number-Dgc4gIYu.js.map} +1 -1
- package/dist/client/chunks/{chart-config-line-CBF9Px9b.js → chart-config-line-DLkRs1Zr.js} +9 -8
- package/dist/client/chunks/chart-config-line-DLkRs1Zr.js.map +1 -0
- package/dist/client/chunks/{chart-config-pie-DZLa6Eqm.js → chart-config-pie-XrHim0C8.js} +2 -2
- package/dist/client/chunks/{chart-config-pie-DZLa6Eqm.js.map → chart-config-pie-XrHim0C8.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radar-DR6vHHyd.js → chart-config-radar-xNS6Juqc.js} +2 -2
- package/dist/client/chunks/{chart-config-radar-DR6vHHyd.js.map → chart-config-radar-xNS6Juqc.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radial-bar-DVFou4fB.js → chart-config-radial-bar-ChUChsEe.js} +2 -2
- package/dist/client/chunks/{chart-config-radial-bar-DVFou4fB.js.map → chart-config-radial-bar-ChUChsEe.js.map} +1 -1
- package/dist/client/chunks/{chart-config-tree-map-Uhise6Bx.js → chart-config-tree-map-CnrJ7OC1.js} +2 -2
- package/dist/client/chunks/{chart-config-tree-map-Uhise6Bx.js.map → chart-config-tree-map-CnrJ7OC1.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-BdMo3zVh.js → chart-data-table-Cxd0cdAl.js} +36 -36
- package/dist/client/chunks/{chart-data-table-BdMo3zVh.js.map → chart-data-table-Cxd0cdAl.js.map} +1 -1
- package/dist/client/chunks/{chart-funnel-BRyZS6ie.js → chart-funnel-71Kn4eeF.js} +2 -2
- package/dist/client/chunks/{chart-funnel-BRyZS6ie.js.map → chart-funnel-71Kn4eeF.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-DxgHlZKp.js → chart-gauge-BddS_9oS.js} +3 -3
- package/dist/client/chunks/{chart-gauge-DxgHlZKp.js.map → chart-gauge-BddS_9oS.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-5jHm3f-V.js → chart-heat-map-BQIsrn8m.js} +3 -3
- package/dist/client/chunks/{chart-heat-map-5jHm3f-V.js.map → chart-heat-map-BQIsrn8m.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-C84P-mwu.js → chart-kpi-delta-DndbqdZT.js} +3 -3
- package/dist/client/chunks/{chart-kpi-delta-C84P-mwu.js.map → chart-kpi-delta-DndbqdZT.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-D9GqtBWw.js → chart-kpi-number-DAbfoHMt.js} +5 -5
- package/dist/client/chunks/{chart-kpi-number-D9GqtBWw.js.map → chart-kpi-number-DAbfoHMt.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-D3HqxXzU.js → chart-kpi-text-D8oQgpxL.js} +3 -3
- package/dist/client/chunks/{chart-kpi-text-D3HqxXzU.js.map → chart-kpi-text-D8oQgpxL.js.map} +1 -1
- package/dist/client/chunks/{chart-line-IEgiF8Nv.js → chart-line-BNqjUowg.js} +3 -3
- package/dist/client/chunks/{chart-line-IEgiF8Nv.js.map → chart-line-BNqjUowg.js.map} +1 -1
- package/dist/client/chunks/{chart-markdown-B_2Ed7FJ.js → chart-markdown-DtgpU3xd.js} +2 -2
- package/dist/client/chunks/{chart-markdown-B_2Ed7FJ.js.map → chart-markdown-DtgpU3xd.js.map} +1 -1
- package/dist/client/chunks/{chart-measure-profile-CWsPrQhH.js → chart-measure-profile-D5nZMWlI.js} +3 -3
- package/dist/client/chunks/{chart-measure-profile-CWsPrQhH.js.map → chart-measure-profile-D5nZMWlI.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-BEB2sCXF.js → chart-pie-D8r9HCZ4.js} +3 -3
- package/dist/client/chunks/{chart-pie-BEB2sCXF.js.map → chart-pie-D8r9HCZ4.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-BbSbXKbP.js → chart-radar-R4PuCIWp.js} +3 -3
- package/dist/client/chunks/{chart-radar-BbSbXKbP.js.map → chart-radar-R4PuCIWp.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-CNYD7tkM.js → chart-radial-bar-hmrSFa6O.js} +3 -3
- package/dist/client/chunks/{chart-radial-bar-CNYD7tkM.js.map → chart-radial-bar-hmrSFa6O.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-DKnTIvSr.js → chart-sankey-CFXPybny.js} +2 -2
- package/dist/client/chunks/{chart-sankey-DKnTIvSr.js.map → chart-sankey-CFXPybny.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-CSWF6-lx.js → chart-scatter-CH82md0L.js} +3 -3
- package/dist/client/chunks/{chart-scatter-CSWF6-lx.js.map → chart-scatter-CH82md0L.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-CdGzCq7q.js → chart-sunburst-CTj95eEC.js} +3 -3
- package/dist/client/chunks/{chart-sunburst-CdGzCq7q.js.map → chart-sunburst-CTj95eEC.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-BiXB7EiM.js → chart-tree-map-CmysE4bF.js} +3 -3
- package/dist/client/chunks/{chart-tree-map-BiXB7EiM.js.map → chart-tree-map-CmysE4bF.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-5rSDeLEZ.js → chart-waterfall-Bv1mPvlB.js} +3 -3
- package/dist/client/chunks/{chart-waterfall-5rSDeLEZ.js.map → chart-waterfall-Bv1mPvlB.js.map} +1 -1
- package/dist/client/chunks/{charts-core-CKpkoMCa.js → charts-core-BdEQgbqN.js} +2 -2
- package/dist/client/chunks/{charts-core-CKpkoMCa.js.map → charts-core-BdEQgbqN.js.map} +1 -1
- package/dist/client/chunks/charts-loader-DoLQqFXg.js +87 -0
- package/dist/client/chunks/{charts-loader-BTI0UPK4.js.map → charts-loader-DoLQqFXg.js.map} +1 -1
- package/dist/client/chunks/gapFilling-DKBRHcQL.js +391 -0
- package/dist/client/chunks/gapFilling-DKBRHcQL.js.map +1 -0
- package/dist/client/chunks/{nl-NL-kRjxedTf.js → nl-NL-DVZXf8U7.js} +20 -2
- package/dist/client/chunks/nl-NL-DVZXf8U7.js.map +1 -0
- package/dist/client/chunks/{schema-visualization-BbvL74Sf.js → schema-visualization-MlRrcJQH.js} +3 -3
- package/dist/client/chunks/{schema-visualization-BbvL74Sf.js.map → schema-visualization-MlRrcJQH.js.map} +1 -1
- package/dist/client/chunks/{useDirtyStateTracking-BfG1lX_3.js → useDirtyStateTracking-DSkxAJ29.js} +317 -292
- package/dist/client/chunks/useDirtyStateTracking-DSkxAJ29.js.map +1 -0
- package/dist/client/chunks/{useExplainAI-CDFhgmpE.js → useExplainAI-DRCIVcbu.js} +4 -4
- package/dist/client/chunks/{useExplainAI-CDFhgmpE.js.map → useExplainAI-DRCIVcbu.js.map} +1 -1
- package/dist/client/chunks/utils-CToHkuhU.js.map +1 -1
- package/dist/client/chunks/{vendor-DeckzF1j.js → vendor-BfBpNmMa.js} +2 -2
- package/dist/client/chunks/{vendor-DeckzF1j.js.map → vendor-BfBpNmMa.js.map} +1 -1
- package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +5 -0
- package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +3 -1
- package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +2 -0
- package/dist/client/components.js +2 -2
- package/dist/client/hooks/queries/useCubeLoadQuery.d.ts +7 -0
- package/dist/client/hooks/queries/useMultiCubeLoadQuery.d.ts +7 -0
- package/dist/client/hooks/useAnalysisQuery.d.ts +6 -1
- package/dist/client/hooks.js +3 -3
- package/dist/client/icons.js +1 -1
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.js +193 -192
- 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/types.d.ts +3 -0
- package/dist/client/utils/filterUtils.d.ts +30 -0
- package/dist/client/utils/gapFilling.d.ts +52 -0
- package/dist/client/utils/index.d.ts +1 -0
- package/dist/client/utils/joinReachability.d.ts +1 -0
- package/dist/client/utils.js +9 -8
- package/dist/client/utils.js.map +1 -1
- package/dist/client-bundle-stats.html +1 -1
- package/dist/mcp-app/mcp-app.html +103 -103
- package/dist/server/ai/query-schema.d.ts +8 -3
- package/dist/server/builders/date-time-builder.d.ts +1 -1
- package/dist/server/builders/date-time-helpers.d.ts +2 -0
- package/dist/server/builders/filter-builder.d.ts +1 -1
- package/dist/server/builders/in-date-range-validation.d.ts +25 -0
- package/dist/server/chartConfigHelpers-BhME7ow_.cjs +1 -0
- package/dist/server/{chartConfigHelpers-BsnbxA2c.js → chartConfigHelpers-BsviVhEw.js} +27 -7
- package/dist/server/execution/result-post-processor.d.ts +4 -2
- package/dist/server/executor.d.ts +2 -0
- package/dist/server/gap-filler.d.ts +8 -43
- package/dist/server/index.cjs +49 -47
- package/dist/server/index.js +2114 -1955
- package/dist/server/types/core.d.ts +2 -0
- package/dist/server/types/cube.d.ts +12 -0
- package/dist/server/types/metadata.d.ts +5 -0
- package/dist/server/types/query.d.ts +2 -1
- package/package.json +2 -1
- package/dist/adapters/ActivityGridChart.config-BW77mjsu.cjs +0 -1
- package/dist/adapters/ActivityGridChart.config-DQRnTU6e.js +0 -2
- package/dist/adapters/AreaChart.config-DbvLVr-Y.cjs +0 -1
- package/dist/adapters/AreaChart.config-JbVNmary.js +0 -2
- package/dist/adapters/BarChart.config-Bkpwgqbk.js +0 -2
- package/dist/adapters/BarChart.config-jgDE3NUv.cjs +0 -1
- package/dist/adapters/BoxPlotChart.config-9wKKOZfN.cjs +0 -1
- package/dist/adapters/BoxPlotChart.config-Di99sPNJ.js +0 -2
- package/dist/adapters/BubbleChart.config-Cdg9nPFz.js +0 -2
- package/dist/adapters/BubbleChart.config-CwDXzdxC.cjs +0 -1
- package/dist/adapters/CandlestickChart.config-B45GmJYV.js +0 -2
- package/dist/adapters/CandlestickChart.config-C8BXzmbD.cjs +0 -1
- package/dist/adapters/DataTable.config-c-24M_qU.cjs +0 -1
- package/dist/adapters/DataTable.config-fic2OroS.js +0 -2
- package/dist/adapters/DotStripChart.config-BcNT3Les.cjs +0 -1
- package/dist/adapters/DotStripChart.config-Cqmgw5_z.js +0 -2
- package/dist/adapters/FunnelChart.config-D1E5zSay.cjs +0 -1
- package/dist/adapters/FunnelChart.config-DPjSoYex.js +0 -2
- package/dist/adapters/GaugeChart.config-BDcvnYln.js +0 -2
- package/dist/adapters/GaugeChart.config-DQnx37Jf.cjs +0 -1
- package/dist/adapters/HeatMapChart.config-BWd863ik.js +0 -2
- package/dist/adapters/HeatMapChart.config-HEbSm_Zt.cjs +0 -1
- package/dist/adapters/KpiDelta.config-Bj3kfmWv.js +0 -2
- package/dist/adapters/KpiDelta.config-CaLnl2w_.cjs +0 -1
- package/dist/adapters/KpiNumber.config-Da9HxGT8.cjs +0 -1
- package/dist/adapters/KpiNumber.config-n4SwHHlD.js +0 -2
- package/dist/adapters/KpiText.config-8VzcnlPF.cjs +0 -1
- package/dist/adapters/KpiText.config-CItv_gG6.js +0 -2
- package/dist/adapters/LineChart.config-DQ7nHYrr.js +0 -2
- package/dist/adapters/LineChart.config-_98RmRA_.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-BpbqJDoz.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-Dz7KZ621.js +0 -2
- package/dist/adapters/MeasureProfileChart.config-BTCTP7L0.js +0 -2
- package/dist/adapters/MeasureProfileChart.config-DzPxIxB5.cjs +0 -1
- package/dist/adapters/PieChart.config-BhjlnVFv.js +0 -2
- package/dist/adapters/PieChart.config-DJlGNsBY.cjs +0 -1
- package/dist/adapters/ProportionBarChart.config-Byp_8diR.cjs +0 -1
- package/dist/adapters/ProportionBarChart.config-RyjNhw3T.js +0 -2
- package/dist/adapters/RadarChart.config-BWdv4uyp.js +0 -2
- package/dist/adapters/RadarChart.config-kW4oIVi4.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-CFYPoRQY.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-D2-_-Z64.js +0 -2
- package/dist/adapters/RecordsTable.config-B7KFt3kd.cjs +0 -1
- package/dist/adapters/RecordsTable.config-S_aiXGKe.js +0 -2
- package/dist/adapters/RetentionCombinedChart.config-CVGWozL3.js +0 -2
- package/dist/adapters/RetentionCombinedChart.config-Cd0pTdHY.cjs +0 -1
- package/dist/adapters/RetentionHeatmap.config-BNqtWFjQ.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-CMi1h_5M.cjs +0 -1
- package/dist/adapters/SankeyChart.config-COIfx3Ua.cjs +0 -1
- package/dist/adapters/SankeyChart.config-DIh4nEk2.js +0 -2
- package/dist/adapters/ScatterChart.config-CrSQhlT4.js +0 -2
- package/dist/adapters/ScatterChart.config-DRgg-HAm.cjs +0 -1
- package/dist/adapters/SunburstChart.config-08-ufQaK.cjs +0 -1
- package/dist/adapters/SunburstChart.config-DmNgAJrO.js +0 -2
- package/dist/adapters/TreeMapChart.config-7k2repRB.cjs +0 -1
- package/dist/adapters/TreeMapChart.config-C3vzB2dD.js +0 -2
- package/dist/adapters/WaterfallChart.config-AV2pHgrb.js +0 -2
- package/dist/adapters/WaterfallChart.config-USpcvapo.cjs +0 -1
- package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +0 -1
- package/dist/adapters/compiler-BX6Ug_Uq.cjs +0 -166
- package/dist/adapters/handler-CfZt5W8b.cjs +0 -16
- package/dist/adapters/mcp-app-html-BNg78ecJ.js +0 -5
- package/dist/adapters/mcp-app-html-N18EJEvv.cjs +0 -1
- package/dist/adapters/utils-Du_UZbn5.cjs +0 -139
- package/dist/client/chunks/DashboardEditModal-P-HUNrcp.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-DBSxWIj8.js.map +0 -1
- package/dist/client/chunks/chart-activity-grid-DGazwi4C.js.map +0 -1
- package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +0 -1
- package/dist/client/chunks/chart-config-bar-BixSs43E.js.map +0 -1
- package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +0 -1
- package/dist/client/chunks/charts-loader-BTI0UPK4.js +0 -87
- package/dist/client/chunks/nl-NL-kRjxedTf.js.map +0 -1
- package/dist/client/chunks/useDirtyStateTracking-BfG1lX_3.js.map +0 -1
- package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { D as c, E as l, O as u, T as d } from "./mcp-transport-
|
|
3
|
-
import { a as f, c as p, d as m,
|
|
1
|
+
import { J as e, Y as t, _ as n, b as r, g as i, h as a, m as o, p as s } from "./utils-BaxFceDq.js";
|
|
2
|
+
import { D as c, E as l, O as u, T as d } from "./mcp-transport-Cy6n4uj1.js";
|
|
3
|
+
import { a as f, c as p, d as m, f as h, i as g, l as _, n as v, o as y, r as b, s as x, t as S, u as ee } from "./chartConfigHelpers-BsviVhEw.js";
|
|
4
4
|
//#region src/server/agent/agent-prompts.ts
|
|
5
|
-
var
|
|
5
|
+
var te = [
|
|
6
6
|
"You are an analyst agent working in a notebook backed by a drizzle-cube semantic layer.",
|
|
7
7
|
"",
|
|
8
8
|
"Your tools, in the order you normally use them:",
|
|
@@ -24,7 +24,7 @@ var ee = [
|
|
|
24
24
|
].join("\n");
|
|
25
25
|
//#endregion
|
|
26
26
|
//#region src/server/agent/system-prompt.ts
|
|
27
|
-
function
|
|
27
|
+
function ne(e, t) {
|
|
28
28
|
if (t.measures && t.measures.length !== 0) {
|
|
29
29
|
e.push(""), e.push("**Measures:**");
|
|
30
30
|
for (let n of t.measures) {
|
|
@@ -33,7 +33,7 @@ function te(e, t) {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
function
|
|
36
|
+
function re(e, t) {
|
|
37
37
|
if (t.dimensions && t.dimensions.length !== 0) {
|
|
38
38
|
e.push(""), e.push("**Dimensions:**");
|
|
39
39
|
for (let n of t.dimensions) {
|
|
@@ -42,22 +42,22 @@ function ne(e, t) {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
function
|
|
45
|
+
function ie(e, t) {
|
|
46
46
|
if (t.relationships && t.relationships.length !== 0) {
|
|
47
47
|
e.push(""), e.push("**Joins:**");
|
|
48
48
|
for (let n of t.relationships) e.push(`- → \`${n.targetCube}\` (${n.relationship})`);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function ae(e, t) {
|
|
52
52
|
t.meta?.eventStream && (e.push(""), e.push("**Event Stream:** Yes (supports funnel, flow, retention queries)"), t.meta.eventStream.bindingKey && e.push(`- Binding key: \`${t.name}.${t.meta.eventStream.bindingKey}\``), t.meta.eventStream.timeDimension && e.push(`- Time dimension: \`${t.name}.${t.meta.eventStream.timeDimension}\``));
|
|
53
53
|
}
|
|
54
|
-
function
|
|
54
|
+
function oe(e) {
|
|
55
55
|
if (e.length === 0) return "No cubes are currently available.";
|
|
56
56
|
let t = ["## Available Cubes", ""];
|
|
57
|
-
for (let n of e) t.push(`### ${n.name}`), n.description && t.push(n.description),
|
|
57
|
+
for (let n of e) t.push(`### ${n.name}`), n.description && t.push(n.description), ne(t, n), re(t, n), ie(t, n), ae(t, n), t.push("");
|
|
58
58
|
return t.join("\n");
|
|
59
59
|
}
|
|
60
|
-
function
|
|
60
|
+
function C(e) {
|
|
61
61
|
return e.messages.map((e) => e.content.text).join("\n\n");
|
|
62
62
|
}
|
|
63
63
|
function se(e) {
|
|
@@ -227,15 +227,15 @@ function se(e) {
|
|
|
227
227
|
"",
|
|
228
228
|
"---",
|
|
229
229
|
"",
|
|
230
|
-
|
|
230
|
+
te,
|
|
231
231
|
"",
|
|
232
232
|
"---",
|
|
233
233
|
"",
|
|
234
|
-
|
|
234
|
+
C(n),
|
|
235
235
|
"",
|
|
236
236
|
"---",
|
|
237
237
|
"",
|
|
238
|
-
|
|
238
|
+
C(i),
|
|
239
239
|
"",
|
|
240
240
|
"---",
|
|
241
241
|
"",
|
|
@@ -269,6 +269,7 @@ function se(e) {
|
|
|
269
269
|
"",
|
|
270
270
|
"### Dashboard Filters",
|
|
271
271
|
"- ALWAYS include a universal date filter with `isUniversalTime: true`",
|
|
272
|
+
"- A universal date filter only reaches portlets through their `timeDimensions`. For KPI or breakdown portlets without a time dimension, map it as `{ filterId, member: \"<Cube.timeField>\" }` so it filters that field instead of leaving the portlet unfiltered",
|
|
272
273
|
"- Add dimension filters for key fields used across portlets (e.g., department, status, region)",
|
|
273
274
|
"- Use human-readable labels (e.g., \"Department\" not \"Employees.departmentName\")",
|
|
274
275
|
"- Map filters to portlets using `dashboardFilterMapping` — list the filter IDs that apply",
|
|
@@ -290,12 +291,12 @@ function se(e) {
|
|
|
290
291
|
"",
|
|
291
292
|
"---",
|
|
292
293
|
"",
|
|
293
|
-
|
|
294
|
+
oe(e)
|
|
294
295
|
].join("\n");
|
|
295
296
|
}
|
|
296
297
|
//#endregion
|
|
297
298
|
//#region src/client/components/charts/BarChart.config.ts
|
|
298
|
-
var
|
|
299
|
+
var w = {
|
|
299
300
|
clickableElements: { bar: !0 },
|
|
300
301
|
dropZones: [
|
|
301
302
|
{
|
|
@@ -332,12 +333,13 @@ var C = {
|
|
|
332
333
|
"hideHeader"
|
|
333
334
|
],
|
|
334
335
|
displayOptionsConfig: [
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
336
|
+
ee("chart.configText.how_to_stack_multiple_bar_series"),
|
|
337
|
+
m,
|
|
338
|
+
v,
|
|
339
|
+
g,
|
|
340
|
+
x
|
|
339
341
|
]
|
|
340
|
-
},
|
|
342
|
+
}, T = {
|
|
341
343
|
clickableElements: { point: !0 },
|
|
342
344
|
dropZones: [
|
|
343
345
|
{
|
|
@@ -374,10 +376,11 @@ var C = {
|
|
|
374
376
|
"hideHeader"
|
|
375
377
|
],
|
|
376
378
|
displayOptionsConfig: [
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
x,
|
|
379
|
+
_,
|
|
380
|
+
p(),
|
|
380
381
|
S,
|
|
382
|
+
v,
|
|
383
|
+
m,
|
|
381
384
|
{
|
|
382
385
|
key: "priorPeriodStyle",
|
|
383
386
|
label: "chart.option.priorPeriodStyle.label",
|
|
@@ -409,10 +412,10 @@ var C = {
|
|
|
409
412
|
step: .1,
|
|
410
413
|
description: "chart.option.priorPeriodOpacity.description"
|
|
411
414
|
},
|
|
412
|
-
|
|
413
|
-
|
|
415
|
+
g,
|
|
416
|
+
x
|
|
414
417
|
]
|
|
415
|
-
},
|
|
418
|
+
}, E = {
|
|
416
419
|
dropZones: [
|
|
417
420
|
{
|
|
418
421
|
key: "xAxis",
|
|
@@ -448,15 +451,16 @@ var C = {
|
|
|
448
451
|
"hideHeader"
|
|
449
452
|
],
|
|
450
453
|
displayOptionsConfig: [
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
x,
|
|
454
|
+
_,
|
|
455
|
+
p(!1),
|
|
456
|
+
ee("chart.configText.how_to_stack_multiple_area_series"),
|
|
455
457
|
S,
|
|
456
|
-
|
|
457
|
-
|
|
458
|
+
v,
|
|
459
|
+
m,
|
|
460
|
+
g,
|
|
461
|
+
x
|
|
458
462
|
]
|
|
459
|
-
},
|
|
463
|
+
}, D = {
|
|
460
464
|
clickableElements: { slice: !0 },
|
|
461
465
|
dropZones: [{
|
|
462
466
|
key: "xAxis",
|
|
@@ -508,8 +512,8 @@ var C = {
|
|
|
508
512
|
label: "chart.configText.80_percent"
|
|
509
513
|
}
|
|
510
514
|
]
|
|
511
|
-
},
|
|
512
|
-
},
|
|
515
|
+
}, h()]
|
|
516
|
+
}, O = {
|
|
513
517
|
dropZones: [
|
|
514
518
|
{
|
|
515
519
|
key: "xAxis",
|
|
@@ -560,7 +564,7 @@ var C = {
|
|
|
560
564
|
type: "axisFormat",
|
|
561
565
|
description: "chart.option.yAxisFormat.description"
|
|
562
566
|
}]
|
|
563
|
-
},
|
|
567
|
+
}, k = {
|
|
564
568
|
dropZones: [
|
|
565
569
|
{
|
|
566
570
|
key: "xAxis",
|
|
@@ -632,7 +636,7 @@ var C = {
|
|
|
632
636
|
type: "axisFormat",
|
|
633
637
|
description: "chart.configText.number_formatting_for_y_axis_and_values"
|
|
634
638
|
}]
|
|
635
|
-
},
|
|
639
|
+
}, A = {
|
|
636
640
|
dropZones: [
|
|
637
641
|
{
|
|
638
642
|
key: "xAxis",
|
|
@@ -665,8 +669,8 @@ var C = {
|
|
|
665
669
|
"showTooltip",
|
|
666
670
|
"hideHeader"
|
|
667
671
|
],
|
|
668
|
-
displayOptionsConfig: [
|
|
669
|
-
},
|
|
672
|
+
displayOptionsConfig: [h()]
|
|
673
|
+
}, j = {
|
|
670
674
|
dropZones: [{
|
|
671
675
|
key: "xAxis",
|
|
672
676
|
label: "chart.configText.categories",
|
|
@@ -688,8 +692,8 @@ var C = {
|
|
|
688
692
|
"showTooltip",
|
|
689
693
|
"hideHeader"
|
|
690
694
|
],
|
|
691
|
-
displayOptionsConfig: [
|
|
692
|
-
},
|
|
695
|
+
displayOptionsConfig: [h()]
|
|
696
|
+
}, M = {
|
|
693
697
|
dropZones: [
|
|
694
698
|
{
|
|
695
699
|
key: "xAxis",
|
|
@@ -723,9 +727,9 @@ var C = {
|
|
|
723
727
|
"showTooltip",
|
|
724
728
|
"hideHeader"
|
|
725
729
|
],
|
|
726
|
-
displayOptionsConfig: [
|
|
730
|
+
displayOptionsConfig: [h("chart.configText.number_formatting_for_size_values")],
|
|
727
731
|
clickableElements: { cell: !0 }
|
|
728
|
-
},
|
|
732
|
+
}, N = {
|
|
729
733
|
dropZones: [{
|
|
730
734
|
key: "xAxis",
|
|
731
735
|
label: "chart.configText.columns",
|
|
@@ -745,7 +749,7 @@ var C = {
|
|
|
745
749
|
type: "axisFormat",
|
|
746
750
|
description: "chart.configText.number_formatting_for_numeric_values"
|
|
747
751
|
}]
|
|
748
|
-
},
|
|
752
|
+
}, P = {
|
|
749
753
|
dropZones: [{
|
|
750
754
|
key: "columns",
|
|
751
755
|
label: "chart.recordsTable.dropZone.columns.label",
|
|
@@ -808,7 +812,7 @@ var C = {
|
|
|
808
812
|
],
|
|
809
813
|
clickableElements: { row: !0 },
|
|
810
814
|
recordGrain: !0
|
|
811
|
-
},
|
|
815
|
+
}, F = {
|
|
812
816
|
dropZones: [{
|
|
813
817
|
key: "dateField",
|
|
814
818
|
label: "chart.configText.time_dimension",
|
|
@@ -849,7 +853,7 @@ var C = {
|
|
|
849
853
|
} : { isValid: !0 };
|
|
850
854
|
},
|
|
851
855
|
clickableElements: { cell: !0 }
|
|
852
|
-
},
|
|
856
|
+
}, I = {
|
|
853
857
|
dropZones: [{
|
|
854
858
|
key: "yAxis",
|
|
855
859
|
label: "chart.configText.value",
|
|
@@ -860,7 +864,7 @@ var C = {
|
|
|
860
864
|
emptyText: "chart.kpiNumber.dropZone.yAxis.empty"
|
|
861
865
|
}],
|
|
862
866
|
displayOptionsConfig: [
|
|
863
|
-
|
|
867
|
+
b,
|
|
864
868
|
{
|
|
865
869
|
key: "target",
|
|
866
870
|
label: "chart.runtime.tooltip.targetValue",
|
|
@@ -915,7 +919,7 @@ var C = {
|
|
|
915
919
|
}
|
|
916
920
|
],
|
|
917
921
|
displayOptions: ["hideHeader"]
|
|
918
|
-
},
|
|
922
|
+
}, L = {
|
|
919
923
|
dropZones: [{
|
|
920
924
|
key: "yAxis",
|
|
921
925
|
label: "chart.configText.value",
|
|
@@ -934,7 +938,7 @@ var C = {
|
|
|
934
938
|
emptyText: "chart.kpiDelta.dropZone.xAxis.empty"
|
|
935
939
|
}],
|
|
936
940
|
displayOptionsConfig: [
|
|
937
|
-
|
|
941
|
+
b,
|
|
938
942
|
{
|
|
939
943
|
key: "showBaseline",
|
|
940
944
|
label: "chart.option.showBaseline.label",
|
|
@@ -1007,7 +1011,7 @@ var C = {
|
|
|
1007
1011
|
isValid: !1,
|
|
1008
1012
|
message: "chart.kpiDelta.validation.measureRequired"
|
|
1009
1013
|
} : { isValid: !0 }
|
|
1010
|
-
},
|
|
1014
|
+
}, R = {
|
|
1011
1015
|
dropZones: [{
|
|
1012
1016
|
key: "yAxis",
|
|
1013
1017
|
label: "chart.configText.value",
|
|
@@ -1044,7 +1048,7 @@ var C = {
|
|
|
1044
1048
|
}
|
|
1045
1049
|
],
|
|
1046
1050
|
displayOptions: ["hideHeader"]
|
|
1047
|
-
},
|
|
1051
|
+
}, z = {
|
|
1048
1052
|
skipQuery: !0,
|
|
1049
1053
|
dropZones: [],
|
|
1050
1054
|
displayOptionsConfig: [
|
|
@@ -1156,7 +1160,7 @@ var C = {
|
|
|
1156
1160
|
description: "chart.configText.add_an_accent_colored_border_on_one_side_of_the_content"
|
|
1157
1161
|
}
|
|
1158
1162
|
]
|
|
1159
|
-
},
|
|
1163
|
+
}, B = {
|
|
1160
1164
|
dropZones: [{
|
|
1161
1165
|
key: "xAxis",
|
|
1162
1166
|
label: "chart.configText.step_name",
|
|
@@ -1239,7 +1243,7 @@ var C = {
|
|
|
1239
1243
|
description: "chart.option.showP90Time.description"
|
|
1240
1244
|
}
|
|
1241
1245
|
]
|
|
1242
|
-
},
|
|
1246
|
+
}, V = {
|
|
1243
1247
|
dropZones: [{
|
|
1244
1248
|
key: "xAxis",
|
|
1245
1249
|
label: "chart.configText.event_type",
|
|
@@ -1295,7 +1299,7 @@ var C = {
|
|
|
1295
1299
|
description: "chart.configText.hide_the_statistics_footer_below_the_chart"
|
|
1296
1300
|
}
|
|
1297
1301
|
]
|
|
1298
|
-
},
|
|
1302
|
+
}, H = {
|
|
1299
1303
|
dropZones: [{
|
|
1300
1304
|
key: "xAxis",
|
|
1301
1305
|
label: "chart.configText.event_type",
|
|
@@ -1330,7 +1334,7 @@ var C = {
|
|
|
1330
1334
|
defaultValue: !0,
|
|
1331
1335
|
description: "chart.configText.hide_the_statistics_footer_below_the_chart"
|
|
1332
1336
|
}]
|
|
1333
|
-
},
|
|
1337
|
+
}, ce = {
|
|
1334
1338
|
dropZones: [
|
|
1335
1339
|
{
|
|
1336
1340
|
key: "xAxis",
|
|
@@ -1411,7 +1415,7 @@ var C = {
|
|
|
1411
1415
|
isValid: !1,
|
|
1412
1416
|
message: "chart.heatmap.validation.xAxisRequired"
|
|
1413
1417
|
}
|
|
1414
|
-
},
|
|
1418
|
+
}, U = {
|
|
1415
1419
|
dropZones: [],
|
|
1416
1420
|
displayOptionsConfig: [{
|
|
1417
1421
|
key: "showLegend",
|
|
@@ -1426,7 +1430,7 @@ var C = {
|
|
|
1426
1430
|
defaultValue: !0,
|
|
1427
1431
|
description: "chart.option.showTooltip.description"
|
|
1428
1432
|
}]
|
|
1429
|
-
},
|
|
1433
|
+
}, W = {
|
|
1430
1434
|
dropZones: [],
|
|
1431
1435
|
displayOptionsConfig: [
|
|
1432
1436
|
{
|
|
@@ -1472,7 +1476,7 @@ var C = {
|
|
|
1472
1476
|
description: "chart.option.showTooltip.description"
|
|
1473
1477
|
}
|
|
1474
1478
|
]
|
|
1475
|
-
},
|
|
1479
|
+
}, G = {
|
|
1476
1480
|
displayOptions: ["hideHeader"],
|
|
1477
1481
|
dropZones: [{
|
|
1478
1482
|
key: "xAxis",
|
|
@@ -1497,7 +1501,7 @@ var C = {
|
|
|
1497
1501
|
type: "axisFormat",
|
|
1498
1502
|
description: "chart.configText.number_formatting_for_the_value_axis"
|
|
1499
1503
|
}]
|
|
1500
|
-
},
|
|
1504
|
+
}, K = {
|
|
1501
1505
|
displayOptions: [
|
|
1502
1506
|
"showGrid",
|
|
1503
1507
|
"showTooltip",
|
|
@@ -1608,7 +1612,7 @@ var C = {
|
|
|
1608
1612
|
description: "chart.option.xAxisFormat.description"
|
|
1609
1613
|
}
|
|
1610
1614
|
]
|
|
1611
|
-
},
|
|
1615
|
+
}, le = {
|
|
1612
1616
|
clickableElements: { bar: !0 },
|
|
1613
1617
|
displayOptions: ["showTooltip", "hideHeader"],
|
|
1614
1618
|
dropZones: [{
|
|
@@ -1657,7 +1661,7 @@ var C = {
|
|
|
1657
1661
|
description: "chart.configText.number_formatting_for_the_y_axis"
|
|
1658
1662
|
}
|
|
1659
1663
|
]
|
|
1660
|
-
},
|
|
1664
|
+
}, ue = {
|
|
1661
1665
|
clickableElements: { bar: !0 },
|
|
1662
1666
|
displayOptions: ["hideHeader"],
|
|
1663
1667
|
dropZones: [{
|
|
@@ -1719,7 +1723,7 @@ var C = {
|
|
|
1719
1723
|
description: "chart.configText.number_formatting_for_the_price_axis"
|
|
1720
1724
|
}
|
|
1721
1725
|
]
|
|
1722
|
-
},
|
|
1726
|
+
}, de = {
|
|
1723
1727
|
displayOptions: [
|
|
1724
1728
|
"showLegend",
|
|
1725
1729
|
"showTooltip",
|
|
@@ -1791,7 +1795,7 @@ var C = {
|
|
|
1791
1795
|
description: "chart.configText.number_formatting_for_the_y_axis"
|
|
1792
1796
|
}
|
|
1793
1797
|
]
|
|
1794
|
-
},
|
|
1798
|
+
}, fe = {
|
|
1795
1799
|
dropZones: [{
|
|
1796
1800
|
key: "xAxis",
|
|
1797
1801
|
label: "chart.configText.category",
|
|
@@ -1849,7 +1853,7 @@ var C = {
|
|
|
1849
1853
|
isValid: !1,
|
|
1850
1854
|
message: "chart.proportionBar.validation.measureRequired"
|
|
1851
1855
|
} : { isValid: !0 }
|
|
1852
|
-
},
|
|
1856
|
+
}, pe = {
|
|
1853
1857
|
clickableElements: {},
|
|
1854
1858
|
displayOptions: ["hideHeader"],
|
|
1855
1859
|
dropZones: [{
|
|
@@ -1902,45 +1906,45 @@ var C = {
|
|
|
1902
1906
|
description: "chart.configText.number_formatting_for_the_displayed_value_and_axis_labels"
|
|
1903
1907
|
}
|
|
1904
1908
|
]
|
|
1905
|
-
},
|
|
1909
|
+
}, q = {
|
|
1906
1910
|
packageName: "recharts",
|
|
1907
1911
|
installCommand: "npm install recharts"
|
|
1908
|
-
},
|
|
1912
|
+
}, me = {
|
|
1909
1913
|
bar: {
|
|
1910
1914
|
label: "chart.bar.label",
|
|
1911
1915
|
icon: "chartBar",
|
|
1912
1916
|
description: "chart.bar.description",
|
|
1913
1917
|
useCase: "chart.bar.useCase",
|
|
1914
|
-
isAvailable:
|
|
1915
|
-
dependencies:
|
|
1916
|
-
config: async () => (await import("./BarChart.config-
|
|
1918
|
+
isAvailable: y,
|
|
1919
|
+
dependencies: q,
|
|
1920
|
+
config: async () => (await import("./BarChart.config-CwBnyptL.js")).barChartConfig
|
|
1917
1921
|
},
|
|
1918
1922
|
line: {
|
|
1919
1923
|
label: "chart.line.label",
|
|
1920
1924
|
icon: "chartLine",
|
|
1921
1925
|
description: "chart.line.description",
|
|
1922
1926
|
useCase: "chart.line.useCase",
|
|
1923
|
-
isAvailable:
|
|
1924
|
-
dependencies:
|
|
1925
|
-
config: async () => (await import("./LineChart.config-
|
|
1927
|
+
isAvailable: y,
|
|
1928
|
+
dependencies: q,
|
|
1929
|
+
config: async () => (await import("./LineChart.config-DH68HT_B.js")).lineChartConfig
|
|
1926
1930
|
},
|
|
1927
1931
|
area: {
|
|
1928
1932
|
label: "chart.area.label",
|
|
1929
1933
|
icon: "chartArea",
|
|
1930
1934
|
description: "chart.area.description",
|
|
1931
1935
|
useCase: "chart.area.useCase",
|
|
1932
|
-
isAvailable:
|
|
1933
|
-
dependencies:
|
|
1934
|
-
config: async () => (await import("./AreaChart.config-
|
|
1936
|
+
isAvailable: y,
|
|
1937
|
+
dependencies: q,
|
|
1938
|
+
config: async () => (await import("./AreaChart.config-We6b53aT.js")).areaChartConfig
|
|
1935
1939
|
},
|
|
1936
1940
|
pie: {
|
|
1937
1941
|
label: "chart.pie.label",
|
|
1938
1942
|
icon: "chartPie",
|
|
1939
1943
|
description: "chart.pie.description",
|
|
1940
1944
|
useCase: "chart.pie.useCase",
|
|
1941
|
-
isAvailable:
|
|
1942
|
-
dependencies:
|
|
1943
|
-
config: async () => (await import("./PieChart.config-
|
|
1945
|
+
isAvailable: y,
|
|
1946
|
+
dependencies: q,
|
|
1947
|
+
config: async () => (await import("./PieChart.config-Bg-8cxWK.js")).pieChartConfig
|
|
1944
1948
|
},
|
|
1945
1949
|
scatter: {
|
|
1946
1950
|
label: "chart.scatter.label",
|
|
@@ -1954,8 +1958,8 @@ var C = {
|
|
|
1954
1958
|
available: !1,
|
|
1955
1959
|
reason: "chart.availability.scatter"
|
|
1956
1960
|
} : { available: !0 },
|
|
1957
|
-
dependencies:
|
|
1958
|
-
config: async () => (await import("./ScatterChart.config-
|
|
1961
|
+
dependencies: q,
|
|
1962
|
+
config: async () => (await import("./ScatterChart.config-CdZrBorg.js")).scatterChartConfig
|
|
1959
1963
|
},
|
|
1960
1964
|
bubble: {
|
|
1961
1965
|
label: "chart.bubble.label",
|
|
@@ -1969,49 +1973,49 @@ var C = {
|
|
|
1969
1973
|
available: !1,
|
|
1970
1974
|
reason: "chart.availability.bubble"
|
|
1971
1975
|
} : { available: !0 },
|
|
1972
|
-
dependencies:
|
|
1973
|
-
config: async () => (await import("./BubbleChart.config-
|
|
1976
|
+
dependencies: q,
|
|
1977
|
+
config: async () => (await import("./BubbleChart.config-DxG_Umal.js")).bubbleChartConfig
|
|
1974
1978
|
},
|
|
1975
1979
|
radar: {
|
|
1976
1980
|
label: "chart.radar.label",
|
|
1977
1981
|
icon: "chartRadar",
|
|
1978
1982
|
description: "chart.radar.description",
|
|
1979
1983
|
useCase: "chart.radar.useCase",
|
|
1980
|
-
isAvailable:
|
|
1981
|
-
dependencies:
|
|
1982
|
-
config: async () => (await import("./RadarChart.config-
|
|
1984
|
+
isAvailable: y,
|
|
1985
|
+
dependencies: q,
|
|
1986
|
+
config: async () => (await import("./RadarChart.config-DD1pX6FZ.js")).radarChartConfig
|
|
1983
1987
|
},
|
|
1984
1988
|
radialBar: {
|
|
1985
1989
|
label: "chart.radialBar.label",
|
|
1986
1990
|
icon: "chartRadialBar",
|
|
1987
1991
|
description: "chart.radialBar.description",
|
|
1988
1992
|
useCase: "chart.radialBar.useCase",
|
|
1989
|
-
isAvailable:
|
|
1990
|
-
dependencies:
|
|
1991
|
-
config: async () => (await import("./RadialBarChart.config
|
|
1993
|
+
isAvailable: y,
|
|
1994
|
+
dependencies: q,
|
|
1995
|
+
config: async () => (await import("./RadialBarChart.config--VIE2jMM.js")).radialBarChartConfig
|
|
1992
1996
|
},
|
|
1993
1997
|
treemap: {
|
|
1994
1998
|
label: "chart.treemap.label",
|
|
1995
1999
|
icon: "chartTreemap",
|
|
1996
2000
|
description: "chart.treemap.description",
|
|
1997
2001
|
useCase: "chart.treemap.useCase",
|
|
1998
|
-
isAvailable:
|
|
1999
|
-
dependencies:
|
|
2000
|
-
config: async () => (await import("./TreeMapChart.config-
|
|
2002
|
+
isAvailable: y,
|
|
2003
|
+
dependencies: q,
|
|
2004
|
+
config: async () => (await import("./TreeMapChart.config-diJtcs4D.js")).treemapChartConfig
|
|
2001
2005
|
},
|
|
2002
2006
|
table: {
|
|
2003
2007
|
label: "chart.table.label",
|
|
2004
2008
|
icon: "chartTable",
|
|
2005
2009
|
description: "chart.table.description",
|
|
2006
2010
|
useCase: "chart.table.useCase",
|
|
2007
|
-
config: async () => (await import("./DataTable.config-
|
|
2011
|
+
config: async () => (await import("./DataTable.config-DS1bvaDu.js")).dataTableConfig
|
|
2008
2012
|
},
|
|
2009
2013
|
recordsTable: {
|
|
2010
2014
|
label: "chart.recordsTable.label",
|
|
2011
2015
|
icon: "chartRecordsTable",
|
|
2012
2016
|
description: "chart.recordsTable.description",
|
|
2013
2017
|
useCase: "chart.recordsTable.useCase",
|
|
2014
|
-
config: async () => (await import("./RecordsTable.config-
|
|
2018
|
+
config: async () => (await import("./RecordsTable.config-CTBQc-2r.js")).recordsTableConfig
|
|
2015
2019
|
},
|
|
2016
2020
|
activityGrid: {
|
|
2017
2021
|
label: "chart.activityGrid.label",
|
|
@@ -2025,62 +2029,62 @@ var C = {
|
|
|
2025
2029
|
available: !1,
|
|
2026
2030
|
reason: "chart.availability.requiresTimeDimension"
|
|
2027
2031
|
} : { available: !0 },
|
|
2028
|
-
config: async () => (await import("./ActivityGridChart.config-
|
|
2032
|
+
config: async () => (await import("./ActivityGridChart.config-XMtoteb6.js")).activityGridChartConfig
|
|
2029
2033
|
},
|
|
2030
2034
|
kpiNumber: {
|
|
2031
2035
|
label: "chart.kpiNumber.label",
|
|
2032
2036
|
icon: "chartKpiNumber",
|
|
2033
2037
|
description: "chart.kpiNumber.description",
|
|
2034
2038
|
useCase: "chart.kpiNumber.useCase",
|
|
2035
|
-
isAvailable:
|
|
2036
|
-
config: async () => (await import("./KpiNumber.config-
|
|
2039
|
+
isAvailable: f,
|
|
2040
|
+
config: async () => (await import("./KpiNumber.config-C00M46GA.js")).kpiNumberConfig
|
|
2037
2041
|
},
|
|
2038
2042
|
kpiDelta: {
|
|
2039
2043
|
label: "chart.kpiDelta.label",
|
|
2040
2044
|
icon: "chartKpiDelta",
|
|
2041
2045
|
description: "chart.kpiDelta.description",
|
|
2042
2046
|
useCase: "chart.kpiDelta.useCase",
|
|
2043
|
-
isAvailable:
|
|
2044
|
-
config: async () => (await import("./KpiDelta.config-
|
|
2047
|
+
isAvailable: y,
|
|
2048
|
+
config: async () => (await import("./KpiDelta.config-CJeDdj_1.js")).kpiDeltaConfig
|
|
2045
2049
|
},
|
|
2046
2050
|
kpiText: {
|
|
2047
2051
|
label: "chart.kpiText.label",
|
|
2048
2052
|
icon: "chartKpiText",
|
|
2049
2053
|
description: "chart.kpiText.description",
|
|
2050
2054
|
useCase: "chart.kpiText.useCase",
|
|
2051
|
-
isAvailable:
|
|
2052
|
-
config: async () => (await import("./KpiText.config-
|
|
2055
|
+
isAvailable: f,
|
|
2056
|
+
config: async () => (await import("./KpiText.config-bKTHob0C.js")).kpiTextConfig
|
|
2053
2057
|
},
|
|
2054
2058
|
markdown: {
|
|
2055
2059
|
label: "chart.markdown.label",
|
|
2056
2060
|
icon: "chartMarkdown",
|
|
2057
2061
|
description: "chart.markdown.description",
|
|
2058
2062
|
useCase: "chart.markdown.useCase",
|
|
2059
|
-
config: async () => (await import("./MarkdownChart.config-
|
|
2063
|
+
config: async () => (await import("./MarkdownChart.config-CaaJPO3c.js")).markdownConfig
|
|
2060
2064
|
},
|
|
2061
2065
|
funnel: {
|
|
2062
2066
|
label: "chart.funnel.label",
|
|
2063
2067
|
icon: "chartFunnel",
|
|
2064
2068
|
description: "chart.funnel.description",
|
|
2065
2069
|
useCase: "chart.funnel.useCase",
|
|
2066
|
-
dependencies:
|
|
2067
|
-
config: async () => (await import("./FunnelChart.config-
|
|
2070
|
+
dependencies: q,
|
|
2071
|
+
config: async () => (await import("./FunnelChart.config-ISZiz9fn.js")).funnelChartConfig
|
|
2068
2072
|
},
|
|
2069
2073
|
sankey: {
|
|
2070
2074
|
label: "chart.sankey.label",
|
|
2071
2075
|
icon: "chartSankey",
|
|
2072
2076
|
description: "chart.sankey.description",
|
|
2073
2077
|
useCase: "chart.sankey.useCase",
|
|
2074
|
-
dependencies:
|
|
2075
|
-
config: async () => (await import("./SankeyChart.config-
|
|
2078
|
+
dependencies: q,
|
|
2079
|
+
config: async () => (await import("./SankeyChart.config-DGTnRmYg.js")).sankeyChartConfig
|
|
2076
2080
|
},
|
|
2077
2081
|
sunburst: {
|
|
2078
2082
|
label: "chart.sunburst.label",
|
|
2079
2083
|
icon: "chartSunburst",
|
|
2080
2084
|
description: "chart.sunburst.description",
|
|
2081
2085
|
useCase: "chart.sunburst.useCase",
|
|
2082
|
-
dependencies:
|
|
2083
|
-
config: async () => (await import("./SunburstChart.config-
|
|
2086
|
+
dependencies: q,
|
|
2087
|
+
config: async () => (await import("./SunburstChart.config-RF3uu5Sa.js")).sunburstChartConfig
|
|
2084
2088
|
},
|
|
2085
2089
|
heatmap: {
|
|
2086
2090
|
label: "chart.heatmap.label",
|
|
@@ -2098,46 +2102,46 @@ var C = {
|
|
|
2098
2102
|
packageName: "@nivo/heatmap",
|
|
2099
2103
|
installCommand: "npm install @nivo/heatmap"
|
|
2100
2104
|
},
|
|
2101
|
-
config: async () => (await import("./HeatMapChart.config-
|
|
2105
|
+
config: async () => (await import("./HeatMapChart.config-uWvR0B-N.js")).heatmapChartConfig
|
|
2102
2106
|
},
|
|
2103
2107
|
retentionHeatmap: {
|
|
2104
2108
|
label: "chart.retentionHeatmap.label",
|
|
2105
2109
|
icon: "chartRetention",
|
|
2106
2110
|
description: "chart.retentionHeatmap.description",
|
|
2107
2111
|
useCase: "chart.retentionHeatmap.useCase",
|
|
2108
|
-
config: async () => (await import("./RetentionHeatmap.config-
|
|
2112
|
+
config: async () => (await import("./RetentionHeatmap.config-Co-JMzBm.js")).retentionHeatmapConfig
|
|
2109
2113
|
},
|
|
2110
2114
|
retentionCombined: {
|
|
2111
2115
|
label: "chart.retentionCombined.label",
|
|
2112
2116
|
icon: "chartRetention",
|
|
2113
2117
|
description: "chart.retentionCombined.description",
|
|
2114
2118
|
useCase: "chart.retentionCombined.useCase",
|
|
2115
|
-
config: async () => (await import("./RetentionCombinedChart.config-
|
|
2119
|
+
config: async () => (await import("./RetentionCombinedChart.config-PGVxnkRL.js")).retentionCombinedConfig
|
|
2116
2120
|
},
|
|
2117
2121
|
boxPlot: {
|
|
2118
2122
|
label: "chart.boxPlot.label",
|
|
2119
2123
|
icon: "chartBoxPlot",
|
|
2120
2124
|
description: "chart.boxPlot.description",
|
|
2121
2125
|
useCase: "chart.boxPlot.useCase",
|
|
2122
|
-
isAvailable:
|
|
2123
|
-
config: async () => (await import("./BoxPlotChart.config-
|
|
2126
|
+
isAvailable: y,
|
|
2127
|
+
config: async () => (await import("./BoxPlotChart.config-mfAHqmcp.js")).boxPlotChartConfig
|
|
2124
2128
|
},
|
|
2125
2129
|
dotStrip: {
|
|
2126
2130
|
label: "chart.dotStrip.label",
|
|
2127
2131
|
icon: "chartDotStrip",
|
|
2128
2132
|
description: "chart.dotStrip.description",
|
|
2129
2133
|
useCase: "chart.dotStrip.useCase",
|
|
2130
|
-
isAvailable:
|
|
2131
|
-
config: async () => (await import("./DotStripChart.config-
|
|
2134
|
+
isAvailable: y,
|
|
2135
|
+
config: async () => (await import("./DotStripChart.config-Bdk5-YfB.js")).dotStripChartConfig
|
|
2132
2136
|
},
|
|
2133
2137
|
waterfall: {
|
|
2134
2138
|
label: "chart.waterfall.label",
|
|
2135
2139
|
icon: "chartWaterfall",
|
|
2136
2140
|
description: "chart.waterfall.description",
|
|
2137
2141
|
useCase: "chart.waterfall.useCase",
|
|
2138
|
-
isAvailable:
|
|
2139
|
-
dependencies:
|
|
2140
|
-
config: async () => (await import("./WaterfallChart.config-
|
|
2142
|
+
isAvailable: y,
|
|
2143
|
+
dependencies: q,
|
|
2144
|
+
config: async () => (await import("./WaterfallChart.config-BImlkLmR.js")).waterfallChartConfig
|
|
2141
2145
|
},
|
|
2142
2146
|
candlestick: {
|
|
2143
2147
|
label: "chart.candlestick.label",
|
|
@@ -2151,7 +2155,7 @@ var C = {
|
|
|
2151
2155
|
available: !1,
|
|
2152
2156
|
reason: "chart.availability.requiresDimension"
|
|
2153
2157
|
} : { available: !0 },
|
|
2154
|
-
config: async () => (await import("./CandlestickChart.config-
|
|
2158
|
+
config: async () => (await import("./CandlestickChart.config-Cqw3XP1h.js")).candlestickChartConfig
|
|
2155
2159
|
},
|
|
2156
2160
|
measureProfile: {
|
|
2157
2161
|
label: "chart.measureProfile.label",
|
|
@@ -2162,31 +2166,31 @@ var C = {
|
|
|
2162
2166
|
available: !1,
|
|
2163
2167
|
reason: "chart.availability.requiresTwoMeasures"
|
|
2164
2168
|
} : { available: !0 },
|
|
2165
|
-
dependencies:
|
|
2166
|
-
config: async () => (await import("./MeasureProfileChart.config-
|
|
2169
|
+
dependencies: q,
|
|
2170
|
+
config: async () => (await import("./MeasureProfileChart.config-DMOnkmb6.js")).measureProfileChartConfig
|
|
2167
2171
|
},
|
|
2168
2172
|
proportionBar: {
|
|
2169
2173
|
label: "chart.proportionBar.label",
|
|
2170
2174
|
icon: "chartProportionBar",
|
|
2171
2175
|
description: "chart.proportionBar.description",
|
|
2172
2176
|
useCase: "chart.proportionBar.useCase",
|
|
2173
|
-
isAvailable:
|
|
2174
|
-
config: async () => (await import("./ProportionBarChart.config-
|
|
2177
|
+
isAvailable: y,
|
|
2178
|
+
config: async () => (await import("./ProportionBarChart.config-BlCedy1v.js")).proportionBarChartConfig
|
|
2175
2179
|
},
|
|
2176
2180
|
gauge: {
|
|
2177
2181
|
label: "chart.gauge.label",
|
|
2178
2182
|
icon: "chartGauge",
|
|
2179
2183
|
description: "chart.gauge.description",
|
|
2180
2184
|
useCase: "chart.gauge.useCase",
|
|
2181
|
-
isAvailable:
|
|
2185
|
+
isAvailable: f,
|
|
2182
2186
|
dependencies: {
|
|
2183
2187
|
packageName: "d3-shape",
|
|
2184
2188
|
installCommand: "npm install d3-shape"
|
|
2185
2189
|
},
|
|
2186
|
-
config: async () => (await import("./GaugeChart.config-
|
|
2190
|
+
config: async () => (await import("./GaugeChart.config-BjGfB84t.js")).gaugeChartConfig
|
|
2187
2191
|
}
|
|
2188
2192
|
};
|
|
2189
|
-
function
|
|
2193
|
+
function he(e, t) {
|
|
2190
2194
|
return {
|
|
2191
2195
|
...t,
|
|
2192
2196
|
label: e.label,
|
|
@@ -2197,52 +2201,52 @@ function pe(e, t) {
|
|
|
2197
2201
|
}
|
|
2198
2202
|
//#endregion
|
|
2199
2203
|
//#region src/client/charts/chartConfigRegistry.ts
|
|
2200
|
-
var
|
|
2201
|
-
bar:
|
|
2202
|
-
line:
|
|
2203
|
-
area:
|
|
2204
|
-
pie:
|
|
2205
|
-
scatter:
|
|
2206
|
-
bubble:
|
|
2207
|
-
radar:
|
|
2208
|
-
radialBar:
|
|
2209
|
-
treemap:
|
|
2210
|
-
table:
|
|
2211
|
-
recordsTable:
|
|
2212
|
-
activityGrid:
|
|
2213
|
-
kpiNumber:
|
|
2214
|
-
kpiDelta:
|
|
2215
|
-
kpiText:
|
|
2216
|
-
markdown:
|
|
2217
|
-
funnel:
|
|
2218
|
-
sankey:
|
|
2219
|
-
sunburst:
|
|
2220
|
-
heatmap:
|
|
2221
|
-
retentionHeatmap:
|
|
2222
|
-
retentionCombined:
|
|
2223
|
-
boxPlot:
|
|
2224
|
-
dotStrip:
|
|
2225
|
-
waterfall:
|
|
2226
|
-
candlestick:
|
|
2227
|
-
measureProfile:
|
|
2228
|
-
proportionBar:
|
|
2229
|
-
gauge:
|
|
2230
|
-
},
|
|
2231
|
-
function
|
|
2232
|
-
return
|
|
2204
|
+
var ge = {
|
|
2205
|
+
bar: w,
|
|
2206
|
+
line: T,
|
|
2207
|
+
area: E,
|
|
2208
|
+
pie: D,
|
|
2209
|
+
scatter: O,
|
|
2210
|
+
bubble: k,
|
|
2211
|
+
radar: A,
|
|
2212
|
+
radialBar: j,
|
|
2213
|
+
treemap: M,
|
|
2214
|
+
table: N,
|
|
2215
|
+
recordsTable: P,
|
|
2216
|
+
activityGrid: F,
|
|
2217
|
+
kpiNumber: I,
|
|
2218
|
+
kpiDelta: L,
|
|
2219
|
+
kpiText: R,
|
|
2220
|
+
markdown: z,
|
|
2221
|
+
funnel: B,
|
|
2222
|
+
sankey: V,
|
|
2223
|
+
sunburst: H,
|
|
2224
|
+
heatmap: ce,
|
|
2225
|
+
retentionHeatmap: U,
|
|
2226
|
+
retentionCombined: W,
|
|
2227
|
+
boxPlot: G,
|
|
2228
|
+
dotStrip: K,
|
|
2229
|
+
waterfall: le,
|
|
2230
|
+
candlestick: ue,
|
|
2231
|
+
measureProfile: de,
|
|
2232
|
+
proportionBar: fe,
|
|
2233
|
+
gauge: pe
|
|
2234
|
+
}, J = Object.fromEntries(Object.keys(me).map((e) => [e, he(me[e], ge[e])]));
|
|
2235
|
+
function _e(e) {
|
|
2236
|
+
return J[e]?.recordGrain === !0;
|
|
2233
2237
|
}
|
|
2234
2238
|
//#endregion
|
|
2235
2239
|
//#region src/server/agent/chart-validation.ts
|
|
2236
|
-
function
|
|
2240
|
+
function Y(e) {
|
|
2237
2241
|
return Array.isArray(e) ? e.length > 0 : !!e;
|
|
2238
2242
|
}
|
|
2239
|
-
function
|
|
2243
|
+
function X(e) {
|
|
2240
2244
|
let t = e.timeDimensions ?? [];
|
|
2241
2245
|
return e.ungrouped ? t : t.filter((e) => !!e.granularity);
|
|
2242
2246
|
}
|
|
2243
|
-
function
|
|
2247
|
+
function ve(e, n, r, i) {
|
|
2244
2248
|
for (let a of e.dropZones) {
|
|
2245
|
-
if (!a.mandatory ||
|
|
2249
|
+
if (!a.mandatory || Y(r?.[a.key])) continue;
|
|
2246
2250
|
let e = a.acceptTypes?.join("/") ?? "fields";
|
|
2247
2251
|
i.push(t("server.validation.chart.dropZoneRequired", {
|
|
2248
2252
|
key: a.key,
|
|
@@ -2252,37 +2256,37 @@ function ge(e, n, r, i) {
|
|
|
2252
2256
|
}));
|
|
2253
2257
|
}
|
|
2254
2258
|
}
|
|
2255
|
-
function
|
|
2256
|
-
if (
|
|
2257
|
-
let i = n.dimensions ?? [], a =
|
|
2259
|
+
function ye(e, n, r) {
|
|
2260
|
+
if (Y(e?.xAxis)) return;
|
|
2261
|
+
let i = n.dimensions ?? [], a = X(n), o = i.length > 0 || a.length > 0;
|
|
2258
2262
|
r.push(t(o ? "server.validation.chart.barXAxisRequired" : "server.validation.chart.barNeedsDimension"));
|
|
2259
2263
|
}
|
|
2260
|
-
function
|
|
2264
|
+
function be(e) {
|
|
2261
2265
|
return Array.isArray(e) ? e : [e];
|
|
2262
2266
|
}
|
|
2263
|
-
function
|
|
2267
|
+
function xe(e, n) {
|
|
2264
2268
|
if (!e?.xAxis || !e?.series) return;
|
|
2265
|
-
let r = new Set(
|
|
2269
|
+
let r = new Set(be(e.xAxis)), i = be(e.series).filter((e) => r.has(e));
|
|
2266
2270
|
i.length > 0 && n.push(t("server.validation.chart.seriesDuplicatesXAxis", { duplicates: i.join(", ") }));
|
|
2267
2271
|
}
|
|
2268
|
-
function
|
|
2269
|
-
|
|
2272
|
+
function Se(e, n, r) {
|
|
2273
|
+
_e(e) && n.ungrouped !== !0 && r.push(t("server.validation.chart.recordGrainNeedsUngrouped", { chartType: e }));
|
|
2270
2274
|
}
|
|
2271
|
-
function
|
|
2272
|
-
let r =
|
|
2275
|
+
function Ce(e, t, n) {
|
|
2276
|
+
let r = J[e];
|
|
2273
2277
|
if (!r || r.skipQuery) return {
|
|
2274
2278
|
isValid: !0,
|
|
2275
2279
|
errors: []
|
|
2276
2280
|
};
|
|
2277
2281
|
let i = [];
|
|
2278
|
-
return
|
|
2282
|
+
return ve(r, e, t, i), Se(e, n, i), e === "bar" && ye(t, n, i), xe(t, i), {
|
|
2279
2283
|
isValid: i.length === 0,
|
|
2280
2284
|
errors: i
|
|
2281
2285
|
};
|
|
2282
2286
|
}
|
|
2283
|
-
function
|
|
2284
|
-
if (e !== "bar" ||
|
|
2285
|
-
let r = n.dimensions ?? [], i =
|
|
2287
|
+
function we(e, t, n) {
|
|
2288
|
+
if (e !== "bar" || Y(t?.xAxis)) return { chartType: e };
|
|
2289
|
+
let r = n.dimensions ?? [], i = X(n);
|
|
2286
2290
|
if (r.length > 0 || i.length > 0) return { chartType: e };
|
|
2287
2291
|
let a = (n.measures ?? []).length === 1 ? "kpiNumber" : "table";
|
|
2288
2292
|
return {
|
|
@@ -2290,7 +2294,7 @@ function Se(e, t, n) {
|
|
|
2290
2294
|
note: `Note: chartType was changed from "bar" to "${a}" because the query has no dimension, so a bar chart would have no category axis to label its bars. For a real bar chart, put the category in the query's dimensions and use a single measure. To plot several measures as an ordered profile instead, use "measureProfile".`
|
|
2291
2295
|
};
|
|
2292
2296
|
}
|
|
2293
|
-
function
|
|
2297
|
+
function Te(e, t, n, r) {
|
|
2294
2298
|
if (!(e.acceptTypes ?? []).includes("measure")) return;
|
|
2295
2299
|
let i = /* @__PURE__ */ new Set();
|
|
2296
2300
|
for (let r of t.dropZones) {
|
|
@@ -2301,7 +2305,7 @@ function Ce(e, t, n, r) {
|
|
|
2301
2305
|
let a = r.filter((e) => !i.has(e));
|
|
2302
2306
|
a.length > 0 && (n[e.key] = a[0]);
|
|
2303
2307
|
}
|
|
2304
|
-
function
|
|
2308
|
+
function Ee(e, t) {
|
|
2305
2309
|
let n = /* @__PURE__ */ new Set();
|
|
2306
2310
|
for (let [r, i] of Object.entries(e)) if (r !== t) {
|
|
2307
2311
|
if (Array.isArray(i)) for (let e of i) typeof e == "string" && n.add(e);
|
|
@@ -2309,34 +2313,34 @@ function we(e, t) {
|
|
|
2309
2313
|
}
|
|
2310
2314
|
return n;
|
|
2311
2315
|
}
|
|
2312
|
-
function
|
|
2316
|
+
function De(e, t, n) {
|
|
2313
2317
|
let r = e.acceptTypes ?? [], i = [];
|
|
2314
2318
|
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;
|
|
2315
|
-
let a =
|
|
2319
|
+
let a = Ee(t, e.key), o = i.filter((e) => !a.has(e));
|
|
2316
2320
|
if (o.length === 0) return;
|
|
2317
2321
|
let s = e.maxItems ?? Infinity, c = o.slice(0, s);
|
|
2318
2322
|
c.length > 0 && (t[e.key] = c);
|
|
2319
2323
|
}
|
|
2320
|
-
function
|
|
2321
|
-
let r =
|
|
2324
|
+
function Oe(e, t, n) {
|
|
2325
|
+
let r = J[e];
|
|
2322
2326
|
if (!r) return t ?? {};
|
|
2323
|
-
let i = { ...t }, a =
|
|
2327
|
+
let i = { ...t }, a = X(n), o = {
|
|
2324
2328
|
measures: n.measures ?? [],
|
|
2325
2329
|
dimensions: n.dimensions ?? [],
|
|
2326
2330
|
timeDimFields: a.map((e) => e.dimension)
|
|
2327
2331
|
};
|
|
2328
|
-
for (let e of r.dropZones) e.excludeFromInference ||
|
|
2332
|
+
for (let e of r.dropZones) e.excludeFromInference || Y(i[e.key]) || (e.key === "sizeField" || e.key === "colorField" ? Te(e, r, i, o.measures) : De(e, i, o));
|
|
2329
2333
|
return i;
|
|
2330
2334
|
}
|
|
2331
|
-
function
|
|
2335
|
+
function ke(n) {
|
|
2332
2336
|
return n ? e(n) ? t(n) : n : "";
|
|
2333
2337
|
}
|
|
2334
|
-
function
|
|
2338
|
+
function Ae(e) {
|
|
2335
2339
|
let t = ["\nChart config requirements by type:"];
|
|
2336
2340
|
for (let n of e) {
|
|
2337
|
-
let e =
|
|
2341
|
+
let e = J[n];
|
|
2338
2342
|
if (!e) continue;
|
|
2339
|
-
let r = [
|
|
2343
|
+
let r = [ke(e.description), ke(e.useCase)].filter(Boolean).join(". "), i = r ? ` — ${r}.` : "", a = _e(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);
|
|
2340
2344
|
if (o.length === 0 && !e.skipQuery) {
|
|
2341
2345
|
t.push(` ${n}${i}${a} chartConfig auto-inferred from query.`);
|
|
2342
2346
|
continue;
|
|
@@ -2355,7 +2359,7 @@ function Oe(e) {
|
|
|
2355
2359
|
}
|
|
2356
2360
|
//#endregion
|
|
2357
2361
|
//#region src/server/agent/data-shape.ts
|
|
2358
|
-
function
|
|
2362
|
+
function je(e, t, n, r) {
|
|
2359
2363
|
let i = /* @__PURE__ */ new Set(), a = 0, o, s, c = !0;
|
|
2360
2364
|
for (let n of e) {
|
|
2361
2365
|
let e = n[t];
|
|
@@ -2379,28 +2383,28 @@ function ke(e, t, n, r) {
|
|
|
2379
2383
|
} : {}
|
|
2380
2384
|
};
|
|
2381
2385
|
}
|
|
2382
|
-
function
|
|
2386
|
+
function Me(e, t) {
|
|
2383
2387
|
if (e.length === 0) return [];
|
|
2384
2388
|
let n = [], r = /* @__PURE__ */ new Set(), i = [
|
|
2385
2389
|
["dimension", t?.dimensions],
|
|
2386
2390
|
["timeDimension", t?.timeDimensions],
|
|
2387
2391
|
["measure", t?.measures]
|
|
2388
2392
|
];
|
|
2389
|
-
for (let [t, a] of i) for (let [i, o] of Object.entries(a ?? {})) r.add(i), n.push(
|
|
2390
|
-
for (let t of Object.keys(e[0])) r.has(t) || n.push(
|
|
2393
|
+
for (let [t, a] of i) for (let [i, o] of Object.entries(a ?? {})) r.add(i), n.push(je(e, i, t, o?.type));
|
|
2394
|
+
for (let t of Object.keys(e[0])) r.has(t) || n.push(je(e, t, "dimension", void 0));
|
|
2391
2395
|
return n;
|
|
2392
2396
|
}
|
|
2393
2397
|
//#endregion
|
|
2394
2398
|
//#region src/shared/query-shape.ts
|
|
2395
|
-
function
|
|
2399
|
+
function Z(e) {
|
|
2396
2400
|
if (!e || typeof e != "object") return !1;
|
|
2397
2401
|
let t = (e) => Array.isArray(e) ? e.length : 0;
|
|
2398
2402
|
return t(e.measures) > 0 || t(e.dimensions) > 0 || t(e.timeDimensions) > 0;
|
|
2399
2403
|
}
|
|
2400
2404
|
//#endregion
|
|
2401
2405
|
//#region src/server/agent/tools.ts
|
|
2402
|
-
var
|
|
2403
|
-
function
|
|
2406
|
+
var Ne = "With a query attached, `content` is rendered as a Knap template over the result rows. Variables: `rows` (rows keyed by snake_case alias, so Employees.avgSalary becomes employees_avg_salary), `labelled` (same rows keyed by field label — use this for `{{ labelled | table }}` so column headers read well), `data` (raw rows, addressed as `{{ data[0][\"Employees.count\"] }}`), `rowCount`, `first` and `last`. Filters include sum, map, join, length, sort, reverse, slice, round, number_format, date and table. Example: `We employ {{ rows | map:\"employees_count\" | sum }} people across {{ rowCount }} teams.` A template cannot sort and then index, so rely on the query's own order via `first` and `last`.", Q = /* @__PURE__ */ "bar.line.area.pie.scatter.radar.bubble.table.kpiNumber.kpiDelta.kpiText.funnel.heatmap.sankey.sunburst.retentionHeatmap.retentionCombined.boxPlot.markdown.recordsTable.treemap.radialBar.proportionBar.dotStrip.waterfall.measureProfile.activityGrid.gauge.candlestick".split(".");
|
|
2407
|
+
function Pe() {
|
|
2404
2408
|
return [
|
|
2405
2409
|
{
|
|
2406
2410
|
name: "discover_cubes",
|
|
@@ -2445,7 +2449,7 @@ function Ne() {
|
|
|
2445
2449
|
},
|
|
2446
2450
|
{
|
|
2447
2451
|
name: "add_portlet",
|
|
2448
|
-
description: "Add a chart visualization to the notebook.\n" +
|
|
2452
|
+
description: "Add a chart visualization to the notebook.\n" + Ae(Q) + "\nThe query is validated before adding. The portlet fetches its own data.",
|
|
2449
2453
|
parameters: {
|
|
2450
2454
|
type: "object",
|
|
2451
2455
|
properties: {
|
|
@@ -2501,7 +2505,7 @@ function Ne() {
|
|
|
2501
2505
|
},
|
|
2502
2506
|
content: {
|
|
2503
2507
|
type: "string",
|
|
2504
|
-
description: "Markdown body, for the \"markdown\" chart type. " +
|
|
2508
|
+
description: "Markdown body, for the \"markdown\" chart type. " + Ne
|
|
2505
2509
|
},
|
|
2506
2510
|
...c,
|
|
2507
2511
|
...u
|
|
@@ -2629,7 +2633,7 @@ function Ne() {
|
|
|
2629
2633
|
},
|
|
2630
2634
|
displayConfig: {
|
|
2631
2635
|
type: "object",
|
|
2632
|
-
description: "Chart display configuration (for markdown: { content, hideHeader, transparentBackground, autoHeight }). " +
|
|
2636
|
+
description: "Chart display configuration (for markdown: { content, hideHeader, transparentBackground, autoHeight }). " + Ne,
|
|
2633
2637
|
properties: {
|
|
2634
2638
|
...c,
|
|
2635
2639
|
...u
|
|
@@ -2741,7 +2745,7 @@ function Ne() {
|
|
|
2741
2745
|
}
|
|
2742
2746
|
];
|
|
2743
2747
|
}
|
|
2744
|
-
function
|
|
2748
|
+
function Fe(e) {
|
|
2745
2749
|
let { semanticLayer: t, securityContext: n } = e, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
|
|
2746
2750
|
r.set("discover_cubes", async (e) => {
|
|
2747
2751
|
let r = { cubes: (await s(t, n, {
|
|
@@ -2807,7 +2811,7 @@ function Pe(e) {
|
|
|
2807
2811
|
rowCount: a.data.length,
|
|
2808
2812
|
data: s,
|
|
2809
2813
|
truncated: a.data.length > s.length,
|
|
2810
|
-
dataShape:
|
|
2814
|
+
dataShape: Me(s, a.annotation),
|
|
2811
2815
|
annotation: a.annotation
|
|
2812
2816
|
}) + "\n[IMPORTANT: Your next response MUST start with a brief text message BEFORE any tool calls. Now call add_markdown and add_portlet to visualize these results.]" };
|
|
2813
2817
|
} catch (t) {
|
|
@@ -2844,9 +2848,9 @@ function Pe(e) {
|
|
|
2844
2848
|
let s = !!(i.funnel || i.flow || i.retention), c, l = r, u;
|
|
2845
2849
|
if (s) c = e.chartConfig ?? {};
|
|
2846
2850
|
else {
|
|
2847
|
-
let t =
|
|
2851
|
+
let t = we(r, e.chartConfig, i);
|
|
2848
2852
|
l = t.chartType, u = t.note;
|
|
2849
|
-
let n =
|
|
2853
|
+
let n = Oe(l, e.chartConfig, i), a = Ce(l, n, i);
|
|
2850
2854
|
if (!a.isValid) return { error: `Chart config invalid — fix these errors and retry:\n${a.errors.join("\n")}\n\nchartType: ${l}\nAttempted chartConfig:\n${JSON.stringify(n, null, 2)}\n\nQuery:\n${JSON.stringify(i, null, 2)}` };
|
|
2851
2855
|
c = n;
|
|
2852
2856
|
}
|
|
@@ -2951,7 +2955,7 @@ function Pe(e) {
|
|
|
2951
2955
|
i.push(`Portlet "${e.title}": invalid JSON query`);
|
|
2952
2956
|
continue;
|
|
2953
2957
|
}
|
|
2954
|
-
if (u = a(u), c && !
|
|
2958
|
+
if (u = a(u), c && !Z(u)) continue;
|
|
2955
2959
|
let d = t.validateQuery(u, n);
|
|
2956
2960
|
if (!d.isValid) {
|
|
2957
2961
|
i.push(`Portlet "${e.title}": ${d.errors.join(", ")}`);
|
|
@@ -2961,7 +2965,7 @@ function Pe(e) {
|
|
|
2961
2965
|
s.set(e, r);
|
|
2962
2966
|
continue;
|
|
2963
2967
|
}
|
|
2964
|
-
let f =
|
|
2968
|
+
let f = we(r, e.chartConfig, u).chartType, p = Oe(f, e.chartConfig, u), m = Ce(f, p, u);
|
|
2965
2969
|
if (!m.isValid) {
|
|
2966
2970
|
i.push(`Portlet "${e.title}": ${m.errors.join(", ")}`);
|
|
2967
2971
|
continue;
|
|
@@ -2989,7 +2993,7 @@ function Pe(e) {
|
|
|
2989
2993
|
chartConfig: o.get(e) ?? e.chartConfig ?? {},
|
|
2990
2994
|
displayConfig: e.displayConfig || {}
|
|
2991
2995
|
} },
|
|
2992
|
-
query: n && !
|
|
2996
|
+
query: n && !Z(c) ? {} : c
|
|
2993
2997
|
};
|
|
2994
2998
|
return {
|
|
2995
2999
|
id: e.id,
|
|
@@ -3026,14 +3030,14 @@ function Pe(e) {
|
|
|
3026
3030
|
}
|
|
3027
3031
|
//#endregion
|
|
3028
3032
|
//#region src/server/agent/providers/factory.ts
|
|
3029
|
-
async function
|
|
3033
|
+
async function Ie(e, t, n) {
|
|
3030
3034
|
switch (e) {
|
|
3031
3035
|
case "anthropic": {
|
|
3032
3036
|
let { AnthropicProvider: e } = await import("./anthropic-MQlafOZv.js");
|
|
3033
3037
|
return new e(t);
|
|
3034
3038
|
}
|
|
3035
3039
|
case "openai": {
|
|
3036
|
-
let { OpenAIProvider: e } = await import("./openai-
|
|
3040
|
+
let { OpenAIProvider: e } = await import("./openai-C4HrjyJj.js");
|
|
3037
3041
|
return new e(t, n);
|
|
3038
3042
|
}
|
|
3039
3043
|
case "google": {
|
|
@@ -3045,7 +3049,7 @@ async function Fe(e, t, n) {
|
|
|
3045
3049
|
}
|
|
3046
3050
|
//#endregion
|
|
3047
3051
|
//#region src/server/agent/handler-steps.ts
|
|
3048
|
-
function
|
|
3052
|
+
function Le(e, t) {
|
|
3049
3053
|
if (Array.isArray(t)) for (let n of t) e.push(n);
|
|
3050
3054
|
else e.push(t);
|
|
3051
3055
|
}
|
|
@@ -3054,7 +3058,7 @@ function $(e) {
|
|
|
3054
3058
|
e();
|
|
3055
3059
|
} catch {}
|
|
3056
3060
|
}
|
|
3057
|
-
function
|
|
3061
|
+
function Re(e, t) {
|
|
3058
3062
|
let n = [];
|
|
3059
3063
|
if (!e || e.length === 0) return n;
|
|
3060
3064
|
for (let r of e) {
|
|
@@ -3087,7 +3091,7 @@ function Le(e, t) {
|
|
|
3087
3091
|
content: typeof e.result == "string" ? e.result : JSON.stringify(e.result ?? ""),
|
|
3088
3092
|
isError: e.status === "error"
|
|
3089
3093
|
}));
|
|
3090
|
-
|
|
3094
|
+
Le(n, t.formatToolResults(i));
|
|
3091
3095
|
} else e.length > 0 && n.push({
|
|
3092
3096
|
role: "assistant",
|
|
3093
3097
|
content: r.content
|
|
@@ -3095,22 +3099,22 @@ function Le(e, t) {
|
|
|
3095
3099
|
}
|
|
3096
3100
|
return n;
|
|
3097
3101
|
}
|
|
3098
|
-
function
|
|
3102
|
+
function ze(e, t) {
|
|
3099
3103
|
if (e?.type === "tool_use" && t) try {
|
|
3100
3104
|
e.input = JSON.parse(t);
|
|
3101
3105
|
} catch {
|
|
3102
3106
|
e.input = {}, e.inputParseError = !0;
|
|
3103
3107
|
}
|
|
3104
3108
|
}
|
|
3105
|
-
function
|
|
3109
|
+
function Be(e, t) {
|
|
3106
3110
|
let n = e.contentBlocks[e.contentBlocks.length - 1];
|
|
3107
3111
|
n && n.type === "text" ? n.text = (n.text || "") + t : e.contentBlocks.push({
|
|
3108
3112
|
type: "text",
|
|
3109
3113
|
text: t
|
|
3110
3114
|
});
|
|
3111
3115
|
}
|
|
3112
|
-
function
|
|
3113
|
-
e.currentBlockIsToolUse && e.currentToolInputJson &&
|
|
3116
|
+
function Ve(e, t) {
|
|
3117
|
+
e.currentBlockIsToolUse && e.currentToolInputJson && ze(e.contentBlocks[e.contentBlocks.length - 1], e.currentToolInputJson), e.contentBlocks.push({
|
|
3114
3118
|
type: "tool_use",
|
|
3115
3119
|
id: t.id,
|
|
3116
3120
|
name: t.name,
|
|
@@ -3118,16 +3122,16 @@ function Be(e, t) {
|
|
|
3118
3122
|
...t.metadata ? { metadata: t.metadata } : {}
|
|
3119
3123
|
}), e.currentToolInputJson = "", e.currentBlockIsToolUse = !0;
|
|
3120
3124
|
}
|
|
3121
|
-
function
|
|
3125
|
+
function He(e, t) {
|
|
3122
3126
|
if (t.id && t.input) {
|
|
3123
3127
|
let n = e.contentBlocks.find((e) => e.type === "tool_use" && e.id === t.id);
|
|
3124
3128
|
n && (n.input = t.input, t.parseError && (n.inputParseError = !0));
|
|
3125
3129
|
} else if (e.currentBlockIsToolUse) {
|
|
3126
3130
|
let t = e.contentBlocks[e.contentBlocks.length - 1];
|
|
3127
|
-
t?.type === "tool_use" && e.currentToolInputJson && (
|
|
3131
|
+
t?.type === "tool_use" && e.currentToolInputJson && (ze(t, e.currentToolInputJson), e.currentToolInputJson = ""), e.currentBlockIsToolUse = !1;
|
|
3128
3132
|
}
|
|
3129
3133
|
}
|
|
3130
|
-
async function*
|
|
3134
|
+
async function* Ue(e, t) {
|
|
3131
3135
|
let n = {
|
|
3132
3136
|
contentBlocks: [],
|
|
3133
3137
|
currentToolInputJson: "",
|
|
@@ -3138,13 +3142,13 @@ async function* He(e, t) {
|
|
|
3138
3142
|
let e = r;
|
|
3139
3143
|
switch (e.type) {
|
|
3140
3144
|
case "text_delta":
|
|
3141
|
-
|
|
3145
|
+
Be(n, e.text), yield {
|
|
3142
3146
|
type: "text_delta",
|
|
3143
3147
|
data: e.text
|
|
3144
3148
|
};
|
|
3145
3149
|
break;
|
|
3146
3150
|
case "tool_use_start":
|
|
3147
|
-
|
|
3151
|
+
Ve(n, e), yield {
|
|
3148
3152
|
type: "tool_use_start",
|
|
3149
3153
|
data: {
|
|
3150
3154
|
id: e.id,
|
|
@@ -3157,7 +3161,7 @@ async function* He(e, t) {
|
|
|
3157
3161
|
n.currentToolInputJson += e.json;
|
|
3158
3162
|
break;
|
|
3159
3163
|
case "tool_use_end":
|
|
3160
|
-
|
|
3164
|
+
He(n, e);
|
|
3161
3165
|
break;
|
|
3162
3166
|
case "message_meta": e.inputTokens != null && (n.inputTokens = e.inputTokens), e.outputTokens != null && (n.outputTokens = e.outputTokens), e.stopReason && (n.stopReason = e.stopReason);
|
|
3163
3167
|
}
|
|
@@ -3169,7 +3173,7 @@ async function* He(e, t) {
|
|
|
3169
3173
|
outputTokens: n.outputTokens
|
|
3170
3174
|
};
|
|
3171
3175
|
}
|
|
3172
|
-
async function*
|
|
3176
|
+
async function* We(e, t) {
|
|
3173
3177
|
let { executor: n, observability: r, traceId: i, turn: a } = t, o = e.name, s = e.input || {}, c = e.id;
|
|
3174
3178
|
if (e.inputParseError) {
|
|
3175
3179
|
let e = `Could not parse the arguments you sent for ${o} — they were not valid JSON, so the tool was not run. Call it again with well-formed JSON arguments.`;
|
|
@@ -3260,26 +3264,26 @@ async function* Ue(e, t) {
|
|
|
3260
3264
|
};
|
|
3261
3265
|
}
|
|
3262
3266
|
}
|
|
3263
|
-
async function*
|
|
3267
|
+
async function* Ge(e, t) {
|
|
3264
3268
|
let n = [];
|
|
3265
3269
|
for (let r of e) {
|
|
3266
3270
|
if (r.type !== "tool_use") continue;
|
|
3267
|
-
let e = yield*
|
|
3271
|
+
let e = yield* We(r, t);
|
|
3268
3272
|
n.push(e);
|
|
3269
3273
|
}
|
|
3270
3274
|
return n;
|
|
3271
3275
|
}
|
|
3272
3276
|
//#endregion
|
|
3273
3277
|
//#region src/server/agent/handler.ts
|
|
3274
|
-
var
|
|
3278
|
+
var Ke = {
|
|
3275
3279
|
anthropic: "claude-sonnet-4-6",
|
|
3276
3280
|
openai: "gpt-4.1-mini",
|
|
3277
3281
|
google: "gemini-3-flash-preview"
|
|
3278
3282
|
};
|
|
3279
|
-
async function*
|
|
3280
|
-
let { message: n, history: r, semanticLayer: i, securityContext: a, agentConfig: o, apiKey: s } = e, c = e.sessionId || crypto.randomUUID(), l = o.observability, u = crypto.randomUUID(), d = Date.now(), f = e.providerOverride || o.provider || "anthropic", p = e.modelOverride || o.model ||
|
|
3283
|
+
async function* qe(e) {
|
|
3284
|
+
let { message: n, history: r, semanticLayer: i, securityContext: a, agentConfig: o, apiKey: s } = e, c = e.sessionId || crypto.randomUUID(), l = o.observability, u = crypto.randomUUID(), d = Date.now(), f = e.providerOverride || o.provider || "anthropic", p = e.modelOverride || o.model || Ke[f] || "claude-sonnet-4-6", m = e.baseURLOverride || o.baseURL, h = o.maxTurns || 25, g = o.maxTokens || 8192, _;
|
|
3281
3285
|
try {
|
|
3282
|
-
_ = await
|
|
3286
|
+
_ = await Ie(f, s, { baseURL: m });
|
|
3283
3287
|
} catch (e) {
|
|
3284
3288
|
console.error("[agent] Failed to create %s provider: %s", String(f).replace(/\n|\r/g, ""), String(e instanceof Error ? e.message : e).replace(/\n|\r/g, "")), yield {
|
|
3285
3289
|
type: "error",
|
|
@@ -3287,7 +3291,7 @@ async function* Ke(e) {
|
|
|
3287
3291
|
};
|
|
3288
3292
|
return;
|
|
3289
3293
|
}
|
|
3290
|
-
let v =
|
|
3294
|
+
let v = Pe(), y = Fe({
|
|
3291
3295
|
semanticLayer: i,
|
|
3292
3296
|
securityContext: a
|
|
3293
3297
|
}), b = se(i.getMetadata(a));
|
|
@@ -3298,7 +3302,7 @@ async function* Ke(e) {
|
|
|
3298
3302
|
model: p,
|
|
3299
3303
|
historyLength: r?.length ?? 0
|
|
3300
3304
|
}));
|
|
3301
|
-
let x =
|
|
3305
|
+
let x = Re(r, _);
|
|
3302
3306
|
x.push({
|
|
3303
3307
|
role: "user",
|
|
3304
3308
|
content: n
|
|
@@ -3313,7 +3317,7 @@ async function* Ke(e) {
|
|
|
3313
3317
|
system: b,
|
|
3314
3318
|
tools: v,
|
|
3315
3319
|
messages: x
|
|
3316
|
-
}), r = Date.now(), { contentBlocks: i, stopReason: a, inputTokens: o, outputTokens: s } = yield*
|
|
3320
|
+
}), r = Date.now(), { contentBlocks: i, stopReason: a, inputTokens: o, outputTokens: s } = yield* Ue(_, n);
|
|
3317
3321
|
if ($(() => l?.onGenerationEnd?.({
|
|
3318
3322
|
traceId: u,
|
|
3319
3323
|
turn: e,
|
|
@@ -3335,7 +3339,7 @@ async function* Ke(e) {
|
|
|
3335
3339
|
break;
|
|
3336
3340
|
}
|
|
3337
3341
|
if (!_.shouldContinue(a)) break;
|
|
3338
|
-
let c = yield*
|
|
3342
|
+
let c = yield* Ge(i, {
|
|
3339
3343
|
executor: y,
|
|
3340
3344
|
observability: l,
|
|
3341
3345
|
traceId: u,
|
|
@@ -3344,7 +3348,7 @@ async function* Ke(e) {
|
|
|
3344
3348
|
yield {
|
|
3345
3349
|
type: "turn_complete",
|
|
3346
3350
|
data: {}
|
|
3347
|
-
},
|
|
3351
|
+
}, Le(x, _.formatToolResults(c));
|
|
3348
3352
|
}
|
|
3349
3353
|
$(() => l?.onChatEnd?.({
|
|
3350
3354
|
traceId: u,
|
|
@@ -3375,4 +3379,4 @@ async function* Ke(e) {
|
|
|
3375
3379
|
}
|
|
3376
3380
|
}
|
|
3377
3381
|
//#endregion
|
|
3378
|
-
export {
|
|
3382
|
+
export { A as C, E as D, D as E, T as O, j as S, O as T, I as _, le as a, N as b, W as c, H as d, V as f, L as g, R as h, qe as handleAgentChat, ue as i, w as k, U as l, z as m, fe as n, K as o, B as p, de as r, G as s, pe as t, ce as u, F as v, k as w, M as x, P as y };
|