drizzle-cube 0.5.8 → 0.6.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.
Files changed (388) hide show
  1. package/README.md +2 -0
  2. package/dist/adapters/adapters/hono/agent-handler.d.ts +9 -0
  3. package/dist/adapters/adapters/hono/mcp-handler.d.ts +37 -0
  4. package/dist/adapters/adapters/mcp-tools-handlers.d.ts +18 -0
  5. package/dist/adapters/adapters/nextjs/mcp-handler.d.ts +36 -0
  6. package/dist/adapters/adapters/utils.d.ts +6 -81
  7. package/dist/adapters/express/index.cjs +1 -1
  8. package/dist/adapters/express/index.js +50 -50
  9. package/dist/adapters/fastify/index.cjs +1 -1
  10. package/dist/adapters/fastify/index.js +78 -78
  11. package/dist/adapters/google-BOnRIN1w.cjs +2 -0
  12. package/dist/adapters/{google-CFYljAOF.js → google-CvKM9yVM.js} +83 -71
  13. package/dist/adapters/{handler-Cx8QYLk6.js → handler-CfgE0JSL.js} +499 -576
  14. package/dist/adapters/handler-Cn0dOctE.cjs +25 -0
  15. package/dist/adapters/hono/index.cjs +2 -2
  16. package/dist/adapters/hono/index.js +205 -175
  17. package/dist/adapters/locale-DDvZDFVn.js +8114 -0
  18. package/dist/adapters/locale-ZLUUNUxr.cjs +166 -0
  19. package/dist/adapters/mcp-tools.cjs +1 -1
  20. package/dist/adapters/mcp-tools.js +49 -38
  21. package/dist/adapters/mcp-transport-Chiaj4ll.cjs +40 -0
  22. package/dist/adapters/mcp-transport-H96VG3WY.js +591 -0
  23. package/dist/adapters/nextjs/index.cjs +1 -1
  24. package/dist/adapters/nextjs/index.js +190 -197
  25. package/dist/adapters/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
  26. package/dist/adapters/openai-vXvLni8v.cjs +1 -0
  27. package/dist/adapters/{utils-D9JPLmfl.js → utils-BPWZsX7k.js} +1271 -1218
  28. package/dist/adapters/utils-_whV4fXL.cjs +128 -0
  29. package/dist/adapters/utils.cjs +1 -1
  30. package/dist/adapters/utils.js +2 -2
  31. package/dist/client/charts/ChartLoader.d.ts +2 -16
  32. package/dist/client/charts/chartComponentRegistry.d.ts +46 -0
  33. package/dist/client/charts/chartConfigHelpers.d.ts +38 -0
  34. package/dist/client/charts.js +14 -13
  35. package/dist/client/chunks/{DashboardEditModal-CjCIAT-J.js → DashboardEditModal-okVfH8ZK.js} +5296 -4544
  36. package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +1 -0
  37. package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js → RetentionCombinedChart-BgbDhsPz.js} +10 -10
  38. package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js.map → RetentionCombinedChart-BgbDhsPz.js.map} +1 -1
  39. package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js → RetentionHeatmap-DjXZaTPq.js} +5 -5
  40. package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js.map → RetentionHeatmap-DjXZaTPq.js.map} +1 -1
  41. package/dist/client/chunks/analysis-builder-DB88FojM.js +5674 -0
  42. package/dist/client/chunks/analysis-builder-DB88FojM.js.map +1 -0
  43. package/dist/client/chunks/{analysis-builder-shared-CYVwSPqt.js → analysis-builder-shared-BVK4TYfR.js} +1578 -1292
  44. package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +1 -0
  45. package/dist/client/chunks/{chart-activity-grid-DmruKPab.js → chart-activity-grid-DX0SJbxs.js} +635 -492
  46. package/dist/client/chunks/chart-activity-grid-DX0SJbxs.js.map +1 -0
  47. package/dist/client/chunks/chart-area-of01_62R.js +775 -0
  48. package/dist/client/chunks/chart-area-of01_62R.js.map +1 -0
  49. package/dist/client/chunks/chart-bar-BqelQE_I.js +194 -0
  50. package/dist/client/chunks/chart-bar-BqelQE_I.js.map +1 -0
  51. package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js → chart-box-plot-kkBixZ27.js} +2 -2
  52. package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js.map → chart-box-plot-kkBixZ27.js.map} +1 -1
  53. package/dist/client/chunks/chart-bubble-B2he1--4.js +221 -0
  54. package/dist/client/chunks/chart-bubble-B2he1--4.js.map +1 -0
  55. package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js → chart-candlestick-DZp19Tzh.js} +2 -2
  56. package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js.map → chart-candlestick-DZp19Tzh.js.map} +1 -1
  57. package/dist/client/chunks/chart-config-area-BNigHUy8.js +124 -0
  58. package/dist/client/chunks/chart-config-area-BNigHUy8.js.map +1 -0
  59. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js +54 -0
  60. package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +1 -0
  61. package/dist/client/chunks/{chart-config-box-plot-DJ-dWWXA.js → chart-config-box-plot-oW8axV2q.js} +5 -10
  62. package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +1 -0
  63. package/dist/client/chunks/{chart-config-gauge-DSwC04l0.js → chart-config-gauge-Dq-_H9UN.js} +5 -7
  64. package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +1 -0
  65. package/dist/client/chunks/{chart-config-kpi-delta-D6BIkHL3.js → chart-config-kpi-delta-DSQbvqu_.js} +5 -10
  66. package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +1 -0
  67. package/dist/client/chunks/{chart-config-kpi-number-Bx-V9a62.js → chart-config-kpi-number-EFSWY1We.js} +5 -7
  68. package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +1 -0
  69. package/dist/client/chunks/{chart-config-kpi-text-CcqC1u-8.js → chart-config-kpi-text-KM3V5X2u.js} +5 -7
  70. package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +1 -0
  71. package/dist/client/chunks/{chart-config-line-Db3jDsWc.js → chart-config-line-D6jG8PCH.js} +9 -36
  72. package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +1 -0
  73. package/dist/client/chunks/{chart-config-pie-DD4SmRTF.js → chart-config-pie-BhzW-fdn.js} +6 -16
  74. package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +1 -0
  75. package/dist/client/chunks/{chart-config-radar-CC2XAaGr.js → chart-config-radar-D7REP1q_.js} +6 -16
  76. package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +1 -0
  77. package/dist/client/chunks/{chart-config-radial-bar-DmxKx1R0.js → chart-config-radial-bar-Byx6qOPU.js} +6 -16
  78. package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +1 -0
  79. package/dist/client/chunks/{chart-config-tree-map-BI-oQStO.js → chart-config-tree-map-DVrvf3yQ.js} +6 -16
  80. package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +1 -0
  81. package/dist/client/chunks/{chart-config-waterfall-DSnyixbI.js → chart-config-waterfall-DmFeQdIk.js} +5 -10
  82. package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +1 -0
  83. package/dist/client/chunks/{chart-data-table-BO4sXsim.js → chart-data-table-CKauQXme.js} +1046 -1121
  84. package/dist/client/chunks/chart-data-table-CKauQXme.js.map +1 -0
  85. package/dist/client/chunks/{chart-funnel-DnWRsmnS.js → chart-funnel-CToKSBaL.js} +184 -222
  86. package/dist/client/chunks/chart-funnel-CToKSBaL.js.map +1 -0
  87. package/dist/client/chunks/chart-gauge-DTVezSk7.js +403 -0
  88. package/dist/client/chunks/chart-gauge-DTVezSk7.js.map +1 -0
  89. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js +236 -0
  90. package/dist/client/chunks/chart-heat-map-DTuUl0BR.js.map +1 -0
  91. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js +408 -0
  92. package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js.map +1 -0
  93. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js +244 -0
  94. package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js.map +1 -0
  95. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js +185 -0
  96. package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js.map +1 -0
  97. package/dist/client/chunks/chart-line-DKgrQA6c.js +101 -0
  98. package/dist/client/chunks/chart-line-DKgrQA6c.js.map +1 -0
  99. package/dist/client/chunks/{chart-markdown-dgUetjyM.js → chart-markdown-CV75S_zL.js} +2 -2
  100. package/dist/client/chunks/{chart-markdown-dgUetjyM.js.map → chart-markdown-CV75S_zL.js.map} +1 -1
  101. package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js → chart-measure-profile-Ket8fJyf.js} +7 -7
  102. package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js.map → chart-measure-profile-Ket8fJyf.js.map} +1 -1
  103. package/dist/client/chunks/chart-pie-ByieAX5H.js +119 -0
  104. package/dist/client/chunks/chart-pie-ByieAX5H.js.map +1 -0
  105. package/dist/client/chunks/chart-radar-CiSwHWp4.js +138 -0
  106. package/dist/client/chunks/chart-radar-CiSwHWp4.js.map +1 -0
  107. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js +122 -0
  108. package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js.map +1 -0
  109. package/dist/client/chunks/{chart-sankey-M3XpO_ah.js → chart-sankey-DjrvKw6K.js} +36 -39
  110. package/dist/client/chunks/{chart-sankey-M3XpO_ah.js.map → chart-sankey-DjrvKw6K.js.map} +1 -1
  111. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js +258 -0
  112. package/dist/client/chunks/chart-scatter-Dd9WFqnS.js.map +1 -0
  113. package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js → chart-sunburst-leGpuDj7.js} +3 -3
  114. package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js.map → chart-sunburst-leGpuDj7.js.map} +1 -1
  115. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js +323 -0
  116. package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js.map +1 -0
  117. package/dist/client/chunks/{chart-waterfall-BuhMoagf.js → chart-waterfall-DyvQReN5.js} +7 -7
  118. package/dist/client/chunks/{chart-waterfall-BuhMoagf.js.map → chart-waterfall-DyvQReN5.js.map} +1 -1
  119. package/dist/client/chunks/{charts-core-jRtb0S2M.js → charts-core-DaXSt1Dd.js} +2 -2
  120. package/dist/client/chunks/{charts-core-jRtb0S2M.js.map → charts-core-DaXSt1Dd.js.map} +1 -1
  121. package/dist/client/chunks/charts-loader-DdTeCeNo.js +84 -0
  122. package/dist/client/chunks/charts-loader-DdTeCeNo.js.map +1 -0
  123. package/dist/client/chunks/{nl-NL-CpVs7ox3.js → nl-NL-2zTAWTej.js} +2 -1
  124. package/dist/client/chunks/{nl-NL-CpVs7ox3.js.map → nl-NL-2zTAWTej.js.map} +1 -1
  125. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  126. package/dist/client/chunks/{schema-visualization-DE09kQE3.js → schema-visualization-Cb_E9_Gd.js} +12 -12
  127. package/dist/client/chunks/{schema-visualization-DE09kQE3.js.map → schema-visualization-Cb_E9_Gd.js.map} +1 -1
  128. package/dist/client/chunks/{useDirtyStateTracking-CoeQbprt.js → useDirtyStateTracking-MbpxH_v6.js} +95 -84
  129. package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +1 -0
  130. package/dist/client/chunks/{useExplainAI-DlnXWdmz.js → useExplainAI-evnZkjCY.js} +14 -14
  131. package/dist/client/chunks/{useExplainAI-DlnXWdmz.js.map → useExplainAI-evnZkjCY.js.map} +1 -1
  132. package/dist/client/chunks/{utils-CTKNaXS8.js → utils-3P6z1vz5.js} +2 -2
  133. package/dist/client/chunks/{utils-CTKNaXS8.js.map → utils-3P6z1vz5.js.map} +1 -1
  134. package/dist/client/chunks/{vendor-CPIYyeuD.js → vendor-DSpR0IW6.js} +43 -43
  135. package/dist/client/chunks/{vendor-CPIYyeuD.js.map → vendor-DSpR0IW6.js.map} +1 -1
  136. package/dist/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
  137. package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
  138. package/dist/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
  139. package/dist/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
  140. package/dist/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
  141. package/dist/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
  142. package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
  143. package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
  144. package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
  145. package/dist/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
  146. package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
  147. package/dist/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
  148. package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
  149. package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
  150. package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
  151. package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
  152. package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
  153. package/dist/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
  154. package/dist/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
  155. package/dist/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
  156. package/dist/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
  157. package/dist/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
  158. package/dist/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
  159. package/dist/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
  160. package/dist/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +5 -0
  161. package/dist/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
  162. package/dist/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
  163. package/dist/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
  164. package/dist/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
  165. package/dist/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
  166. package/dist/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
  167. package/dist/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
  168. package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
  169. package/dist/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
  170. package/dist/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
  171. package/dist/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
  172. package/dist/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
  173. package/dist/client/components/DashboardPortletCard.d.ts +2 -57
  174. package/dist/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
  175. package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
  176. package/dist/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
  177. package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
  178. package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
  179. package/dist/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
  180. package/dist/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
  181. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
  182. package/dist/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
  183. package/dist/client/components/charts/ActivityGridChart.render.d.ts +31 -0
  184. package/dist/client/components/charts/AxisFormatControls.d.ts +3 -1
  185. package/dist/client/components/charts/BarChart.helpers.d.ts +23 -0
  186. package/dist/client/components/charts/BarSeries.d.ts +29 -0
  187. package/dist/client/components/charts/BubbleChart.helpers.d.ts +43 -0
  188. package/dist/client/components/charts/BubbleChart.render.d.ts +21 -0
  189. package/dist/client/components/charts/ChartStates.d.ts +38 -0
  190. package/dist/client/components/charts/FunnelChart.helpers.d.ts +25 -0
  191. package/dist/client/components/charts/FunnelViews.d.ts +16 -0
  192. package/dist/client/components/charts/HeatMapCanvas.d.ts +25 -0
  193. package/dist/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
  194. package/dist/client/components/charts/KpiDelta.helpers.d.ts +20 -0
  195. package/dist/client/components/charts/KpiNumber.helpers.d.ts +30 -0
  196. package/dist/client/components/charts/KpiStates.d.ts +19 -0
  197. package/dist/client/components/charts/ScatterChart.helpers.d.ts +43 -0
  198. package/dist/client/components/charts/ScatterSeries.d.ts +17 -0
  199. package/dist/client/components/charts/ScatterTooltip.d.ts +21 -0
  200. package/dist/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
  201. package/dist/client/components/charts/TreeMapContent.d.ts +24 -0
  202. package/dist/client/components/charts/TreeMapLegend.d.ts +13 -0
  203. package/dist/client/components/charts/cartesianChartHelpers.d.ts +126 -0
  204. package/dist/client/components/charts/chartAxisResolution.d.ts +32 -0
  205. package/dist/client/components/charts/chartScaffolding.d.ts +77 -0
  206. package/dist/client/components/charts/gaugeChartHelpers.d.ts +36 -0
  207. package/dist/client/components/charts/kpiTextHelpers.d.ts +46 -0
  208. package/dist/client/components/charts/radarChartHelpers.d.ts +14 -0
  209. package/dist/client/components/charts/radialBarChartHelpers.d.ts +22 -0
  210. package/dist/client/components/charts/useChartDimensions.d.ts +20 -0
  211. package/dist/client/components/charts/useKpiDimensions.d.ts +30 -0
  212. package/dist/client/components/dashboard/DashboardEditBar.d.ts +5 -0
  213. package/dist/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
  214. package/dist/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
  215. package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
  216. package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
  217. package/dist/client/components/dashboardPortletCard/filterField.d.ts +12 -0
  218. package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
  219. package/dist/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
  220. package/dist/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
  221. package/dist/client/components/shared/dateRangeUtils.d.ts +40 -0
  222. package/dist/client/components/shared/filterDisplayUtils.d.ts +10 -0
  223. package/dist/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
  224. package/dist/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
  225. package/dist/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
  226. package/dist/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
  227. package/dist/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
  228. package/dist/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
  229. package/dist/client/components/shared/queryFieldUtils.d.ts +21 -0
  230. package/dist/client/components/shared/utils.d.ts +4 -43
  231. package/dist/client/components.js +3 -3
  232. package/dist/client/hooks/agentChatStream.d.ts +39 -0
  233. package/dist/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
  234. package/dist/client/hooks/drillNavigation.d.ts +25 -0
  235. package/dist/client/hooks.js +3 -3
  236. package/dist/client/icons.js +2 -2
  237. package/dist/client/index.js +816 -669
  238. package/dist/client/index.js.map +1 -1
  239. package/dist/client/providers.js +3 -3
  240. package/dist/client/schema.js +1 -1
  241. package/dist/client/shared/chartConfigBuilders.d.ts +18 -0
  242. package/dist/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
  243. package/dist/client/shared/queryTransforms.d.ts +20 -0
  244. package/dist/client/shared/utils.d.ts +2 -4
  245. package/dist/client/stores/optionsToAnalysisConfig.d.ts +17 -0
  246. package/dist/client/styles.css +1 -1
  247. package/dist/client/utils/axisValueFormatting.d.ts +32 -0
  248. package/dist/client/utils/timeValueFormatting.d.ts +32 -0
  249. package/dist/client/utils.js +6 -6
  250. package/dist/client-bundle-stats.html +1 -1
  251. package/dist/mcp-app/mcp-app.html +55 -55
  252. package/dist/server/google-BOnRIN1w.cjs +2 -0
  253. package/dist/server/{google-CFYljAOF.js → google-CvKM9yVM.js} +83 -71
  254. package/dist/server/index.cjs +179 -211
  255. package/dist/server/index.js +6330 -6458
  256. package/dist/server/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
  257. package/dist/server/openai-vXvLni8v.cjs +1 -0
  258. package/dist/server/server/adapters/base-adapter.d.ts +80 -35
  259. package/dist/server/server/adapters/databend-adapter.d.ts +8 -59
  260. package/dist/server/server/adapters/duckdb-adapter.d.ts +5 -59
  261. package/dist/server/server/adapters/mysql-adapter.d.ts +13 -70
  262. package/dist/server/server/adapters/postgres-adapter.d.ts +1 -65
  263. package/dist/server/server/adapters/snowflake-adapter.d.ts +5 -68
  264. package/dist/server/server/adapters/sqlite-adapter.d.ts +12 -32
  265. package/dist/server/server/adapters/window-function-builder.d.ts +11 -0
  266. package/dist/server/server/agent/chart-validation.d.ts +0 -5
  267. package/dist/server/server/agent/handler-steps.d.ts +37 -0
  268. package/dist/server/server/ai/discovery-helpers.d.ts +29 -0
  269. package/dist/server/server/ai/discovery.d.ts +4 -0
  270. package/dist/server/server/ai/suggestion-helpers.d.ts +33 -0
  271. package/dist/server/server/ai/suggestion.d.ts +0 -3
  272. package/dist/server/server/ai/validation-helpers.d.ts +21 -0
  273. package/dist/server/server/ai/validation.d.ts +0 -3
  274. package/dist/server/server/builders/analysis-utils.d.ts +106 -0
  275. package/dist/server/server/builders/cte-builder.d.ts +46 -0
  276. package/dist/server/server/builders/date-time-builder.d.ts +5 -0
  277. package/dist/server/server/builders/date-time-helpers.d.ts +34 -0
  278. package/dist/server/server/builders/filter-builder.d.ts +2 -0
  279. package/dist/server/server/builders/filter-operators.d.ts +23 -0
  280. package/dist/server/server/builders/flow-query-builder.d.ts +46 -19
  281. package/dist/server/server/builders/funnel-query-builder.d.ts +16 -5
  282. package/dist/server/server/builders/group-by-builder.d.ts +11 -0
  283. package/dist/server/server/builders/measure-builder.d.ts +43 -0
  284. package/dist/server/server/builders/retention-query-builder.d.ts +12 -14
  285. package/dist/server/server/cache-utils.d.ts +25 -5
  286. package/dist/server/server/compiler-metadata.d.ts +11 -0
  287. package/dist/server/server/compiler.d.ts +8 -14
  288. package/dist/server/server/cube-utils.d.ts +29 -4
  289. package/dist/server/server/execution/annotation-builder.d.ts +12 -0
  290. package/dist/server/server/execution/filter-cache-preloader.d.ts +19 -0
  291. package/dist/server/server/execution/mode-router.d.ts +25 -0
  292. package/dist/server/server/execution/query-result-cache.d.ts +21 -0
  293. package/dist/server/server/execution/result-post-processor.d.ts +10 -0
  294. package/dist/server/server/executor.d.ts +33 -30
  295. package/dist/server/server/executors/explain-utils.d.ts +28 -0
  296. package/dist/server/server/explain/explain-tree.d.ts +20 -0
  297. package/dist/server/server/filter-cache.d.ts +2 -2
  298. package/dist/server/server/gap-filler.d.ts +6 -0
  299. package/dist/server/server/index.d.ts +3 -1
  300. package/dist/server/server/logical-plan/cte-planner-helpers.d.ts +37 -0
  301. package/dist/server/server/logical-plan/cte-planner.d.ts +104 -0
  302. package/dist/server/server/logical-plan/filter-propagation.d.ts +44 -0
  303. package/dist/server/server/logical-plan/index.d.ts +6 -1
  304. package/dist/server/server/logical-plan/join-planner.d.ts +27 -0
  305. package/dist/server/server/logical-plan/logical-planner.d.ts +7 -200
  306. package/dist/server/server/logical-plan/optimiser.d.ts +3 -1
  307. package/dist/server/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
  308. package/dist/server/server/logical-plan/planner-utils.d.ts +20 -0
  309. package/dist/server/server/logical-plan/types.d.ts +17 -9
  310. package/dist/server/server/measure-classification.d.ts +40 -0
  311. package/dist/server/server/physical-plan/drizzle-plan-builder.d.ts +21 -21
  312. package/dist/server/server/physical-plan/drizzle-sql-builder.d.ts +11 -0
  313. package/dist/server/server/physical-plan/processors/index.d.ts +2 -0
  314. package/dist/server/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
  315. package/dist/server/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
  316. package/dist/server/server/physical-plan/processors/shared.d.ts +5 -0
  317. package/dist/server/server/query-handlers.d.ts +79 -0
  318. package/dist/server/server/query-modes.d.ts +28 -0
  319. package/dist/server/server/query-validator.d.ts +9 -0
  320. package/dist/server/server/resolvers/calculated-measure-resolver.d.ts +5 -0
  321. package/dist/server/server/resolvers/join-path-resolver.d.ts +6 -0
  322. package/dist/server/server/sql-format.d.ts +11 -0
  323. package/dist/server/server/types/cube.d.ts +18 -4
  324. package/dist/server/server/types/flow.d.ts +6 -5
  325. package/dist/server/server/types/index.d.ts +1 -1
  326. package/dist/server/server/types/validation.d.ts +14 -0
  327. package/package.json +11 -4
  328. package/dist/adapters/google-DUlXeeDA.cjs +0 -2
  329. package/dist/adapters/handler-CzbCuS6_.cjs +0 -25
  330. package/dist/adapters/locale-BPB7flIG.js +0 -8249
  331. package/dist/adapters/locale-tIMrNcCr.cjs +0 -198
  332. package/dist/adapters/mcp-transport-C2QzXm6h.cjs +0 -40
  333. package/dist/adapters/mcp-transport-D0B3S1tB.js +0 -579
  334. package/dist/adapters/openai-D_U4V0kT.cjs +0 -1
  335. package/dist/adapters/utils-KV37IBIv.cjs +0 -128
  336. package/dist/client/chunks/DashboardEditModal-CjCIAT-J.js.map +0 -1
  337. package/dist/client/chunks/analysis-builder-MuMIzoRq.js +0 -5367
  338. package/dist/client/chunks/analysis-builder-MuMIzoRq.js.map +0 -1
  339. package/dist/client/chunks/analysis-builder-shared-CYVwSPqt.js.map +0 -1
  340. package/dist/client/chunks/chart-activity-grid-DmruKPab.js.map +0 -1
  341. package/dist/client/chunks/chart-area-DHCPM4Em.js +0 -450
  342. package/dist/client/chunks/chart-area-DHCPM4Em.js.map +0 -1
  343. package/dist/client/chunks/chart-bar-KddciGDv.js +0 -271
  344. package/dist/client/chunks/chart-bar-KddciGDv.js.map +0 -1
  345. package/dist/client/chunks/chart-bubble-CfqiB538.js +0 -273
  346. package/dist/client/chunks/chart-bubble-CfqiB538.js.map +0 -1
  347. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js +0 -101
  348. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js.map +0 -1
  349. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js +0 -95
  350. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js.map +0 -1
  351. package/dist/client/chunks/chart-config-box-plot-DJ-dWWXA.js.map +0 -1
  352. package/dist/client/chunks/chart-config-gauge-DSwC04l0.js.map +0 -1
  353. package/dist/client/chunks/chart-config-kpi-delta-D6BIkHL3.js.map +0 -1
  354. package/dist/client/chunks/chart-config-kpi-number-Bx-V9a62.js.map +0 -1
  355. package/dist/client/chunks/chart-config-kpi-text-CcqC1u-8.js.map +0 -1
  356. package/dist/client/chunks/chart-config-line-Db3jDsWc.js.map +0 -1
  357. package/dist/client/chunks/chart-config-pie-DD4SmRTF.js.map +0 -1
  358. package/dist/client/chunks/chart-config-radar-CC2XAaGr.js.map +0 -1
  359. package/dist/client/chunks/chart-config-radial-bar-DmxKx1R0.js.map +0 -1
  360. package/dist/client/chunks/chart-config-tree-map-BI-oQStO.js.map +0 -1
  361. package/dist/client/chunks/chart-config-waterfall-DSnyixbI.js.map +0 -1
  362. package/dist/client/chunks/chart-data-table-BO4sXsim.js.map +0 -1
  363. package/dist/client/chunks/chart-funnel-DnWRsmnS.js.map +0 -1
  364. package/dist/client/chunks/chart-gauge-CgMeqeGb.js +0 -424
  365. package/dist/client/chunks/chart-gauge-CgMeqeGb.js.map +0 -1
  366. package/dist/client/chunks/chart-heat-map-DcGm9SWK.js +0 -231
  367. package/dist/client/chunks/chart-heat-map-DcGm9SWK.js.map +0 -1
  368. package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js +0 -343
  369. package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js.map +0 -1
  370. package/dist/client/chunks/chart-kpi-number-gWYF44ol.js +0 -322
  371. package/dist/client/chunks/chart-kpi-number-gWYF44ol.js.map +0 -1
  372. package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js +0 -149
  373. package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js.map +0 -1
  374. package/dist/client/chunks/chart-line-9BEGN5Ti.js +0 -433
  375. package/dist/client/chunks/chart-line-9BEGN5Ti.js.map +0 -1
  376. package/dist/client/chunks/chart-pie-BjAIhyOi.js +0 -172
  377. package/dist/client/chunks/chart-pie-BjAIhyOi.js.map +0 -1
  378. package/dist/client/chunks/chart-radar-Dgkcl2bN.js +0 -154
  379. package/dist/client/chunks/chart-radar-Dgkcl2bN.js.map +0 -1
  380. package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js +0 -148
  381. package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js.map +0 -1
  382. package/dist/client/chunks/chart-scatter-DaHYP_OL.js +0 -255
  383. package/dist/client/chunks/chart-scatter-DaHYP_OL.js.map +0 -1
  384. package/dist/client/chunks/chart-tree-map-uiwUU4nb.js +0 -298
  385. package/dist/client/chunks/chart-tree-map-uiwUU4nb.js.map +0 -1
  386. package/dist/client/chunks/useDirtyStateTracking-CoeQbprt.js.map +0 -1
  387. package/dist/server/google-DUlXeeDA.cjs +0 -2
  388. package/dist/server/openai-D_U4V0kT.cjs +0 -1
@@ -1,8 +1,8 @@
1
- import { a as e, f as t, i as n, o as r, r as i, u as a, w as o } from "../utils-D9JPLmfl.js";
2
- import { i as s, n as c, r as l, t as u } from "../locale-BPB7flIG.js";
3
- import { C as d, S as f, _ as p, a as m, b as h, c as g, g as _, h as v, i as y, l as b, m as x, o as S, r as C, u as w, v as T, x as E, y as D } from "../mcp-transport-D0B3S1tB.js";
1
+ import { a as e, i as t, k as n, l as r, o as i, r as a, u as o } from "../utils-BPWZsX7k.js";
2
+ import { i as s, n as c, r as l, t as u } from "../locale-DDvZDFVn.js";
3
+ import { C as d, S as f, _ as p, a as m, b as h, c as g, g as _, h as v, i as y, l as b, m as x, o as S, r as C, u as w, v as T, x as E, y as D } from "../mcp-transport-H96VG3WY.js";
4
4
  //#region src/adapters/fastify/index.ts
5
- var O = function(o, O, k) {
5
+ var O = function(n, O, k) {
6
6
  let { cubes: A, drizzle: j, schema: M, extractSecurityContext: N, engineType: P, cors: F, basePath: I = "/cubejs-api/v1", bodyLimit: L = 10485760, cache: R, mcp: z = { enabled: !0 }, agent: B } = O;
7
7
  if (!A || A.length === 0) return k(/* @__PURE__ */ Error("At least one cube must be provided in the cubes array"));
8
8
  let V = async (e) => l(await N(e), c((t) => e.headers[t.toLowerCase()]));
@@ -11,9 +11,9 @@ var O = function(o, O, k) {
11
11
  ...F,
12
12
  allowedHeaders: u(F.allowedHeaders)
13
13
  };
14
- o.register(import("@fastify/cors"), e);
14
+ n.register(import("@fastify/cors"), e);
15
15
  }
16
- o.addHook("onRequest", async (e, t) => {
16
+ n.addHook("onRequest", async (e, t) => {
17
17
  e.method === "POST" && (e.body = void 0);
18
18
  });
19
19
  let H = new s({
@@ -25,41 +25,41 @@ var O = function(o, O, k) {
25
25
  });
26
26
  if (A.forEach((e) => {
27
27
  H.registerCube(e);
28
- }), o.post(`${I}/load`, {
28
+ }), n.post(`${I}/load`, {
29
29
  bodyLimit: L,
30
30
  schema: { body: {
31
31
  type: "object",
32
32
  additionalProperties: !0
33
33
  } }
34
- }, async (e, t) => {
34
+ }, async (e, n) => {
35
35
  try {
36
- let r = e.body, a = r.query || r, o = await V(e), s = H.validateQuery(a);
37
- if (!s.isValid) return t.status(400).send(n(`Query validation failed: ${s.errors.join(", ")}`, 400));
36
+ let r = e.body, i = r.query || r, o = await V(e), s = H.validateQuery(i);
37
+ if (!s.isValid) return n.status(400).send(t(`Query validation failed: ${s.errors.join(", ")}`, 400));
38
38
  let c = e.headers["x-cache-control"] === "no-cache";
39
- return i(a, await H.executeMultiCubeQuery(a, o, { skipCache: c }), H);
39
+ return a(i, await H.executeMultiCubeQuery(i, o, { skipCache: c }), H);
40
40
  } catch (r) {
41
- return e.log.error(r, "Query execution error"), t.status(500).send(n(r instanceof Error ? r.message : "Query execution failed", 500));
41
+ return e.log.error(r, "Query execution error"), n.status(500).send(t(r instanceof Error ? r.message : "Query execution failed", 500));
42
42
  }
43
- }), o.get(`${I}/load`, { schema: { querystring: {
43
+ }), n.get(`${I}/load`, { schema: { querystring: {
44
44
  type: "object",
45
45
  properties: { query: { type: "string" } },
46
46
  required: ["query"]
47
- } } }, async (e, t) => {
47
+ } } }, async (e, n) => {
48
48
  try {
49
- let { query: r } = e.query, a;
49
+ let { query: r } = e.query, i;
50
50
  try {
51
- a = JSON.parse(r);
51
+ i = JSON.parse(r);
52
52
  } catch {
53
- return t.status(400).send(n("Invalid JSON in query parameter", 400));
53
+ return n.status(400).send(t("Invalid JSON in query parameter", 400));
54
54
  }
55
- let o = await V(e), s = H.validateQuery(a);
56
- if (!s.isValid) return t.status(400).send(n(`Query validation failed: ${s.errors.join(", ")}`, 400));
57
- let c = e.headers["x-cache-control"] === "no-cache", l = await H.executeMultiCubeQuery(a, o, { skipCache: c });
58
- return i(a, l, H);
55
+ let o = await V(e), s = H.validateQuery(i);
56
+ if (!s.isValid) return n.status(400).send(t(`Query validation failed: ${s.errors.join(", ")}`, 400));
57
+ let c = e.headers["x-cache-control"] === "no-cache", l = await H.executeMultiCubeQuery(i, o, { skipCache: c });
58
+ return a(i, l, H);
59
59
  } catch (r) {
60
- return e.log.error(r, "Query execution error"), t.status(500).send(n(r instanceof Error ? r.message : "Query execution failed", 500));
60
+ return e.log.error(r, "Query execution error"), n.status(500).send(t(r instanceof Error ? r.message : "Query execution failed", 500));
61
61
  }
62
- }), o.post(`${I}/batch`, {
62
+ }), n.post(`${I}/batch`, {
63
63
  bodyLimit: L,
64
64
  schema: { body: {
65
65
  type: "object",
@@ -69,82 +69,82 @@ var O = function(o, O, k) {
69
69
  items: { type: "object" }
70
70
  } }
71
71
  } }
72
- }, async (e, t) => {
72
+ }, async (e, n) => {
73
73
  try {
74
- let { queries: r } = e.body;
75
- return !r || !Array.isArray(r) ? t.status(400).send(n("Request body must contain a \"queries\" array", 400)) : r.length === 0 ? t.status(400).send(n("Queries array cannot be empty", 400)) : await a(r, await V(e), H, { skipCache: e.headers["x-cache-control"] === "no-cache" });
74
+ let { queries: i } = e.body;
75
+ return !i || !Array.isArray(i) ? n.status(400).send(t("Request body must contain a \"queries\" array", 400)) : i.length === 0 ? n.status(400).send(t("Queries array cannot be empty", 400)) : await r(i, await V(e), H, { skipCache: e.headers["x-cache-control"] === "no-cache" });
76
76
  } catch (r) {
77
- return e.log.error(r, "Batch execution error"), t.status(500).send(n(r instanceof Error ? r.message : "Batch execution failed", 500));
77
+ return e.log.error(r, "Batch execution error"), n.status(500).send(t(r instanceof Error ? r.message : "Batch execution failed", 500));
78
78
  }
79
- }), o.get(`${I}/meta`, async (t, r) => {
79
+ }), n.get(`${I}/meta`, async (n, r) => {
80
80
  try {
81
81
  return e(H.getMetadata());
82
82
  } catch (e) {
83
- return t.log.error(e, "Metadata error"), r.status(500).send(n(e instanceof Error ? e.message : "Failed to fetch metadata", 500));
83
+ return n.log.error(e, "Metadata error"), r.status(500).send(t(e instanceof Error ? e.message : "Failed to fetch metadata", 500));
84
84
  }
85
- }), o.post(`${I}/sql`, {
85
+ }), n.post(`${I}/sql`, {
86
86
  bodyLimit: L,
87
87
  schema: { body: {
88
88
  type: "object",
89
89
  additionalProperties: !0
90
90
  } }
91
- }, async (e, t) => {
91
+ }, async (e, n) => {
92
92
  try {
93
- let i = e.body, a = await V(e), o = H.validateQuery(i);
94
- if (!o.isValid) return t.status(400).send(n(`Query validation failed: ${o.errors.join(", ")}`, 400));
95
- let s = i.measures?.[0] || i.dimensions?.[0];
96
- if (!s) return t.status(400).send(n("No measures or dimensions specified", 400));
93
+ let r = e.body, a = await V(e), o = H.validateQuery(r);
94
+ if (!o.isValid) return n.status(400).send(t(`Query validation failed: ${o.errors.join(", ")}`, 400));
95
+ let s = r.measures?.[0] || r.dimensions?.[0];
96
+ if (!s) return n.status(400).send(t("No measures or dimensions specified", 400));
97
97
  let c = s.split(".")[0];
98
- return r(i, await H.generateSQL(c, i, a));
98
+ return i(r, await H.generateSQL(c, r, a));
99
99
  } catch (r) {
100
- return e.log.error({ err: String(r).replace(/\n|\r/g, "") }, "SQL generation error"), t.status(500).send(n(r instanceof Error ? r.message : "SQL generation failed", 500));
100
+ return e.log.error({ err: String(r).replace(/\n|\r/g, "") }, "SQL generation error"), n.status(500).send(t(r instanceof Error ? r.message : "SQL generation failed", 500));
101
101
  }
102
- }), o.get(`${I}/sql`, { schema: { querystring: {
102
+ }), n.get(`${I}/sql`, { schema: { querystring: {
103
103
  type: "object",
104
104
  properties: { query: { type: "string" } },
105
105
  required: ["query"]
106
- } } }, async (e, t) => {
106
+ } } }, async (e, n) => {
107
107
  try {
108
- let { query: i } = e.query, a = JSON.parse(i), o = await V(e), s = H.validateQuery(a);
109
- if (!s.isValid) return t.status(400).send(n(`Query validation failed: ${s.errors.join(", ")}`, 400));
108
+ let { query: r } = e.query, a = JSON.parse(r), o = await V(e), s = H.validateQuery(a);
109
+ if (!s.isValid) return n.status(400).send(t(`Query validation failed: ${s.errors.join(", ")}`, 400));
110
110
  let c = a.measures?.[0] || a.dimensions?.[0];
111
- if (!c) return t.status(400).send(n("No measures or dimensions specified", 400));
111
+ if (!c) return n.status(400).send(t("No measures or dimensions specified", 400));
112
112
  let l = c.split(".")[0];
113
- return r(a, await H.generateSQL(l, a, o));
113
+ return i(a, await H.generateSQL(l, a, o));
114
114
  } catch (r) {
115
- return e.log.error({ err: String(r).replace(/\n|\r/g, "") }, "SQL generation error"), t.status(500).send(n(r instanceof Error ? r.message : "SQL generation failed", 500));
115
+ return e.log.error({ err: String(r).replace(/\n|\r/g, "") }, "SQL generation error"), n.status(500).send(t(r instanceof Error ? r.message : "SQL generation failed", 500));
116
116
  }
117
- }), o.post(`${I}/dry-run`, {
117
+ }), n.post(`${I}/dry-run`, {
118
118
  bodyLimit: L,
119
119
  schema: { body: {
120
120
  type: "object",
121
121
  additionalProperties: !0
122
122
  } }
123
- }, async (e, n) => {
123
+ }, async (e, t) => {
124
124
  try {
125
- let n = e.body;
126
- return await t(n.query || n, await V(e), H);
127
- } catch (t) {
128
- return e.log.error(t, "Dry-run error"), n.status(400).send({
129
- error: t instanceof Error ? t.message : "Dry-run validation failed",
125
+ let t = e.body;
126
+ return await o(t.query || t, await V(e), H);
127
+ } catch (n) {
128
+ return e.log.error(n, "Dry-run error"), t.status(400).send({
129
+ error: n instanceof Error ? n.message : "Dry-run validation failed",
130
130
  valid: !1
131
131
  });
132
132
  }
133
- }), o.get(`${I}/dry-run`, { schema: { querystring: {
133
+ }), n.get(`${I}/dry-run`, { schema: { querystring: {
134
134
  type: "object",
135
135
  properties: { query: { type: "string" } },
136
136
  required: ["query"]
137
- } } }, async (e, n) => {
137
+ } } }, async (e, t) => {
138
138
  try {
139
- let { query: n } = e.query;
140
- return await t(JSON.parse(n), await V(e), H);
141
- } catch (t) {
142
- return e.log.error(t, "Dry-run error"), n.status(400).send({
143
- error: t instanceof Error ? t.message : "Dry-run validation failed",
139
+ let { query: t } = e.query;
140
+ return await o(JSON.parse(t), await V(e), H);
141
+ } catch (n) {
142
+ return e.log.error(n, "Dry-run error"), t.status(400).send({
143
+ error: n instanceof Error ? n.message : "Dry-run validation failed",
144
144
  valid: !1
145
145
  });
146
146
  }
147
- }), o.post(`${I}/explain`, {
147
+ }), n.post(`${I}/explain`, {
148
148
  bodyLimit: L,
149
149
  schema: { body: {
150
150
  type: "object",
@@ -157,7 +157,7 @@ var O = function(o, O, k) {
157
157
  } catch (n) {
158
158
  return e.log.error(n, "Explain error"), t.status(500).send({ error: n instanceof Error ? n.message : "Explain query failed" });
159
159
  }
160
- }), B && o.post(`${I}/agent/chat`, {
160
+ }), B && n.post(`${I}/agent/chat`, {
161
161
  bodyLimit: L,
162
162
  schema: { body: {
163
163
  type: "object",
@@ -165,7 +165,7 @@ var O = function(o, O, k) {
165
165
  } }
166
166
  }, async (e, t) => {
167
167
  try {
168
- let { handleAgentChat: n } = await import("../handler-Cx8QYLk6.js"), { message: r, sessionId: i, history: a } = e.body;
168
+ let { handleAgentChat: n } = await import("../handler-CfgE0JSL.js"), { message: r, sessionId: i, history: a } = e.body;
169
169
  if (!r || typeof r != "string") return t.status(400).send({ error: "message is required and must be a string" });
170
170
  let o = (B.apiKey || "").trim();
171
171
  if (B.allowClientApiKey) {
@@ -207,37 +207,37 @@ var O = function(o, O, k) {
207
207
  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" });
208
208
  }
209
209
  }), z.enabled !== !1) {
210
- let e = S(H, z.resources), t = D(z.prompts), n = T(z.instructions), r = z.basePath ?? "/mcp";
211
- o.post(`${r}`, {
210
+ let e = S(H, z.resources), t = D(z.prompts), r = T(z.instructions), i = z.basePath ?? "/mcp";
211
+ n.post(`${i}`, {
212
212
  bodyLimit: L,
213
213
  schema: { body: {
214
214
  type: "object",
215
215
  additionalProperties: !0
216
216
  } }
217
- }, async (r, i) => {
218
- if (z.resourceMetadataUrl && !w(r.headers.authorization)) return i.header("WWW-Authenticate", g(z.resourceMetadataUrl)), i.status(401).send({ error: "Bearer token required" });
219
- let a = f(r.headers.origin, z.allowedOrigins ? { allowedOrigins: z.allowedOrigins } : {});
217
+ }, async (n, i) => {
218
+ if (z.resourceMetadataUrl && !w(n.headers.authorization)) return i.header("WWW-Authenticate", g(z.resourceMetadataUrl)), i.status(401).send({ error: "Bearer token required" });
219
+ let a = f(n.headers.origin, z.allowedOrigins ? { allowedOrigins: z.allowedOrigins } : {});
220
220
  if (!a.valid) return i.status(403).send(y(null, -32600, a.reason));
221
- let o = r.headers.accept;
221
+ let o = n.headers.accept;
222
222
  if (!E(o)) return i.status(400).send(y(null, -32600, "Accept header must include both application/json and text/event-stream"));
223
- let s = v(r.headers);
223
+ let s = v(n.headers);
224
224
  if (!s.ok) return i.status(426).send({
225
225
  error: "Unsupported MCP protocol version",
226
226
  supported: s.supported
227
227
  });
228
- let c = _(r.body);
228
+ let c = _(n.body);
229
229
  if (!c) return i.status(400).send(y(null, -32600, "Invalid JSON-RPC 2.0 request"));
230
230
  let l = d(o), u = c.method === "initialize";
231
231
  try {
232
232
  let a = await b(c.method, c.params, {
233
233
  semanticLayer: H,
234
234
  extractSecurityContext: (e, t) => V(e),
235
- rawRequest: r,
235
+ rawRequest: n,
236
236
  rawResponse: i,
237
237
  negotiatedProtocol: s.negotiated,
238
238
  resources: e,
239
239
  prompts: t,
240
- instructions: n,
240
+ instructions: r,
241
241
  appEnabled: !!z.app,
242
242
  appConfig: typeof z.app == "object" ? z.app : void 0,
243
243
  serverName: z.serverName
@@ -253,9 +253,9 @@ var O = function(o, O, k) {
253
253
  }
254
254
  return i.send(d);
255
255
  } catch (e) {
256
- if (x(c)) return r.log.error({ err: String(e).replace(/\n|\r/g, "") }, "MCP notification processing error"), i.status(202).send();
257
- r.log.error({ err: String(e).replace(/\n|\r/g, "") }, "MCP RPC error");
258
- let t = e?.code ?? -32603, n = e?.data, a = e.message || "MCP request failed", o = y(c.id ?? null, t, a, n);
256
+ if (x(c)) return n.log.error({ err: String(e).replace(/\n|\r/g, "") }, "MCP notification processing error"), i.status(202).send();
257
+ n.log.error({ err: String(e).replace(/\n|\r/g, "") }, "MCP RPC error");
258
+ let t = e?.code ?? -32603, r = e?.data, a = e.message || "MCP request failed", o = y(c.id ?? null, t, a, r);
259
259
  if (l) {
260
260
  let e = p();
261
261
  i.header("Content-Type", "text/event-stream").header("Cache-Control", "no-cache").header("Connection", "keep-alive").send(`id: ${e}\n\n${h(o, e)}`);
@@ -263,7 +263,7 @@ var O = function(o, O, k) {
263
263
  }
264
264
  return i.send(o);
265
265
  }
266
- }), o.get(`${r}`, async (e, t) => {
266
+ }), n.get(`${i}`, async (e, t) => {
267
267
  if (z.resourceMetadataUrl && !w(e.headers.authorization)) return t.header("WWW-Authenticate", g(z.resourceMetadataUrl)), t.status(401).send({ error: "Bearer token required" });
268
268
  let n = p();
269
269
  t.raw.writeHead(200, {
@@ -281,15 +281,15 @@ var O = function(o, O, k) {
281
281
  e.raw.on("close", () => {
282
282
  clearInterval(r);
283
283
  });
284
- }), o.delete(`${r}`, async (e, t) => z.resourceMetadataUrl && !w(e.headers.authorization) ? (t.header("WWW-Authenticate", g(z.resourceMetadataUrl)), t.status(401).send({ error: "Bearer token required" })) : t.status(405).send({ error: "Session termination not supported" }));
284
+ }), n.delete(`${i}`, async (e, t) => z.resourceMetadataUrl && !w(e.headers.authorization) ? (t.header("WWW-Authenticate", g(z.resourceMetadataUrl)), t.status(401).send({ error: "Bearer token required" })) : t.status(405).send({ error: "Session termination not supported" }));
285
285
  }
286
- o.setErrorHandler(async (e, t, r) => (t.log.error(e, "Fastify cube adapter error"), r.statusCode < 400 && r.status(500), n(e instanceof Error ? e : String(e), r.statusCode))), k();
286
+ n.setErrorHandler(async (e, n, r) => (n.log.error(e, "Fastify cube adapter error"), r.statusCode < 400 && r.status(500), t(e instanceof Error ? e : String(e), r.statusCode))), k();
287
287
  };
288
288
  async function k(e, t) {
289
289
  await e.register(O, t);
290
290
  }
291
291
  function A(e) {
292
- let t = o("fastify")({ logger: !0 });
292
+ let t = n("fastify")({ logger: !0 });
293
293
  return t.register(O, e), t;
294
294
  }
295
295
  //#endregion
@@ -0,0 +1,2 @@
1
+ function e(t){let n={};for(let[r,i]of Object.entries(t))if(r===`type`&&typeof i==`string`)n[r]=i.toUpperCase();else if(r===`properties`&&typeof i==`object`&&i){let t={};for(let[n,r]of Object.entries(i))typeof r==`object`&&r?t[n]=e(r):t[n]=r;n[r]=t}else r===`items`&&typeof i==`object`&&i?n[r]=e(i):n[r]=i;return n}function t(e){return e===`STOP`?`stop`:e===`MAX_TOKENS`?`max_tokens`:e}function*n(e){if(e.text&&!e.thought&&(yield{type:`text_delta`,text:e.text}),e.functionCall){let t=`gemini-tc-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,n=e.thoughtSignature?{thoughtSignature:e.thoughtSignature}:void 0;yield{type:`tool_use_start`,id:t,name:e.functionCall.name,...n?{metadata:n}:{}},yield{type:`tool_input_delta`,json:JSON.stringify(e.functionCall.args||{})},yield{type:`tool_use_end`}}}function r(e){let t=e._toolResults;if(t&&t.length>0)return{role:`user`,parts:t.map(e=>({functionResponse:{name:e.toolName||e.toolUseId,response:{content:e.content,isError:e.isError||!1}}}))};let n=typeof e.content==`string`?e.content:JSON.stringify(e.content);return n?{role:`user`,parts:[{text:n}]}:null}function i(e){let t=[];for(let n of e)if(n.type===`text`&&n.text)t.push({text:n.text});else if(n.type===`tool_use`){let e={functionCall:{name:n.name,args:n.input||{}}};n.metadata?.thoughtSignature&&(e.thoughtSignature=n.metadata.thoughtSignature),t.push(e)}return t}function a(e){if(e.role===`tool_result`)return r(e);if(e.role===`user`)return{role:`user`,parts:[{text:typeof e.content==`string`?e.content:JSON.stringify(e.content)}]};if(e.role===`assistant`){if(typeof e.content==`string`)return{role:`model`,parts:[{text:e.content}]};let t=i(e.content);return t.length>0?{role:`model`,parts:t}:null}return null}var o=class{apiKey;sdk;initialized=!1;constructor(e){this.apiKey=e}async ensureSDK(){if(!this.initialized){try{this.sdk=await Promise.resolve().then(()=>require("./dist-BOdf-GQO.cjs"))}catch{throw Error(`@google/generative-ai is required for the Google provider. Install it with: npm install @google/generative-ai`)}this.initialized=!0}}async createStream(e){await this.ensureSDK();let{GoogleGenerativeAI:t}=this.sdk,n=new t(this.apiKey).getGenerativeModel({model:e.model,systemInstruction:e.system,generationConfig:{maxOutputTokens:e.maxTokens}}),{messages:r}=this.formatMessages(e.messages,e.system),i=this.formatTools(e.tools);return(await n.generateContentStream({contents:r,tools:i.length>0?[{functionDeclarations:i}]:void 0})).stream}async*parseStreamEvents(e){let r=`stop`,i=!1;for await(let a of e){let e=a;e.usageMetadata&&(yield{type:`message_meta`,inputTokens:e.usageMetadata.promptTokenCount,outputTokens:e.usageMetadata.candidatesTokenCount,stopReason:``});let o=e.candidates?.[0];if(!o)continue;o.finishReason&&(r=t(o.finishReason));let s=o.content?.parts;if(s)for(let e of s)for(let t of n(e))t.type===`tool_use_start`&&(i=!0),yield t}yield{type:`message_meta`,stopReason:i?`tool_use`:r}}formatTools(t){return t.map(t=>({name:t.name,description:t.description,parameters:e(t.parameters)}))}formatMessages(e,t){let n=[];for(let t of e){let e=a(t);e&&n.push(e)}return{messages:n}}formatToolResults(e){return{role:`tool_result`,content:e.map(e=>`${e.toolName||e.toolUseId}: ${e.content}`).join(`
2
+ `),_toolResults:e}}shouldContinue(e){return e===`tool_use`}formatError(e){if(!e||!(e instanceof Error))return`Something went wrong. Please try again.`;let t=e.message||``,n=e;return n.status===429?`Too many requests. Please wait a moment and try again.`:n.status===403||n.status===401?`Authentication failed. Please check your API key configuration.`:n.status===503||n.status===500?`The AI service is temporarily unavailable. Please try again in a moment.`:t.includes(`SAFETY`)?`The request was blocked by safety filters. Please rephrase your request.`:t.includes(`RECITATION`)?`The response was blocked due to recitation concerns. Please try a different query.`:t.startsWith(`{`)||t.startsWith(`[`)?`The AI service encountered an error. Please try again.`:t}};exports.GoogleProvider=o;
@@ -9,7 +9,76 @@ function e(t) {
9
9
  } else r === "items" && typeof i == "object" && i ? n[r] = e(i) : n[r] = i;
10
10
  return n;
11
11
  }
12
- var t = class {
12
+ function t(e) {
13
+ return e === "STOP" ? "stop" : e === "MAX_TOKENS" ? "max_tokens" : e;
14
+ }
15
+ function* n(e) {
16
+ if (e.text && !e.thought && (yield {
17
+ type: "text_delta",
18
+ text: e.text
19
+ }), e.functionCall) {
20
+ let t = `gemini-tc-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`, n = e.thoughtSignature ? { thoughtSignature: e.thoughtSignature } : void 0;
21
+ yield {
22
+ type: "tool_use_start",
23
+ id: t,
24
+ name: e.functionCall.name,
25
+ ...n ? { metadata: n } : {}
26
+ }, yield {
27
+ type: "tool_input_delta",
28
+ json: JSON.stringify(e.functionCall.args || {})
29
+ }, yield { type: "tool_use_end" };
30
+ }
31
+ }
32
+ function r(e) {
33
+ let t = e._toolResults;
34
+ if (t && t.length > 0) return {
35
+ role: "user",
36
+ parts: t.map((e) => ({ functionResponse: {
37
+ name: e.toolName || e.toolUseId,
38
+ response: {
39
+ content: e.content,
40
+ isError: e.isError || !1
41
+ }
42
+ } }))
43
+ };
44
+ let n = typeof e.content == "string" ? e.content : JSON.stringify(e.content);
45
+ return n ? {
46
+ role: "user",
47
+ parts: [{ text: n }]
48
+ } : null;
49
+ }
50
+ function i(e) {
51
+ let t = [];
52
+ for (let n of e) if (n.type === "text" && n.text) t.push({ text: n.text });
53
+ else if (n.type === "tool_use") {
54
+ let e = { functionCall: {
55
+ name: n.name,
56
+ args: n.input || {}
57
+ } };
58
+ n.metadata?.thoughtSignature && (e.thoughtSignature = n.metadata.thoughtSignature), t.push(e);
59
+ }
60
+ return t;
61
+ }
62
+ function a(e) {
63
+ if (e.role === "tool_result") return r(e);
64
+ if (e.role === "user") return {
65
+ role: "user",
66
+ parts: [{ text: typeof e.content == "string" ? e.content : JSON.stringify(e.content) }]
67
+ };
68
+ if (e.role === "assistant") {
69
+ if (typeof e.content == "string") return {
70
+ role: "model",
71
+ parts: [{ text: e.content }]
72
+ };
73
+ let t = i(e.content);
74
+ return t.length > 0 ? {
75
+ role: "model",
76
+ parts: t
77
+ } : null;
78
+ }
79
+ return null;
80
+ }
81
+ var o = class {
13
82
  apiKey;
14
83
  sdk;
15
84
  initialized = !1;
@@ -42,41 +111,24 @@ var t = class {
42
111
  })).stream;
43
112
  }
44
113
  async *parseStreamEvents(e) {
45
- let t = "stop", n = !1;
46
- for await (let r of e) {
47
- let e = r;
114
+ let r = "stop", i = !1;
115
+ for await (let a of e) {
116
+ let e = a;
48
117
  e.usageMetadata && (yield {
49
118
  type: "message_meta",
50
119
  inputTokens: e.usageMetadata.promptTokenCount,
51
120
  outputTokens: e.usageMetadata.candidatesTokenCount,
52
121
  stopReason: ""
53
122
  });
54
- let i = e.candidates?.[0];
55
- if (!i) continue;
56
- i.finishReason && (t = i.finishReason === "STOP" ? "stop" : i.finishReason === "MAX_TOKENS" ? "max_tokens" : i.finishReason);
57
- let a = i.content?.parts;
58
- if (a) {
59
- for (let e of a) if (e.text && !e.thought && (yield {
60
- type: "text_delta",
61
- text: e.text
62
- }), e.functionCall) {
63
- n = !0;
64
- let t = `gemini-tc-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`, r = e.thoughtSignature ? { thoughtSignature: e.thoughtSignature } : void 0;
65
- yield {
66
- type: "tool_use_start",
67
- id: t,
68
- name: e.functionCall.name,
69
- ...r ? { metadata: r } : {}
70
- }, yield {
71
- type: "tool_input_delta",
72
- json: JSON.stringify(e.functionCall.args || {})
73
- }, yield { type: "tool_use_end" };
74
- }
75
- }
123
+ let o = e.candidates?.[0];
124
+ if (!o) continue;
125
+ o.finishReason && (r = t(o.finishReason));
126
+ let s = o.content?.parts;
127
+ if (s) for (let e of s) for (let t of n(e)) t.type === "tool_use_start" && (i = !0), yield t;
76
128
  }
77
129
  yield {
78
130
  type: "message_meta",
79
- stopReason: n ? "tool_use" : t
131
+ stopReason: i ? "tool_use" : r
80
132
  };
81
133
  }
82
134
  formatTools(t) {
@@ -88,49 +140,9 @@ var t = class {
88
140
  }
89
141
  formatMessages(e, t) {
90
142
  let n = [];
91
- for (let t of e) if (t.role === "tool_result") {
92
- let e = t._toolResults;
93
- if (e && e.length > 0) n.push({
94
- role: "user",
95
- parts: e.map((e) => ({ functionResponse: {
96
- name: e.toolName || e.toolUseId,
97
- response: {
98
- content: e.content,
99
- isError: e.isError || !1
100
- }
101
- } }))
102
- });
103
- else {
104
- let e = typeof t.content == "string" ? t.content : JSON.stringify(t.content);
105
- e && n.push({
106
- role: "user",
107
- parts: [{ text: e }]
108
- });
109
- }
110
- } else if (t.role === "user") {
111
- let e = typeof t.content == "string" ? t.content : JSON.stringify(t.content);
112
- n.push({
113
- role: "user",
114
- parts: [{ text: e }]
115
- });
116
- } else if (t.role === "assistant") if (typeof t.content == "string") n.push({
117
- role: "model",
118
- parts: [{ text: t.content }]
119
- });
120
- else {
121
- let e = t.content, r = [];
122
- for (let t of e) if (t.type === "text" && t.text) r.push({ text: t.text });
123
- else if (t.type === "tool_use") {
124
- let e = { functionCall: {
125
- name: t.name,
126
- args: t.input || {}
127
- } };
128
- t.metadata?.thoughtSignature && (e.thoughtSignature = t.metadata.thoughtSignature), r.push(e);
129
- }
130
- r.length > 0 && n.push({
131
- role: "model",
132
- parts: r
133
- });
143
+ for (let t of e) {
144
+ let e = a(t);
145
+ e && n.push(e);
134
146
  }
135
147
  return { messages: n };
136
148
  }
@@ -151,4 +163,4 @@ var t = class {
151
163
  }
152
164
  };
153
165
  //#endregion
154
- export { t as GoogleProvider };
166
+ export { o as GoogleProvider };