drizzle-cube 0.4.28 → 0.4.30
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/anthropic-BIva8k1r.cjs +1 -0
- package/dist/adapters/anthropic-B_rg0BhK.js +140 -0
- package/dist/adapters/dist-Boc63-1q.cjs +2 -0
- package/dist/adapters/dist-De5fzUEM.js +581 -0
- package/dist/adapters/express/index.cjs +2 -10
- package/dist/adapters/express/index.js +232 -342
- package/dist/adapters/fastify/index.cjs +2 -10
- package/dist/adapters/fastify/index.js +275 -424
- package/dist/adapters/google-CT4kgmBf.js +154 -0
- package/dist/adapters/google-Dgo9-Kb5.cjs +2 -0
- package/dist/adapters/handler-B8vuFQYP.cjs +25 -0
- package/dist/adapters/handler-D-2-6uLM.js +2951 -0
- package/dist/adapters/hono/index.cjs +2 -10
- package/dist/adapters/hono/index.js +307 -402
- package/dist/adapters/mcp-prompts-BAutSQYA.js +344 -0
- package/dist/adapters/mcp-prompts-DsAkafVn.cjs +5 -0
- package/dist/adapters/mcp-transport-CuugoG8t.js +7821 -0
- package/dist/adapters/mcp-transport-Dpp6hdZe.cjs +253 -0
- package/dist/adapters/nextjs/index.cjs +1 -9
- package/dist/adapters/nextjs/index.js +377 -600
- package/dist/adapters/openai-CjBvA6mK.js +4114 -0
- package/dist/adapters/openai-DhLE0A9Z.cjs +1 -0
- package/dist/adapters/openai-Zjw4Zo4R.js +153 -0
- package/dist/adapters/openai-eJBw3LfQ.cjs +16 -0
- package/dist/adapters/types.cjs +0 -1
- package/dist/adapters/types.js +0 -1
- package/dist/adapters/utils-ChhNGUOF.js +5396 -0
- package/dist/adapters/utils-CwJplXR5.cjs +15 -0
- package/dist/adapters/utils.cjs +1 -19
- package/dist/adapters/utils.js +2 -21333
- package/dist/client/charts.js +15 -186
- package/dist/client/chunks/DashboardEditModal-C076pscL.js +6678 -0
- package/dist/client/chunks/DashboardEditModal-C076pscL.js.map +1 -0
- package/dist/client/chunks/FieldSearchModal-C0DjSWk3.js +2631 -0
- package/dist/client/chunks/FieldSearchModal-C0DjSWk3.js.map +1 -0
- package/dist/client/chunks/RetentionCombinedChart-DuGXc-AP.js +270 -0
- package/dist/client/chunks/RetentionCombinedChart-DuGXc-AP.js.map +1 -0
- package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js +56 -0
- package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js.map +1 -0
- package/dist/client/chunks/RetentionHeatmap-BoGY6mlZ.js +193 -0
- package/dist/client/chunks/RetentionHeatmap-BoGY6mlZ.js.map +1 -0
- package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js +25 -0
- package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js.map +1 -0
- package/dist/client/chunks/analysis-builder-DF0XntqC.js +6111 -0
- package/dist/client/chunks/analysis-builder-DF0XntqC.js.map +1 -0
- package/dist/client/chunks/analysis-builder-shared-2QhKYbs6.js +3114 -0
- package/dist/client/chunks/analysis-builder-shared-2QhKYbs6.js.map +1 -0
- package/dist/client/chunks/chart-activity-grid-CNES9VBk.js +803 -0
- package/dist/client/chunks/chart-activity-grid-CNES9VBk.js.map +1 -0
- package/dist/client/chunks/chart-area-CRJc3KOu.js +449 -0
- package/dist/client/chunks/chart-area-CRJc3KOu.js.map +1 -0
- package/dist/client/chunks/chart-bar-DD2PjJ5n.js +270 -0
- package/dist/client/chunks/chart-bar-DD2PjJ5n.js.map +1 -0
- package/dist/client/chunks/chart-box-plot-BcqleldJ.js +377 -0
- package/dist/client/chunks/chart-box-plot-BcqleldJ.js.map +1 -0
- package/dist/client/chunks/chart-bubble-BmQkVk4K.js +273 -0
- package/dist/client/chunks/chart-bubble-BmQkVk4K.js.map +1 -0
- package/dist/client/chunks/chart-candlestick-C3Rep469.js +306 -0
- package/dist/client/chunks/chart-candlestick-C3Rep469.js.map +1 -0
- package/dist/client/chunks/chart-config-activity-grid-USo7JrPh.js +51 -0
- package/dist/client/chunks/chart-config-activity-grid-USo7JrPh.js.map +1 -0
- package/dist/client/chunks/chart-config-area-D_ZufYzg.js +93 -0
- package/dist/client/chunks/chart-config-area-D_ZufYzg.js.map +1 -0
- package/dist/client/chunks/chart-config-bar-BCi2Wmd6.js +87 -0
- package/dist/client/chunks/chart-config-bar-BCi2Wmd6.js.map +1 -0
- package/dist/client/chunks/chart-config-box-plot-afKLzJSp.js +35 -0
- package/dist/client/chunks/chart-config-box-plot-afKLzJSp.js.map +1 -0
- package/dist/client/chunks/chart-config-bubble-CgbBjPv8.js +82 -0
- package/dist/client/chunks/chart-config-bubble-CgbBjPv8.js.map +1 -0
- package/dist/client/chunks/chart-config-candlestick-7boGjZ-A.js +72 -0
- package/dist/client/chunks/chart-config-candlestick-7boGjZ-A.js.map +1 -0
- package/dist/client/chunks/chart-config-data-table-Cl7sBasW.js +30 -0
- package/dist/client/chunks/chart-config-data-table-Cl7sBasW.js.map +1 -0
- package/dist/client/chunks/chart-config-funnel-CXPYQtTl.js +93 -0
- package/dist/client/chunks/chart-config-funnel-CXPYQtTl.js.map +1 -0
- package/dist/client/chunks/chart-config-gauge-DUNEUCvh.js +64 -0
- package/dist/client/chunks/chart-config-gauge-DUNEUCvh.js.map +1 -0
- package/dist/client/chunks/chart-config-heat-map-BFf1tO11.js +91 -0
- package/dist/client/chunks/chart-config-heat-map-BFf1tO11.js.map +1 -0
- package/dist/client/chunks/chart-config-kpi-delta-C5k2waIJ.js +94 -0
- package/dist/client/chunks/chart-config-kpi-delta-C5k2waIJ.js.map +1 -0
- package/dist/client/chunks/chart-config-kpi-number-DptOyhk0.js +75 -0
- package/dist/client/chunks/chart-config-kpi-number-DptOyhk0.js.map +1 -0
- package/dist/client/chunks/chart-config-kpi-text-D9DdVWqd.js +47 -0
- package/dist/client/chunks/chart-config-kpi-text-D9DdVWqd.js.map +1 -0
- package/dist/client/chunks/chart-config-line-B3NgLF7K.js +104 -0
- package/dist/client/chunks/chart-config-line-B3NgLF7K.js.map +1 -0
- package/dist/client/chunks/chart-config-markdown-tlfivQTt.js +117 -0
- package/dist/client/chunks/chart-config-markdown-tlfivQTt.js.map +1 -0
- package/dist/client/chunks/chart-config-measure-profile-D7XDwrU2.js +82 -0
- package/dist/client/chunks/chart-config-measure-profile-D7XDwrU2.js.map +1 -0
- package/dist/client/chunks/chart-config-pie-wY0B52PC.js +68 -0
- package/dist/client/chunks/chart-config-pie-wY0B52PC.js.map +1 -0
- package/dist/client/chunks/chart-config-radar-DRpJBy1M.js +49 -0
- package/dist/client/chunks/chart-config-radar-DRpJBy1M.js.map +1 -0
- package/dist/client/chunks/chart-config-radial-bar-DCUpXv9G.js +38 -0
- package/dist/client/chunks/chart-config-radial-bar-DCUpXv9G.js.map +1 -0
- package/dist/client/chunks/chart-config-sankey-CdOhlm4h.js +66 -0
- package/dist/client/chunks/chart-config-sankey-CdOhlm4h.js.map +1 -0
- package/dist/client/chunks/chart-config-scatter-B2su_x8f.js +61 -0
- package/dist/client/chunks/chart-config-scatter-B2su_x8f.js.map +1 -0
- package/dist/client/chunks/chart-config-sunburst-BPdjbk18.js +45 -0
- package/dist/client/chunks/chart-config-sunburst-BPdjbk18.js.map +1 -0
- package/dist/client/chunks/chart-config-tree-map-Cbsh2fe2.js +51 -0
- package/dist/client/chunks/chart-config-tree-map-Cbsh2fe2.js.map +1 -0
- package/dist/client/chunks/chart-config-waterfall-DGmuZfQF.js +59 -0
- package/dist/client/chunks/chart-config-waterfall-DGmuZfQF.js.map +1 -0
- package/dist/client/chunks/chart-data-table-DehW1C1G.js +4088 -0
- package/dist/client/chunks/chart-data-table-DehW1C1G.js.map +1 -0
- package/dist/client/chunks/chart-funnel-BjkpnG5g.js +447 -0
- package/dist/client/chunks/chart-funnel-BjkpnG5g.js.map +1 -0
- package/dist/client/chunks/chart-gauge-BWW_HEfg.js +424 -0
- package/dist/client/chunks/chart-gauge-BWW_HEfg.js.map +1 -0
- package/dist/client/chunks/chart-heat-map-BWuOuDcm.js +236 -0
- package/dist/client/chunks/chart-heat-map-BWuOuDcm.js.map +1 -0
- package/dist/client/chunks/chart-kpi-delta-D5OHtDJx.js +343 -0
- package/dist/client/chunks/chart-kpi-delta-D5OHtDJx.js.map +1 -0
- package/dist/client/chunks/chart-kpi-number-C9zH-aKC.js +326 -0
- package/dist/client/chunks/chart-kpi-number-C9zH-aKC.js.map +1 -0
- package/dist/client/chunks/chart-kpi-text-ChVn3S7j.js +149 -0
- package/dist/client/chunks/chart-kpi-text-ChVn3S7j.js.map +1 -0
- package/dist/client/chunks/chart-line-DOIMkP0b.js +431 -0
- package/dist/client/chunks/chart-line-DOIMkP0b.js.map +1 -0
- package/dist/client/chunks/chart-markdown-DXxc43w1.js +3457 -0
- package/dist/client/chunks/chart-markdown-DXxc43w1.js.map +1 -0
- package/dist/client/chunks/chart-measure-profile-C6wrr9il.js +179 -0
- package/dist/client/chunks/chart-measure-profile-C6wrr9il.js.map +1 -0
- package/dist/client/chunks/chart-pie-BU_FgwDc.js +172 -0
- package/dist/client/chunks/chart-pie-BU_FgwDc.js.map +1 -0
- package/dist/client/chunks/chart-radar-DlufwnAX.js +154 -0
- package/dist/client/chunks/chart-radar-DlufwnAX.js.map +1 -0
- package/dist/client/chunks/chart-radial-bar-B5vS_Aw5.js +148 -0
- package/dist/client/chunks/chart-radial-bar-B5vS_Aw5.js.map +1 -0
- package/dist/client/chunks/chart-sankey-FChb26UX.js +222 -0
- package/dist/client/chunks/chart-sankey-FChb26UX.js.map +1 -0
- package/dist/client/chunks/chart-scatter-DW0cAZ2H.js +255 -0
- package/dist/client/chunks/chart-scatter-DW0cAZ2H.js.map +1 -0
- package/dist/client/chunks/chart-sunburst-Clf-6WxW.js +221 -0
- package/dist/client/chunks/chart-sunburst-Clf-6WxW.js.map +1 -0
- package/dist/client/chunks/chart-tree-map-p_VwUJPF.js +298 -0
- package/dist/client/chunks/chart-tree-map-p_VwUJPF.js.map +1 -0
- package/dist/client/chunks/chart-waterfall-jt44IQ-w.js +237 -0
- package/dist/client/chunks/chart-waterfall-jt44IQ-w.js.map +1 -0
- package/dist/client/chunks/charts-core-CUVzf4cV.js +215 -0
- package/dist/client/chunks/charts-core-CUVzf4cV.js.map +1 -0
- package/dist/client/chunks/charts-loader-AGpph8_I.js +259 -0
- package/dist/client/chunks/charts-loader-AGpph8_I.js.map +1 -0
- package/dist/client/chunks/core-D1TOj17W.js +845 -0
- package/dist/client/chunks/core-D1TOj17W.js.map +1 -0
- package/dist/client/chunks/dist-DDBeV_JI.js +847 -0
- package/dist/client/chunks/dist-DDBeV_JI.js.map +1 -0
- package/dist/client/chunks/javascript-BBwTSo6e.js +438 -0
- package/dist/client/chunks/javascript-BBwTSo6e.js.map +1 -0
- package/dist/client/chunks/json-BpTrLZSh.js +38 -0
- package/dist/client/chunks/json-BpTrLZSh.js.map +1 -0
- package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js +149 -0
- package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js.map +1 -0
- package/dist/client/chunks/providers-DX3Vw5kc.js +7 -0
- package/dist/client/chunks/providers-DX3Vw5kc.js.map +1 -0
- package/dist/client/chunks/retention-UEXlSdZ-.js +132 -0
- package/dist/client/chunks/retention-UEXlSdZ-.js.map +1 -0
- package/dist/client/chunks/rolldown-runtime-lc2dmIiU.js +20 -0
- package/dist/client/chunks/schema-visualization-ZugB4Io9.js +1073 -0
- package/dist/client/chunks/schema-visualization-ZugB4Io9.js.map +1 -0
- package/dist/client/chunks/sql-B0chxcEK.js +120 -0
- package/dist/client/chunks/sql-B0chxcEK.js.map +1 -0
- package/dist/client/chunks/syntaxHighlighting-87bOwTxj.js +30 -0
- package/dist/client/chunks/syntaxHighlighting-87bOwTxj.js.map +1 -0
- package/dist/client/chunks/useDebounce-BQjNWndQ.js +1394 -0
- package/dist/client/chunks/useDebounce-BQjNWndQ.js.map +1 -0
- package/dist/client/chunks/useDirtyStateTracking-CgKZWkel.js +66 -0
- package/dist/client/chunks/useDirtyStateTracking-CgKZWkel.js.map +1 -0
- package/dist/client/chunks/useExplainAI-c_bHxZe5.js +203 -0
- package/dist/client/chunks/useExplainAI-c_bHxZe5.js.map +1 -0
- package/dist/client/chunks/useNotebookLayout-BFZ_33Kb.js +37 -0
- package/dist/client/chunks/useNotebookLayout-BFZ_33Kb.js.map +1 -0
- package/dist/client/chunks/utils-A54Ny29G.js +128 -0
- package/dist/client/chunks/utils-A54Ny29G.js.map +1 -0
- package/dist/client/chunks/vendor-CoPBRumI.js +828 -0
- package/dist/client/chunks/vendor-CoPBRumI.js.map +1 -0
- package/dist/client/components.js +4 -18
- package/dist/client/hooks.js +6 -58
- package/dist/client/icons.js +2 -15
- package/dist/client/index.js +1061 -1295
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers.js +3 -9
- package/dist/client/styles.css +2 -1
- package/dist/client/types.d.ts +1 -0
- package/dist/client/utils.js +7 -74
- package/dist/client-bundle-stats.html +1 -1
- package/dist/server/anthropic-BsNspi1r.js +140 -0
- package/dist/server/anthropic-DsCEX6Fm.cjs +1 -0
- package/dist/server/dist-CMWZC51B.js +581 -0
- package/dist/server/dist-DxegvyZF.cjs +2 -0
- package/dist/server/google-BXwMolCu.js +154 -0
- package/dist/server/google-DzQWXFwF.cjs +2 -0
- package/dist/server/index.cjs +109 -127
- package/dist/server/index.d.ts +13 -4
- package/dist/server/index.js +15089 -34349
- package/dist/server/openai-BPhmb8mi.js +4114 -0
- package/dist/server/openai-CLsoLaue.cjs +1 -0
- package/dist/server/openai-D1kZ5sdM.js +153 -0
- package/dist/server/openai-DkOKbVLC.cjs +16 -0
- package/package.json +5 -5
- package/dist/adapters/anthropic-BTkjgFpT.cjs +0 -1
- package/dist/adapters/anthropic-CTu9E801.js +0 -126
- package/dist/adapters/google-BAK9pnQf.cjs +0 -2
- package/dist/adapters/google-DficVAsJ.js +0 -146
- package/dist/adapters/handler-BV2_dul8.js +0 -2713
- package/dist/adapters/handler-LMRPeTNJ.cjs +0 -39
- package/dist/adapters/index-BgCeQBuN.cjs +0 -2
- package/dist/adapters/index-C3PskWTr.js +0 -5353
- package/dist/adapters/index-C45_meK_.js +0 -719
- package/dist/adapters/index-ht4NPca9.cjs +0 -23
- package/dist/adapters/mcp-transport-B6ZudTSk.js +0 -11010
- package/dist/adapters/mcp-transport-DCiSGtp1.cjs +0 -257
- package/dist/adapters/openai-BvA6eLs8.cjs +0 -1
- package/dist/adapters/openai-mcE24du8.js +0 -131
- package/dist/client/charts.js.map +0 -1
- package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js +0 -256
- package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js.map +0 -1
- package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js +0 -48
- package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js.map +0 -1
- package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js +0 -178
- package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js.map +0 -1
- package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js +0 -29
- package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js.map +0 -1
- package/dist/client/chunks/analysis-builder-DMFoAkjT.js +0 -6203
- package/dist/client/chunks/analysis-builder-DMFoAkjT.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js +0 -3140
- package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js.map +0 -1
- package/dist/client/chunks/chart-activity-grid-DCznpK6N.js +0 -347
- package/dist/client/chunks/chart-activity-grid-DCznpK6N.js.map +0 -1
- package/dist/client/chunks/chart-area-CqKRIUpj.js +0 -234
- package/dist/client/chunks/chart-area-CqKRIUpj.js.map +0 -1
- package/dist/client/chunks/chart-bar-Bl5jvrU_.js +0 -267
- package/dist/client/chunks/chart-bar-Bl5jvrU_.js.map +0 -1
- package/dist/client/chunks/chart-box-plot-CzMb00z_.js +0 -322
- package/dist/client/chunks/chart-box-plot-CzMb00z_.js.map +0 -1
- package/dist/client/chunks/chart-bubble-BF8Z52eW.js +0 -249
- package/dist/client/chunks/chart-bubble-BF8Z52eW.js.map +0 -1
- package/dist/client/chunks/chart-candlestick-ByWS945g.js +0 -269
- package/dist/client/chunks/chart-candlestick-ByWS945g.js.map +0 -1
- package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js +0 -50
- package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js.map +0 -1
- package/dist/client/chunks/chart-config-area-CK_GVApT.js +0 -77
- package/dist/client/chunks/chart-config-area-CK_GVApT.js.map +0 -1
- package/dist/client/chunks/chart-config-bar-C8uzktxl.js +0 -71
- package/dist/client/chunks/chart-config-bar-C8uzktxl.js.map +0 -1
- package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js +0 -38
- package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js.map +0 -1
- package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js +0 -71
- package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js.map +0 -1
- package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js +0 -70
- package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js.map +0 -1
- package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js +0 -28
- package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js.map +0 -1
- package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js +0 -92
- package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js.map +0 -1
- package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js +0 -64
- package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js.map +0 -1
- package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js +0 -77
- package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js +0 -97
- package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js +0 -75
- package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js +0 -47
- package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js.map +0 -1
- package/dist/client/chunks/chart-config-line-JNagi9tf.js +0 -88
- package/dist/client/chunks/chart-config-line-JNagi9tf.js.map +0 -1
- package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js +0 -97
- package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js.map +0 -1
- package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js +0 -70
- package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js.map +0 -1
- package/dist/client/chunks/chart-config-pie-CNLXb-fr.js +0 -39
- package/dist/client/chunks/chart-config-pie-CNLXb-fr.js.map +0 -1
- package/dist/client/chunks/chart-config-radar-oxHfRAa3.js +0 -44
- package/dist/client/chunks/chart-config-radar-oxHfRAa3.js.map +0 -1
- package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js +0 -37
- package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js.map +0 -1
- package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js +0 -61
- package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js.map +0 -1
- package/dist/client/chunks/chart-config-scatter-DFKM80eO.js +0 -53
- package/dist/client/chunks/chart-config-scatter-DFKM80eO.js.map +0 -1
- package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js +0 -50
- package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js.map +0 -1
- package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js +0 -47
- package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js.map +0 -1
- package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js +0 -60
- package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js.map +0 -1
- package/dist/client/chunks/chart-data-table-HwfF-Ujv.js +0 -293
- package/dist/client/chunks/chart-data-table-HwfF-Ujv.js.map +0 -1
- package/dist/client/chunks/chart-funnel-WmuoWlCq.js +0 -259
- package/dist/client/chunks/chart-funnel-WmuoWlCq.js.map +0 -1
- package/dist/client/chunks/chart-gauge-Cot4By-w.js +0 -374
- package/dist/client/chunks/chart-gauge-Cot4By-w.js.map +0 -1
- package/dist/client/chunks/chart-heat-map-bGNtsZMr.js +0 -231
- package/dist/client/chunks/chart-heat-map-bGNtsZMr.js.map +0 -1
- package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js +0 -351
- package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js.map +0 -1
- package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js +0 -476
- package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js.map +0 -1
- package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js +0 -165
- package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js.map +0 -1
- package/dist/client/chunks/chart-line-3Nf-EPqJ.js +0 -450
- package/dist/client/chunks/chart-line-3Nf-EPqJ.js.map +0 -1
- package/dist/client/chunks/chart-markdown-BT_-MBq1.js +0 -2721
- package/dist/client/chunks/chart-markdown-BT_-MBq1.js.map +0 -1
- package/dist/client/chunks/chart-measure-profile-BVjUonqU.js +0 -114
- package/dist/client/chunks/chart-measure-profile-BVjUonqU.js.map +0 -1
- package/dist/client/chunks/chart-pie-DblG6w7g.js +0 -137
- package/dist/client/chunks/chart-pie-DblG6w7g.js.map +0 -1
- package/dist/client/chunks/chart-radar-BHZbeeTg.js +0 -129
- package/dist/client/chunks/chart-radar-BHZbeeTg.js.map +0 -1
- package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js +0 -119
- package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js.map +0 -1
- package/dist/client/chunks/chart-sankey-E8vYKjQF.js +0 -189
- package/dist/client/chunks/chart-sankey-E8vYKjQF.js.map +0 -1
- package/dist/client/chunks/chart-scatter-Bbxqi0iw.js +0 -202
- package/dist/client/chunks/chart-scatter-Bbxqi0iw.js.map +0 -1
- package/dist/client/chunks/chart-sunburst-BgnTKolT.js +0 -188
- package/dist/client/chunks/chart-sunburst-BgnTKolT.js.map +0 -1
- package/dist/client/chunks/chart-tree-map-i9LGCLwl.js +0 -284
- package/dist/client/chunks/chart-tree-map-i9LGCLwl.js.map +0 -1
- package/dist/client/chunks/chart-waterfall-BeIhCm83.js +0 -191
- package/dist/client/chunks/chart-waterfall-BeIhCm83.js.map +0 -1
- package/dist/client/chunks/charts-core-BUUO36OM.js +0 -692
- package/dist/client/chunks/charts-core-BUUO36OM.js.map +0 -1
- package/dist/client/chunks/charts-loader-goTYnavu.js +0 -258
- package/dist/client/chunks/charts-loader-goTYnavu.js.map +0 -1
- package/dist/client/chunks/components-BFgYvFq6.js +0 -10066
- package/dist/client/chunks/components-BFgYvFq6.js.map +0 -1
- package/dist/client/chunks/core-Y9e-sNfb.js +0 -1068
- package/dist/client/chunks/core-Y9e-sNfb.js.map +0 -1
- package/dist/client/chunks/flow-utils-CjQZG5qq.js +0 -16
- package/dist/client/chunks/flow-utils-CjQZG5qq.js.map +0 -1
- package/dist/client/chunks/funnel-utils-CyonoNeC.js +0 -135
- package/dist/client/chunks/funnel-utils-CyonoNeC.js.map +0 -1
- package/dist/client/chunks/icons-CwvgmdIP.js +0 -1636
- package/dist/client/chunks/icons-CwvgmdIP.js.map +0 -1
- package/dist/client/chunks/index-CApFCBF9.js +0 -81
- package/dist/client/chunks/index-CApFCBF9.js.map +0 -1
- package/dist/client/chunks/index-_2PSgbkC.js +0 -1046
- package/dist/client/chunks/index-_2PSgbkC.js.map +0 -1
- package/dist/client/chunks/javascript-DII1YQGr.js +0 -659
- package/dist/client/chunks/javascript-DII1YQGr.js.map +0 -1
- package/dist/client/chunks/json-C_6Prymp.js +0 -39
- package/dist/client/chunks/json-C_6Prymp.js.map +0 -1
- package/dist/client/chunks/providers-Ds7DRmnO.js +0 -554
- package/dist/client/chunks/providers-Ds7DRmnO.js.map +0 -1
- package/dist/client/chunks/retention-CzCo8262.js +0 -120
- package/dist/client/chunks/retention-CzCo8262.js.map +0 -1
- package/dist/client/chunks/schema-visualization-B97a1Ybu.js +0 -772
- package/dist/client/chunks/schema-visualization-B97a1Ybu.js.map +0 -1
- package/dist/client/chunks/sql-IeKX8fQ8.js +0 -616
- package/dist/client/chunks/sql-IeKX8fQ8.js.map +0 -1
- package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js +0 -34
- package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js.map +0 -1
- package/dist/client/chunks/theme-Dp3hFed1.js +0 -112
- package/dist/client/chunks/theme-Dp3hFed1.js.map +0 -1
- package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js +0 -1231
- package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js.map +0 -1
- package/dist/client/chunks/useExplainAI-CfQ_JmF1.js +0 -182
- package/dist/client/chunks/useExplainAI-CfQ_JmF1.js.map +0 -1
- package/dist/client/chunks/vendor-B2EH3V58.js +0 -2892
- package/dist/client/chunks/vendor-B2EH3V58.js.map +0 -1
- package/dist/client/components.js.map +0 -1
- package/dist/client/hooks.js.map +0 -1
- package/dist/client/icons.js.map +0 -1
- package/dist/client/providers.js.map +0 -1
- package/dist/client/utils.js.map +0 -1
- package/dist/server/anthropic-BTkjgFpT.cjs +0 -1
- package/dist/server/anthropic-CTu9E801.js +0 -126
- package/dist/server/google-BAK9pnQf.cjs +0 -2
- package/dist/server/google-DficVAsJ.js +0 -146
- package/dist/server/index-BgCeQBuN.cjs +0 -2
- package/dist/server/index-C3PskWTr.js +0 -5353
- package/dist/server/index-C45_meK_.js +0 -719
- package/dist/server/index-ht4NPca9.cjs +0 -23
- package/dist/server/openai-BvA6eLs8.cjs +0 -1
- package/dist/server/openai-mcE24du8.js +0 -131
|
@@ -1,427 +1,278 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
if (h.allowClientApiKey) {
|
|
270
|
-
const m = t.headers["x-agent-api-key"];
|
|
271
|
-
m && (u = m.trim());
|
|
272
|
-
}
|
|
273
|
-
if (!u)
|
|
274
|
-
return r.status(401).send({
|
|
275
|
-
error: "No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header."
|
|
276
|
-
});
|
|
277
|
-
const w = h.allowClientApiKey ? t.headers["x-agent-provider"] : void 0, l = h.allowClientApiKey ? t.headers["x-agent-model"] : void 0, v = h.allowClientApiKey ? t.headers["x-agent-provider-endpoint"] : void 0, b = await y(t), f = h.buildSystemContext?.(b);
|
|
278
|
-
r.raw.writeHead(200, {
|
|
279
|
-
"Content-Type": "text/event-stream",
|
|
280
|
-
"Cache-Control": "no-cache",
|
|
281
|
-
Connection: "keep-alive"
|
|
282
|
-
});
|
|
283
|
-
try {
|
|
284
|
-
const m = e({
|
|
285
|
-
message: n,
|
|
286
|
-
sessionId: o,
|
|
287
|
-
history: s,
|
|
288
|
-
semanticLayer: c,
|
|
289
|
-
securityContext: b,
|
|
290
|
-
agentConfig: h,
|
|
291
|
-
apiKey: u,
|
|
292
|
-
systemContext: f,
|
|
293
|
-
providerOverride: w,
|
|
294
|
-
modelOverride: l,
|
|
295
|
-
baseURLOverride: v
|
|
296
|
-
});
|
|
297
|
-
for await (const C of m)
|
|
298
|
-
r.raw.write(`data: ${JSON.stringify(C)}
|
|
299
|
-
|
|
300
|
-
`);
|
|
301
|
-
} catch (m) {
|
|
302
|
-
const C = {
|
|
303
|
-
type: "error",
|
|
304
|
-
data: { message: m instanceof Error ? m.message : "Stream failed" }
|
|
305
|
-
};
|
|
306
|
-
r.raw.write(`data: ${JSON.stringify(C)}
|
|
307
|
-
|
|
308
|
-
`);
|
|
309
|
-
} finally {
|
|
310
|
-
r.raw.end();
|
|
311
|
-
}
|
|
312
|
-
} catch (e) {
|
|
313
|
-
if (t.log.error(e, "Agent chat error"), !r.raw.headersSent)
|
|
314
|
-
return r.status(500).send({
|
|
315
|
-
error: e instanceof Error ? e.message : "Agent chat failed"
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
}), S.enabled !== !1) {
|
|
319
|
-
const t = S.basePath ?? "/mcp";
|
|
320
|
-
i.post(`${t}`, {
|
|
321
|
-
bodyLimit: g,
|
|
322
|
-
schema: {
|
|
323
|
-
body: {
|
|
324
|
-
type: "object",
|
|
325
|
-
additionalProperties: !0
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}, async (r, e) => {
|
|
329
|
-
const a = D(
|
|
330
|
-
r.headers.origin,
|
|
331
|
-
S.allowedOrigins ? { allowedOrigins: S.allowedOrigins } : {}
|
|
332
|
-
);
|
|
333
|
-
if (!a.valid)
|
|
334
|
-
return e.status(403).send(E(null, -32600, a.reason));
|
|
335
|
-
const n = r.headers.accept;
|
|
336
|
-
if (!T(n))
|
|
337
|
-
return e.status(400).send(E(null, -32600, "Accept header must include both application/json and text/event-stream"));
|
|
338
|
-
const o = V(r.headers);
|
|
339
|
-
if (!o.ok)
|
|
340
|
-
return e.status(426).send({
|
|
341
|
-
error: "Unsupported MCP protocol version",
|
|
342
|
-
supported: o.supported
|
|
343
|
-
});
|
|
344
|
-
const s = z(r.body);
|
|
345
|
-
if (!s)
|
|
346
|
-
return e.status(400).send(E(null, -32600, "Invalid JSON-RPC 2.0 request"));
|
|
347
|
-
const u = _(n), w = s.method === "initialize";
|
|
348
|
-
try {
|
|
349
|
-
const l = await B(
|
|
350
|
-
s.method,
|
|
351
|
-
s.params,
|
|
352
|
-
{
|
|
353
|
-
semanticLayer: c,
|
|
354
|
-
extractSecurityContext: y,
|
|
355
|
-
rawRequest: r,
|
|
356
|
-
rawResponse: e,
|
|
357
|
-
negotiatedProtocol: o.negotiated
|
|
358
|
-
}
|
|
359
|
-
);
|
|
360
|
-
if (j(s))
|
|
361
|
-
return e.status(202).send();
|
|
362
|
-
const v = w && l && typeof l == "object" && "sessionId" in l ? l.sessionId : void 0;
|
|
363
|
-
v && e.header(F, v);
|
|
364
|
-
const b = U(s.id ?? null, l);
|
|
365
|
-
if (u) {
|
|
366
|
-
const f = P();
|
|
367
|
-
e.header("Content-Type", "text/event-stream").header("Cache-Control", "no-cache").header("Connection", "keep-alive").send(`id: ${f}
|
|
368
|
-
|
|
369
|
-
${Q(b, f)}`);
|
|
370
|
-
return;
|
|
371
|
-
}
|
|
372
|
-
return e.send(b);
|
|
373
|
-
} catch (l) {
|
|
374
|
-
if (j(s))
|
|
375
|
-
return r.log.error(l, "MCP notification processing error"), e.status(202).send();
|
|
376
|
-
r.log.error(l, "MCP RPC error");
|
|
377
|
-
const v = l?.code ?? -32603, b = l?.data, f = l.message || "MCP request failed", m = E(s.id ?? null, v, f, b);
|
|
378
|
-
if (u) {
|
|
379
|
-
const C = P();
|
|
380
|
-
e.header("Content-Type", "text/event-stream").header("Cache-Control", "no-cache").header("Connection", "keep-alive").send(`id: ${C}
|
|
381
|
-
|
|
382
|
-
${Q(m, C)}`);
|
|
383
|
-
return;
|
|
384
|
-
}
|
|
385
|
-
return e.send(m);
|
|
386
|
-
}
|
|
387
|
-
}), i.get(`${t}`, async (r, e) => {
|
|
388
|
-
const a = P();
|
|
389
|
-
e.raw.writeHead(200, {
|
|
390
|
-
"Content-Type": "text/event-stream",
|
|
391
|
-
"Cache-Control": "no-cache",
|
|
392
|
-
Connection: "keep-alive"
|
|
393
|
-
}), e.raw.write(Q({
|
|
394
|
-
jsonrpc: "2.0",
|
|
395
|
-
method: "mcp/ready",
|
|
396
|
-
params: { protocol: "streamable-http" }
|
|
397
|
-
}, a, 15e3));
|
|
398
|
-
const n = setInterval(() => {
|
|
399
|
-
e.raw.write(`: keep-alive
|
|
400
|
-
|
|
401
|
-
`);
|
|
402
|
-
}, 15e3);
|
|
403
|
-
r.raw.on("close", () => {
|
|
404
|
-
clearInterval(n);
|
|
405
|
-
});
|
|
406
|
-
}), i.delete(`${t}`, async (r, e) => e.status(405).send({ error: "Session termination not supported" }));
|
|
407
|
-
}
|
|
408
|
-
i.setErrorHandler(async (t, r, e) => {
|
|
409
|
-
r.log.error(t, "Fastify cube adapter error"), e.statusCode < 400 && e.status(500);
|
|
410
|
-
const a = t instanceof Error ? t : String(t);
|
|
411
|
-
return d(a, e.statusCode);
|
|
412
|
-
}), $();
|
|
1
|
+
import { a as e, f as t, g as n, i as r, o as i, r as a, u as o } from "../utils-ChhNGUOF.js";
|
|
2
|
+
import { c as s, d as c, f as l, h as u, i as d, l as f, m as p, n as m, p as h, r as g, s as _, t as v, u as y } from "../mcp-transport-CuugoG8t.js";
|
|
3
|
+
//#region src/adapters/fastify/index.ts
|
|
4
|
+
var b = function(n, b, x) {
|
|
5
|
+
let { cubes: S, drizzle: C, schema: w, extractSecurityContext: T, engineType: E, cors: D, basePath: O = "/cubejs-api/v1", bodyLimit: k = 10485760, cache: A, mcp: j = { enabled: !0 }, agent: M } = b;
|
|
6
|
+
if (!S || S.length === 0) return x(/* @__PURE__ */ Error("At least one cube must be provided in the cubes array"));
|
|
7
|
+
D && n.register(import("@fastify/cors"), D), n.addHook("onRequest", async (e, t) => {
|
|
8
|
+
e.method === "POST" && (e.body = void 0);
|
|
9
|
+
});
|
|
10
|
+
let N = new u({
|
|
11
|
+
drizzle: C,
|
|
12
|
+
schema: w,
|
|
13
|
+
engineType: E,
|
|
14
|
+
cache: A
|
|
15
|
+
});
|
|
16
|
+
if (S.forEach((e) => {
|
|
17
|
+
N.registerCube(e);
|
|
18
|
+
}), n.post(`${O}/load`, {
|
|
19
|
+
bodyLimit: k,
|
|
20
|
+
schema: { body: {
|
|
21
|
+
type: "object",
|
|
22
|
+
additionalProperties: !0
|
|
23
|
+
} }
|
|
24
|
+
}, async (e, t) => {
|
|
25
|
+
try {
|
|
26
|
+
let n = e.body, i = n.query || n, o = await T(e), s = N.validateQuery(i);
|
|
27
|
+
if (!s.isValid) return t.status(400).send(r(`Query validation failed: ${s.errors.join(", ")}`, 400));
|
|
28
|
+
let c = e.headers["x-cache-control"] === "no-cache";
|
|
29
|
+
return a(i, await N.executeMultiCubeQuery(i, o, { skipCache: c }), N);
|
|
30
|
+
} catch (n) {
|
|
31
|
+
return e.log.error(n, "Query execution error"), t.status(500).send(r(n instanceof Error ? n.message : "Query execution failed", 500));
|
|
32
|
+
}
|
|
33
|
+
}), n.get(`${O}/load`, { schema: { querystring: {
|
|
34
|
+
type: "object",
|
|
35
|
+
properties: { query: { type: "string" } },
|
|
36
|
+
required: ["query"]
|
|
37
|
+
} } }, async (e, t) => {
|
|
38
|
+
try {
|
|
39
|
+
let { query: n } = e.query, i;
|
|
40
|
+
try {
|
|
41
|
+
i = JSON.parse(n);
|
|
42
|
+
} catch {
|
|
43
|
+
return t.status(400).send(r("Invalid JSON in query parameter", 400));
|
|
44
|
+
}
|
|
45
|
+
let o = await T(e), s = N.validateQuery(i);
|
|
46
|
+
if (!s.isValid) return t.status(400).send(r(`Query validation failed: ${s.errors.join(", ")}`, 400));
|
|
47
|
+
let c = e.headers["x-cache-control"] === "no-cache", l = await N.executeMultiCubeQuery(i, o, { skipCache: c });
|
|
48
|
+
return a(i, l, N);
|
|
49
|
+
} catch (n) {
|
|
50
|
+
return e.log.error(n, "Query execution error"), t.status(500).send(r(n instanceof Error ? n.message : "Query execution failed", 500));
|
|
51
|
+
}
|
|
52
|
+
}), n.post(`${O}/batch`, {
|
|
53
|
+
bodyLimit: k,
|
|
54
|
+
schema: { body: {
|
|
55
|
+
type: "object",
|
|
56
|
+
required: ["queries"],
|
|
57
|
+
properties: { queries: {
|
|
58
|
+
type: "array",
|
|
59
|
+
items: { type: "object" }
|
|
60
|
+
} }
|
|
61
|
+
} }
|
|
62
|
+
}, async (e, t) => {
|
|
63
|
+
try {
|
|
64
|
+
let { queries: n } = e.body;
|
|
65
|
+
return !n || !Array.isArray(n) ? t.status(400).send(r("Request body must contain a \"queries\" array", 400)) : n.length === 0 ? t.status(400).send(r("Queries array cannot be empty", 400)) : await o(n, await T(e), N, { skipCache: e.headers["x-cache-control"] === "no-cache" });
|
|
66
|
+
} catch (n) {
|
|
67
|
+
return e.log.error(n, "Batch execution error"), t.status(500).send(r(n instanceof Error ? n.message : "Batch execution failed", 500));
|
|
68
|
+
}
|
|
69
|
+
}), n.get(`${O}/meta`, async (t, n) => {
|
|
70
|
+
try {
|
|
71
|
+
return e(N.getMetadata());
|
|
72
|
+
} catch (e) {
|
|
73
|
+
return t.log.error(e, "Metadata error"), n.status(500).send(r(e instanceof Error ? e.message : "Failed to fetch metadata", 500));
|
|
74
|
+
}
|
|
75
|
+
}), n.post(`${O}/sql`, {
|
|
76
|
+
bodyLimit: k,
|
|
77
|
+
schema: { body: {
|
|
78
|
+
type: "object",
|
|
79
|
+
additionalProperties: !0
|
|
80
|
+
} }
|
|
81
|
+
}, async (e, t) => {
|
|
82
|
+
try {
|
|
83
|
+
let n = e.body, a = await T(e), o = N.validateQuery(n);
|
|
84
|
+
if (!o.isValid) return t.status(400).send(r(`Query validation failed: ${o.errors.join(", ")}`, 400));
|
|
85
|
+
let s = n.measures?.[0] || n.dimensions?.[0];
|
|
86
|
+
if (!s) return t.status(400).send(r("No measures or dimensions specified", 400));
|
|
87
|
+
let c = s.split(".")[0];
|
|
88
|
+
return i(n, await N.generateSQL(c, n, a));
|
|
89
|
+
} catch (n) {
|
|
90
|
+
return e.log.error(n, "SQL generation error"), t.status(500).send(r(n instanceof Error ? n.message : "SQL generation failed", 500));
|
|
91
|
+
}
|
|
92
|
+
}), n.get(`${O}/sql`, { schema: { querystring: {
|
|
93
|
+
type: "object",
|
|
94
|
+
properties: { query: { type: "string" } },
|
|
95
|
+
required: ["query"]
|
|
96
|
+
} } }, async (e, t) => {
|
|
97
|
+
try {
|
|
98
|
+
let { query: n } = e.query, a = JSON.parse(n), o = await T(e), s = N.validateQuery(a);
|
|
99
|
+
if (!s.isValid) return t.status(400).send(r(`Query validation failed: ${s.errors.join(", ")}`, 400));
|
|
100
|
+
let c = a.measures?.[0] || a.dimensions?.[0];
|
|
101
|
+
if (!c) return t.status(400).send(r("No measures or dimensions specified", 400));
|
|
102
|
+
let l = c.split(".")[0];
|
|
103
|
+
return i(a, await N.generateSQL(l, a, o));
|
|
104
|
+
} catch (n) {
|
|
105
|
+
return e.log.error(n, "SQL generation error"), t.status(500).send(r(n instanceof Error ? n.message : "SQL generation failed", 500));
|
|
106
|
+
}
|
|
107
|
+
}), n.post(`${O}/dry-run`, {
|
|
108
|
+
bodyLimit: k,
|
|
109
|
+
schema: { body: {
|
|
110
|
+
type: "object",
|
|
111
|
+
additionalProperties: !0
|
|
112
|
+
} }
|
|
113
|
+
}, async (e, n) => {
|
|
114
|
+
try {
|
|
115
|
+
let n = e.body;
|
|
116
|
+
return await t(n.query || n, await T(e), N);
|
|
117
|
+
} catch (t) {
|
|
118
|
+
return e.log.error(t, "Dry-run error"), n.status(400).send({
|
|
119
|
+
error: t instanceof Error ? t.message : "Dry-run validation failed",
|
|
120
|
+
valid: !1
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}), n.get(`${O}/dry-run`, { schema: { querystring: {
|
|
124
|
+
type: "object",
|
|
125
|
+
properties: { query: { type: "string" } },
|
|
126
|
+
required: ["query"]
|
|
127
|
+
} } }, async (e, n) => {
|
|
128
|
+
try {
|
|
129
|
+
let { query: n } = e.query;
|
|
130
|
+
return await t(JSON.parse(n), await T(e), N);
|
|
131
|
+
} catch (t) {
|
|
132
|
+
return e.log.error(t, "Dry-run error"), n.status(400).send({
|
|
133
|
+
error: t instanceof Error ? t.message : "Dry-run validation failed",
|
|
134
|
+
valid: !1
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}), n.post(`${O}/explain`, {
|
|
138
|
+
bodyLimit: k,
|
|
139
|
+
schema: { body: {
|
|
140
|
+
type: "object",
|
|
141
|
+
additionalProperties: !0
|
|
142
|
+
} }
|
|
143
|
+
}, async (e, t) => {
|
|
144
|
+
try {
|
|
145
|
+
let n = e.body, r = n.query || n, i = n.options || {}, a = await T(e), o = N.validateQuery(r);
|
|
146
|
+
return o.isValid ? await N.explainQuery(r, a, i) : t.status(400).send({ error: `Query validation failed: ${o.errors.join(", ")}` });
|
|
147
|
+
} catch (n) {
|
|
148
|
+
return e.log.error(n, "Explain error"), t.status(500).send({ error: n instanceof Error ? n.message : "Explain query failed" });
|
|
149
|
+
}
|
|
150
|
+
}), M && n.post(`${O}/agent/chat`, {
|
|
151
|
+
bodyLimit: k,
|
|
152
|
+
schema: { body: {
|
|
153
|
+
type: "object",
|
|
154
|
+
additionalProperties: !0
|
|
155
|
+
} }
|
|
156
|
+
}, async (e, t) => {
|
|
157
|
+
try {
|
|
158
|
+
let { handleAgentChat: n } = await import("../handler-D-2-6uLM.js"), { message: r, sessionId: i, history: a } = e.body;
|
|
159
|
+
if (!r || typeof r != "string") return t.status(400).send({ error: "message is required and must be a string" });
|
|
160
|
+
let o = (M.apiKey || "").trim();
|
|
161
|
+
if (M.allowClientApiKey) {
|
|
162
|
+
let t = e.headers["x-agent-api-key"];
|
|
163
|
+
t && (o = t.trim());
|
|
164
|
+
}
|
|
165
|
+
if (!o) return t.status(401).send({ error: "No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header." });
|
|
166
|
+
let s = M.allowClientApiKey ? e.headers["x-agent-provider"] : void 0, c = M.allowClientApiKey ? e.headers["x-agent-model"] : void 0, l = M.allowClientApiKey ? e.headers["x-agent-provider-endpoint"] : void 0, u = await T(e), d = M.buildSystemContext?.(u);
|
|
167
|
+
t.raw.writeHead(200, {
|
|
168
|
+
"Content-Type": "text/event-stream",
|
|
169
|
+
"Cache-Control": "no-cache",
|
|
170
|
+
Connection: "keep-alive"
|
|
171
|
+
});
|
|
172
|
+
try {
|
|
173
|
+
let e = n({
|
|
174
|
+
message: r,
|
|
175
|
+
sessionId: i,
|
|
176
|
+
history: a,
|
|
177
|
+
semanticLayer: N,
|
|
178
|
+
securityContext: u,
|
|
179
|
+
agentConfig: M,
|
|
180
|
+
apiKey: o,
|
|
181
|
+
systemContext: d,
|
|
182
|
+
providerOverride: s,
|
|
183
|
+
modelOverride: c,
|
|
184
|
+
baseURLOverride: l
|
|
185
|
+
});
|
|
186
|
+
for await (let n of e) t.raw.write(`data: ${JSON.stringify(n)}\n\n`);
|
|
187
|
+
} catch (e) {
|
|
188
|
+
let n = {
|
|
189
|
+
type: "error",
|
|
190
|
+
data: { message: e instanceof Error ? e.message : "Stream failed" }
|
|
191
|
+
};
|
|
192
|
+
t.raw.write(`data: ${JSON.stringify(n)}\n\n`);
|
|
193
|
+
} finally {
|
|
194
|
+
t.raw.end();
|
|
195
|
+
}
|
|
196
|
+
} catch (n) {
|
|
197
|
+
if (e.log.error(n, "Agent chat error"), !t.raw.headersSent) return t.status(500).send({ error: n instanceof Error ? n.message : "Agent chat failed" });
|
|
198
|
+
}
|
|
199
|
+
}), j.enabled !== !1) {
|
|
200
|
+
let e = j.basePath ?? "/mcp";
|
|
201
|
+
n.post(`${e}`, {
|
|
202
|
+
bodyLimit: k,
|
|
203
|
+
schema: { body: {
|
|
204
|
+
type: "object",
|
|
205
|
+
additionalProperties: !0
|
|
206
|
+
} }
|
|
207
|
+
}, async (e, t) => {
|
|
208
|
+
let n = h(e.headers.origin, j.allowedOrigins ? { allowedOrigins: j.allowedOrigins } : {});
|
|
209
|
+
if (!n.valid) return t.status(403).send(m(null, -32600, n.reason));
|
|
210
|
+
let r = e.headers.accept;
|
|
211
|
+
if (!l(r)) return t.status(400).send(m(null, -32600, "Accept header must include both application/json and text/event-stream"));
|
|
212
|
+
let i = s(e.headers);
|
|
213
|
+
if (!i.ok) return t.status(426).send({
|
|
214
|
+
error: "Unsupported MCP protocol version",
|
|
215
|
+
supported: i.supported
|
|
216
|
+
});
|
|
217
|
+
let a = f(e.body);
|
|
218
|
+
if (!a) return t.status(400).send(m(null, -32600, "Invalid JSON-RPC 2.0 request"));
|
|
219
|
+
let o = p(r), u = a.method === "initialize";
|
|
220
|
+
try {
|
|
221
|
+
let n = await d(a.method, a.params, {
|
|
222
|
+
semanticLayer: N,
|
|
223
|
+
extractSecurityContext: T,
|
|
224
|
+
rawRequest: e,
|
|
225
|
+
rawResponse: t,
|
|
226
|
+
negotiatedProtocol: i.negotiated
|
|
227
|
+
});
|
|
228
|
+
if (_(a)) return t.status(202).send();
|
|
229
|
+
let r = u && n && typeof n == "object" && "sessionId" in n ? n.sessionId : void 0;
|
|
230
|
+
r && t.header(v, r);
|
|
231
|
+
let s = g(a.id ?? null, n);
|
|
232
|
+
if (o) {
|
|
233
|
+
let e = y();
|
|
234
|
+
t.header("Content-Type", "text/event-stream").header("Cache-Control", "no-cache").header("Connection", "keep-alive").send(`id: ${e}\n\n${c(s, e)}`);
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
return t.send(s);
|
|
238
|
+
} catch (n) {
|
|
239
|
+
if (_(a)) return e.log.error(n, "MCP notification processing error"), t.status(202).send();
|
|
240
|
+
e.log.error(n, "MCP RPC error");
|
|
241
|
+
let r = n?.code ?? -32603, i = n?.data, s = n.message || "MCP request failed", l = m(a.id ?? null, r, s, i);
|
|
242
|
+
if (o) {
|
|
243
|
+
let e = y();
|
|
244
|
+
t.header("Content-Type", "text/event-stream").header("Cache-Control", "no-cache").header("Connection", "keep-alive").send(`id: ${e}\n\n${c(l, e)}`);
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
return t.send(l);
|
|
248
|
+
}
|
|
249
|
+
}), n.get(`${e}`, async (e, t) => {
|
|
250
|
+
let n = y();
|
|
251
|
+
t.raw.writeHead(200, {
|
|
252
|
+
"Content-Type": "text/event-stream",
|
|
253
|
+
"Cache-Control": "no-cache",
|
|
254
|
+
Connection: "keep-alive"
|
|
255
|
+
}), t.raw.write(c({
|
|
256
|
+
jsonrpc: "2.0",
|
|
257
|
+
method: "mcp/ready",
|
|
258
|
+
params: { protocol: "streamable-http" }
|
|
259
|
+
}, n, 15e3));
|
|
260
|
+
let r = setInterval(() => {
|
|
261
|
+
t.raw.write(": keep-alive\n\n");
|
|
262
|
+
}, 15e3);
|
|
263
|
+
e.raw.on("close", () => {
|
|
264
|
+
clearInterval(r);
|
|
265
|
+
});
|
|
266
|
+
}), n.delete(`${e}`, async (e, t) => t.status(405).send({ error: "Session termination not supported" }));
|
|
267
|
+
}
|
|
268
|
+
n.setErrorHandler(async (e, t, n) => (t.log.error(e, "Fastify cube adapter error"), n.statusCode < 400 && n.status(500), r(e instanceof Error ? e : String(e), n.statusCode))), x();
|
|
413
269
|
};
|
|
414
|
-
async function
|
|
415
|
-
|
|
270
|
+
async function x(e, t) {
|
|
271
|
+
await e.register(b, t);
|
|
416
272
|
}
|
|
417
|
-
function
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
});
|
|
421
|
-
return i.register(M, x), i;
|
|
273
|
+
function S(e) {
|
|
274
|
+
let t = n("fastify")({ logger: !0 });
|
|
275
|
+
return t.register(b, e), t;
|
|
422
276
|
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
M as cubePlugin,
|
|
426
|
-
Z as registerCubeRoutes
|
|
427
|
-
};
|
|
277
|
+
//#endregion
|
|
278
|
+
export { S as createCubeApp, b as cubePlugin, x as registerCubeRoutes };
|