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