drizzle-cube 0.4.28 → 0.4.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) 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 -127
  198. package/dist/server/index.d.ts +13 -4
  199. package/dist/server/index.js +15089 -34349
  200. package/dist/server/openai-BPhmb8mi.js +4114 -0
  201. package/dist/server/openai-CLsoLaue.cjs +1 -0
  202. package/dist/server/openai-D1kZ5sdM.js +153 -0
  203. package/dist/server/openai-DkOKbVLC.cjs +16 -0
  204. package/package.json +5 -5
  205. package/dist/adapters/anthropic-BTkjgFpT.cjs +0 -1
  206. package/dist/adapters/anthropic-CTu9E801.js +0 -126
  207. package/dist/adapters/google-BAK9pnQf.cjs +0 -2
  208. package/dist/adapters/google-DficVAsJ.js +0 -146
  209. package/dist/adapters/handler-BV2_dul8.js +0 -2713
  210. package/dist/adapters/handler-LMRPeTNJ.cjs +0 -39
  211. package/dist/adapters/index-BgCeQBuN.cjs +0 -2
  212. package/dist/adapters/index-C3PskWTr.js +0 -5353
  213. package/dist/adapters/index-C45_meK_.js +0 -719
  214. package/dist/adapters/index-ht4NPca9.cjs +0 -23
  215. package/dist/adapters/mcp-transport-B6ZudTSk.js +0 -11010
  216. package/dist/adapters/mcp-transport-DCiSGtp1.cjs +0 -257
  217. package/dist/adapters/openai-BvA6eLs8.cjs +0 -1
  218. package/dist/adapters/openai-mcE24du8.js +0 -131
  219. package/dist/client/charts.js.map +0 -1
  220. package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js +0 -256
  221. package/dist/client/chunks/RetentionCombinedChart--SnU4Y_I.js.map +0 -1
  222. package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js +0 -48
  223. package/dist/client/chunks/RetentionCombinedChart.config-Bbp2ghim.js.map +0 -1
  224. package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js +0 -178
  225. package/dist/client/chunks/RetentionHeatmap-BHYU8MXY.js.map +0 -1
  226. package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js +0 -29
  227. package/dist/client/chunks/RetentionHeatmap.config-BWf_-vdj.js.map +0 -1
  228. package/dist/client/chunks/analysis-builder-DMFoAkjT.js +0 -6203
  229. package/dist/client/chunks/analysis-builder-DMFoAkjT.js.map +0 -1
  230. package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js +0 -3140
  231. package/dist/client/chunks/analysis-builder-shared-CunrT3gi.js.map +0 -1
  232. package/dist/client/chunks/chart-activity-grid-DCznpK6N.js +0 -347
  233. package/dist/client/chunks/chart-activity-grid-DCznpK6N.js.map +0 -1
  234. package/dist/client/chunks/chart-area-CqKRIUpj.js +0 -234
  235. package/dist/client/chunks/chart-area-CqKRIUpj.js.map +0 -1
  236. package/dist/client/chunks/chart-bar-Bl5jvrU_.js +0 -267
  237. package/dist/client/chunks/chart-bar-Bl5jvrU_.js.map +0 -1
  238. package/dist/client/chunks/chart-box-plot-CzMb00z_.js +0 -322
  239. package/dist/client/chunks/chart-box-plot-CzMb00z_.js.map +0 -1
  240. package/dist/client/chunks/chart-bubble-BF8Z52eW.js +0 -249
  241. package/dist/client/chunks/chart-bubble-BF8Z52eW.js.map +0 -1
  242. package/dist/client/chunks/chart-candlestick-ByWS945g.js +0 -269
  243. package/dist/client/chunks/chart-candlestick-ByWS945g.js.map +0 -1
  244. package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js +0 -50
  245. package/dist/client/chunks/chart-config-activity-grid-CmOqDuOT.js.map +0 -1
  246. package/dist/client/chunks/chart-config-area-CK_GVApT.js +0 -77
  247. package/dist/client/chunks/chart-config-area-CK_GVApT.js.map +0 -1
  248. package/dist/client/chunks/chart-config-bar-C8uzktxl.js +0 -71
  249. package/dist/client/chunks/chart-config-bar-C8uzktxl.js.map +0 -1
  250. package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js +0 -38
  251. package/dist/client/chunks/chart-config-box-plot-D_E_SSc2.js.map +0 -1
  252. package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js +0 -71
  253. package/dist/client/chunks/chart-config-bubble-q3DoQX5F.js.map +0 -1
  254. package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js +0 -70
  255. package/dist/client/chunks/chart-config-candlestick-CRCpD43-.js.map +0 -1
  256. package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js +0 -28
  257. package/dist/client/chunks/chart-config-data-table-B20Y5JCm.js.map +0 -1
  258. package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js +0 -92
  259. package/dist/client/chunks/chart-config-funnel-3eYnGg8M.js.map +0 -1
  260. package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js +0 -64
  261. package/dist/client/chunks/chart-config-gauge-CQx9w3d4.js.map +0 -1
  262. package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js +0 -77
  263. package/dist/client/chunks/chart-config-heat-map-_wEnTnRA.js.map +0 -1
  264. package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js +0 -97
  265. package/dist/client/chunks/chart-config-kpi-delta-DLGZ2A3X.js.map +0 -1
  266. package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js +0 -75
  267. package/dist/client/chunks/chart-config-kpi-number-K-wzviXF.js.map +0 -1
  268. package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js +0 -47
  269. package/dist/client/chunks/chart-config-kpi-text-BjYqwqaJ.js.map +0 -1
  270. package/dist/client/chunks/chart-config-line-JNagi9tf.js +0 -88
  271. package/dist/client/chunks/chart-config-line-JNagi9tf.js.map +0 -1
  272. package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js +0 -97
  273. package/dist/client/chunks/chart-config-markdown-BWQSjJpy.js.map +0 -1
  274. package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js +0 -70
  275. package/dist/client/chunks/chart-config-measure-profile-ZYaMrtws.js.map +0 -1
  276. package/dist/client/chunks/chart-config-pie-CNLXb-fr.js +0 -39
  277. package/dist/client/chunks/chart-config-pie-CNLXb-fr.js.map +0 -1
  278. package/dist/client/chunks/chart-config-radar-oxHfRAa3.js +0 -44
  279. package/dist/client/chunks/chart-config-radar-oxHfRAa3.js.map +0 -1
  280. package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js +0 -37
  281. package/dist/client/chunks/chart-config-radial-bar-_Aw3jAEm.js.map +0 -1
  282. package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js +0 -61
  283. package/dist/client/chunks/chart-config-sankey-C8FX9hGF.js.map +0 -1
  284. package/dist/client/chunks/chart-config-scatter-DFKM80eO.js +0 -53
  285. package/dist/client/chunks/chart-config-scatter-DFKM80eO.js.map +0 -1
  286. package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js +0 -50
  287. package/dist/client/chunks/chart-config-sunburst-BmC0NLTU.js.map +0 -1
  288. package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js +0 -47
  289. package/dist/client/chunks/chart-config-tree-map-DGMbNTaa.js.map +0 -1
  290. package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js +0 -60
  291. package/dist/client/chunks/chart-config-waterfall-DTyXV_fo.js.map +0 -1
  292. package/dist/client/chunks/chart-data-table-HwfF-Ujv.js +0 -293
  293. package/dist/client/chunks/chart-data-table-HwfF-Ujv.js.map +0 -1
  294. package/dist/client/chunks/chart-funnel-WmuoWlCq.js +0 -259
  295. package/dist/client/chunks/chart-funnel-WmuoWlCq.js.map +0 -1
  296. package/dist/client/chunks/chart-gauge-Cot4By-w.js +0 -374
  297. package/dist/client/chunks/chart-gauge-Cot4By-w.js.map +0 -1
  298. package/dist/client/chunks/chart-heat-map-bGNtsZMr.js +0 -231
  299. package/dist/client/chunks/chart-heat-map-bGNtsZMr.js.map +0 -1
  300. package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js +0 -351
  301. package/dist/client/chunks/chart-kpi-delta-DeyKMxgq.js.map +0 -1
  302. package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js +0 -476
  303. package/dist/client/chunks/chart-kpi-number-D1z1gxXO.js.map +0 -1
  304. package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js +0 -165
  305. package/dist/client/chunks/chart-kpi-text-b7q6KWc0.js.map +0 -1
  306. package/dist/client/chunks/chart-line-3Nf-EPqJ.js +0 -450
  307. package/dist/client/chunks/chart-line-3Nf-EPqJ.js.map +0 -1
  308. package/dist/client/chunks/chart-markdown-BT_-MBq1.js +0 -2721
  309. package/dist/client/chunks/chart-markdown-BT_-MBq1.js.map +0 -1
  310. package/dist/client/chunks/chart-measure-profile-BVjUonqU.js +0 -114
  311. package/dist/client/chunks/chart-measure-profile-BVjUonqU.js.map +0 -1
  312. package/dist/client/chunks/chart-pie-DblG6w7g.js +0 -137
  313. package/dist/client/chunks/chart-pie-DblG6w7g.js.map +0 -1
  314. package/dist/client/chunks/chart-radar-BHZbeeTg.js +0 -129
  315. package/dist/client/chunks/chart-radar-BHZbeeTg.js.map +0 -1
  316. package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js +0 -119
  317. package/dist/client/chunks/chart-radial-bar-AlEJC1Jo.js.map +0 -1
  318. package/dist/client/chunks/chart-sankey-E8vYKjQF.js +0 -189
  319. package/dist/client/chunks/chart-sankey-E8vYKjQF.js.map +0 -1
  320. package/dist/client/chunks/chart-scatter-Bbxqi0iw.js +0 -202
  321. package/dist/client/chunks/chart-scatter-Bbxqi0iw.js.map +0 -1
  322. package/dist/client/chunks/chart-sunburst-BgnTKolT.js +0 -188
  323. package/dist/client/chunks/chart-sunburst-BgnTKolT.js.map +0 -1
  324. package/dist/client/chunks/chart-tree-map-i9LGCLwl.js +0 -284
  325. package/dist/client/chunks/chart-tree-map-i9LGCLwl.js.map +0 -1
  326. package/dist/client/chunks/chart-waterfall-BeIhCm83.js +0 -191
  327. package/dist/client/chunks/chart-waterfall-BeIhCm83.js.map +0 -1
  328. package/dist/client/chunks/charts-core-BUUO36OM.js +0 -692
  329. package/dist/client/chunks/charts-core-BUUO36OM.js.map +0 -1
  330. package/dist/client/chunks/charts-loader-goTYnavu.js +0 -258
  331. package/dist/client/chunks/charts-loader-goTYnavu.js.map +0 -1
  332. package/dist/client/chunks/components-BFgYvFq6.js +0 -10066
  333. package/dist/client/chunks/components-BFgYvFq6.js.map +0 -1
  334. package/dist/client/chunks/core-Y9e-sNfb.js +0 -1068
  335. package/dist/client/chunks/core-Y9e-sNfb.js.map +0 -1
  336. package/dist/client/chunks/flow-utils-CjQZG5qq.js +0 -16
  337. package/dist/client/chunks/flow-utils-CjQZG5qq.js.map +0 -1
  338. package/dist/client/chunks/funnel-utils-CyonoNeC.js +0 -135
  339. package/dist/client/chunks/funnel-utils-CyonoNeC.js.map +0 -1
  340. package/dist/client/chunks/icons-CwvgmdIP.js +0 -1636
  341. package/dist/client/chunks/icons-CwvgmdIP.js.map +0 -1
  342. package/dist/client/chunks/index-CApFCBF9.js +0 -81
  343. package/dist/client/chunks/index-CApFCBF9.js.map +0 -1
  344. package/dist/client/chunks/index-_2PSgbkC.js +0 -1046
  345. package/dist/client/chunks/index-_2PSgbkC.js.map +0 -1
  346. package/dist/client/chunks/javascript-DII1YQGr.js +0 -659
  347. package/dist/client/chunks/javascript-DII1YQGr.js.map +0 -1
  348. package/dist/client/chunks/json-C_6Prymp.js +0 -39
  349. package/dist/client/chunks/json-C_6Prymp.js.map +0 -1
  350. package/dist/client/chunks/providers-Ds7DRmnO.js +0 -554
  351. package/dist/client/chunks/providers-Ds7DRmnO.js.map +0 -1
  352. package/dist/client/chunks/retention-CzCo8262.js +0 -120
  353. package/dist/client/chunks/retention-CzCo8262.js.map +0 -1
  354. package/dist/client/chunks/schema-visualization-B97a1Ybu.js +0 -772
  355. package/dist/client/chunks/schema-visualization-B97a1Ybu.js.map +0 -1
  356. package/dist/client/chunks/sql-IeKX8fQ8.js +0 -616
  357. package/dist/client/chunks/sql-IeKX8fQ8.js.map +0 -1
  358. package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js +0 -34
  359. package/dist/client/chunks/syntaxHighlighting-DAMSW_A6.js.map +0 -1
  360. package/dist/client/chunks/theme-Dp3hFed1.js +0 -112
  361. package/dist/client/chunks/theme-Dp3hFed1.js.map +0 -1
  362. package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js +0 -1231
  363. package/dist/client/chunks/useDirtyStateTracking-CyAXd07d.js.map +0 -1
  364. package/dist/client/chunks/useExplainAI-CfQ_JmF1.js +0 -182
  365. package/dist/client/chunks/useExplainAI-CfQ_JmF1.js.map +0 -1
  366. package/dist/client/chunks/vendor-B2EH3V58.js +0 -2892
  367. package/dist/client/chunks/vendor-B2EH3V58.js.map +0 -1
  368. package/dist/client/components.js.map +0 -1
  369. package/dist/client/hooks.js.map +0 -1
  370. package/dist/client/icons.js.map +0 -1
  371. package/dist/client/providers.js.map +0 -1
  372. package/dist/client/utils.js.map +0 -1
  373. package/dist/server/anthropic-BTkjgFpT.cjs +0 -1
  374. package/dist/server/anthropic-CTu9E801.js +0 -126
  375. package/dist/server/google-BAK9pnQf.cjs +0 -2
  376. package/dist/server/google-DficVAsJ.js +0 -146
  377. package/dist/server/index-BgCeQBuN.cjs +0 -2
  378. package/dist/server/index-C3PskWTr.js +0 -5353
  379. package/dist/server/index-C45_meK_.js +0 -719
  380. package/dist/server/index-ht4NPca9.cjs +0 -23
  381. package/dist/server/openai-BvA6eLs8.cjs +0 -1
  382. package/dist/server/openai-mcE24du8.js +0 -131
@@ -1,616 +1,393 @@
1
- import { NextResponse as r } from "next/server";
2
- import { e as T, s as A, v as D, b as R, a as _, n as Q, p as V, w as I, d as J, i as M, M as k, c as K, S as $ } from "../mcp-transport-B6ZudTSk.js";
3
- import { formatErrorResponse as i, formatCubeResponse as z, formatMetaResponse as U, formatSqlResponse as G, handleDryRun as B, handleBatchRequest as F, handleDiscover as X, handleSuggest as q, handleValidate as W, handleLoad as Y } from "../utils.js";
4
- function E(n) {
5
- const { cubes: a, drizzle: s, schema: c, engineType: d, cache: o } = n;
6
- if (!a || a.length === 0)
7
- throw new Error("At least one cube must be provided in the cubes array");
8
- const t = new $({
9
- drizzle: s,
10
- schema: c,
11
- engineType: d,
12
- cache: o
13
- });
14
- return a.forEach((e) => {
15
- t.registerCube(e);
16
- }), t;
1
+ import { a as e, d as t, f as n, h as r, i, m as a, o, p as s, r as c, u as l } from "../utils-ChhNGUOF.js";
2
+ import { c as u, d, f, h as p, i as m, l as h, m as g, n as _, p as v, r as y, s as b, t as x, u as S } from "../mcp-transport-CuugoG8t.js";
3
+ import { NextResponse as C } from "next/server";
4
+ //#region src/adapters/nextjs/index.ts
5
+ function w(e) {
6
+ let { cubes: t, drizzle: n, schema: r, engineType: i, cache: a } = e;
7
+ if (!t || t.length === 0) throw Error("At least one cube must be provided in the cubes array");
8
+ let o = new p({
9
+ drizzle: n,
10
+ schema: r,
11
+ engineType: i,
12
+ cache: a
13
+ });
14
+ return t.forEach((e) => {
15
+ o.registerCube(e);
16
+ }), o;
17
17
  }
18
- function m(n, a) {
19
- const s = n.headers.get("origin"), c = {};
20
- return a.origin && (typeof a.origin == "string" ? c["Access-Control-Allow-Origin"] = a.origin : Array.isArray(a.origin) ? s && a.origin.includes(s) && (c["Access-Control-Allow-Origin"] = s) : typeof a.origin == "function" && s && a.origin(s) && (c["Access-Control-Allow-Origin"] = s)), a.methods && (c["Access-Control-Allow-Methods"] = a.methods.join(", ")), a.allowedHeaders && (c["Access-Control-Allow-Headers"] = a.allowedHeaders.join(", ")), a.credentials && (c["Access-Control-Allow-Credentials"] = "true"), c;
18
+ function T(e, t) {
19
+ let n = e.headers.get("origin"), r = {};
20
+ return t.origin && (typeof t.origin == "string" ? r["Access-Control-Allow-Origin"] = t.origin : Array.isArray(t.origin) ? n && t.origin.includes(n) && (r["Access-Control-Allow-Origin"] = n) : typeof t.origin == "function" && n && t.origin(n) && (r["Access-Control-Allow-Origin"] = n)), t.methods && (r["Access-Control-Allow-Methods"] = t.methods.join(", ")), t.allowedHeaders && (r["Access-Control-Allow-Headers"] = t.allowedHeaders.join(", ")), t.credentials && (r["Access-Control-Allow-Credentials"] = "true"), r;
21
21
  }
22
- function le(n) {
23
- return async function(s) {
24
- const c = m(s, n);
25
- return new Response(null, {
26
- status: 200,
27
- headers: c
28
- });
29
- };
22
+ function E(e) {
23
+ return async function(t) {
24
+ let n = T(t, e);
25
+ return new Response(null, {
26
+ status: 200,
27
+ headers: n
28
+ });
29
+ };
30
30
  }
31
- function Z(n) {
32
- const { extractSecurityContext: a, cors: s } = n, c = E(n);
33
- return async function(o, t) {
34
- try {
35
- let e;
36
- if (o.method === "POST") {
37
- const j = await o.json();
38
- e = j.query || j;
39
- } else if (o.method === "GET") {
40
- const j = o.nextUrl.searchParams.get("query");
41
- if (!j)
42
- return r.json(
43
- i("Query parameter is required", 400),
44
- { status: 400 }
45
- );
46
- try {
47
- e = JSON.parse(j);
48
- } catch {
49
- return r.json(
50
- i("Invalid JSON in query parameter", 400),
51
- { status: 400 }
52
- );
53
- }
54
- } else
55
- return r.json(
56
- i("Method not allowed", 405),
57
- { status: 405 }
58
- );
59
- const l = await a(o, t), y = c.validateQuery(e);
60
- if (!y.isValid)
61
- return r.json(
62
- i(`Query validation failed: ${y.errors.join(", ")}`, 400),
63
- { status: 400 }
64
- );
65
- const u = o.headers.get("x-cache-control") === "no-cache", f = await c.executeMultiCubeQuery(e, l, { skipCache: u }), C = z(e, f, c);
66
- return r.json(C, {
67
- headers: s ? m(o, s) : {}
68
- });
69
- } catch (e) {
70
- return process.env.NODE_ENV !== "test" && console.error("Next.js load handler error:", e), r.json(
71
- i(
72
- e instanceof Error ? e.message : "Query execution failed",
73
- 500
74
- ),
75
- { status: 500 }
76
- );
77
- }
78
- };
31
+ function D(e) {
32
+ let { extractSecurityContext: t, cors: n } = e, r = w(e);
33
+ return async function(e, a) {
34
+ try {
35
+ let o;
36
+ if (e.method === "POST") {
37
+ let t = await e.json();
38
+ o = t.query || t;
39
+ } else if (e.method === "GET") {
40
+ let t = e.nextUrl.searchParams.get("query");
41
+ if (!t) return C.json(i("Query parameter is required", 400), { status: 400 });
42
+ try {
43
+ o = JSON.parse(t);
44
+ } catch {
45
+ return C.json(i("Invalid JSON in query parameter", 400), { status: 400 });
46
+ }
47
+ } else return C.json(i("Method not allowed", 405), { status: 405 });
48
+ let s = await t(e, a), l = r.validateQuery(o);
49
+ if (!l.isValid) return C.json(i(`Query validation failed: ${l.errors.join(", ")}`, 400), { status: 400 });
50
+ let u = e.headers.get("x-cache-control") === "no-cache", d = await r.executeMultiCubeQuery(o, s, { skipCache: u }), f = c(o, d, r);
51
+ return C.json(f, { headers: n ? T(e, n) : {} });
52
+ } catch (e) {
53
+ return process.env.NODE_ENV !== "test" && console.error("Next.js load handler error:", e), C.json(i(e instanceof Error ? e.message : "Query execution failed", 500), { status: 500 });
54
+ }
55
+ };
79
56
  }
80
- function ee(n) {
81
- const { cors: a } = n, s = E(n);
82
- return async function(d, o) {
83
- try {
84
- const t = s.getMetadata(), e = U(t);
85
- return r.json(e, {
86
- headers: a ? m(d, a) : {}
87
- });
88
- } catch (t) {
89
- return process.env.NODE_ENV !== "test" && console.error("Next.js meta handler error:", t), r.json(
90
- i(
91
- t instanceof Error ? t.message : "Failed to fetch metadata",
92
- 500
93
- ),
94
- { status: 500 }
95
- );
96
- }
97
- };
57
+ function O(t) {
58
+ let { cors: n } = t, r = w(t);
59
+ return async function(t, a) {
60
+ try {
61
+ let i = e(r.getMetadata());
62
+ return C.json(i, { headers: n ? T(t, n) : {} });
63
+ } catch (e) {
64
+ return process.env.NODE_ENV !== "test" && console.error("Next.js meta handler error:", e), C.json(i(e instanceof Error ? e.message : "Failed to fetch metadata", 500), { status: 500 });
65
+ }
66
+ };
98
67
  }
99
- function te(n) {
100
- const { extractSecurityContext: a, cors: s } = n, c = E(n);
101
- return async function(o, t) {
102
- try {
103
- let e;
104
- if (o.method === "POST") {
105
- const S = await o.json();
106
- e = S.query || S;
107
- } else if (o.method === "GET") {
108
- const S = o.nextUrl.searchParams.get("query");
109
- if (!S)
110
- return r.json(
111
- i("Query parameter is required", 400),
112
- { status: 400 }
113
- );
114
- try {
115
- e = JSON.parse(S);
116
- } catch {
117
- return r.json(
118
- i("Invalid JSON in query parameter", 400),
119
- { status: 400 }
120
- );
121
- }
122
- } else
123
- return r.json(
124
- i("Method not allowed", 405),
125
- { status: 405 }
126
- );
127
- const l = await a(o, t), y = c.validateQuery(e);
128
- if (!y.isValid)
129
- return r.json(
130
- i(`Query validation failed: ${y.errors.join(", ")}`, 400),
131
- { status: 400 }
132
- );
133
- const u = e.measures?.[0] || e.dimensions?.[0];
134
- if (!u)
135
- return r.json(
136
- i("No measures or dimensions specified", 400),
137
- { status: 400 }
138
- );
139
- const f = u.split(".")[0], C = await c.generateSQL(f, e, l), j = G(e, C);
140
- return r.json(j, {
141
- headers: s ? m(o, s) : {}
142
- });
143
- } catch (e) {
144
- return process.env.NODE_ENV !== "test" && console.error("Next.js SQL handler error:", e), r.json(
145
- i(
146
- e instanceof Error ? e.message : "SQL generation failed",
147
- 500
148
- ),
149
- { status: 500 }
150
- );
151
- }
152
- };
68
+ function k(e) {
69
+ let { extractSecurityContext: t, cors: n } = e, r = w(e);
70
+ return async function(e, a) {
71
+ try {
72
+ let s;
73
+ if (e.method === "POST") {
74
+ let t = await e.json();
75
+ s = t.query || t;
76
+ } else if (e.method === "GET") {
77
+ let t = e.nextUrl.searchParams.get("query");
78
+ if (!t) return C.json(i("Query parameter is required", 400), { status: 400 });
79
+ try {
80
+ s = JSON.parse(t);
81
+ } catch {
82
+ return C.json(i("Invalid JSON in query parameter", 400), { status: 400 });
83
+ }
84
+ } else return C.json(i("Method not allowed", 405), { status: 405 });
85
+ let c = await t(e, a), l = r.validateQuery(s);
86
+ if (!l.isValid) return C.json(i(`Query validation failed: ${l.errors.join(", ")}`, 400), { status: 400 });
87
+ let u = s.measures?.[0] || s.dimensions?.[0];
88
+ if (!u) return C.json(i("No measures or dimensions specified", 400), { status: 400 });
89
+ let d = u.split(".")[0], f = await r.generateSQL(d, s, c), p = o(s, f);
90
+ return C.json(p, { headers: n ? T(e, n) : {} });
91
+ } catch (e) {
92
+ return process.env.NODE_ENV !== "test" && console.error("Next.js SQL handler error:", e), C.json(i(e instanceof Error ? e.message : "SQL generation failed", 500), { status: 500 });
93
+ }
94
+ };
153
95
  }
154
- function re(n) {
155
- const { extractSecurityContext: a, cors: s } = n, c = E(n);
156
- return async function(o, t) {
157
- try {
158
- let e;
159
- if (o.method === "POST") {
160
- const u = await o.json();
161
- e = u.query || u;
162
- } else if (o.method === "GET") {
163
- const u = o.nextUrl.searchParams.get("query");
164
- if (!u)
165
- return r.json(
166
- { error: "Query parameter is required", valid: !1 },
167
- { status: 400 }
168
- );
169
- try {
170
- e = JSON.parse(u);
171
- } catch {
172
- return r.json(
173
- { error: "Invalid JSON in query parameter", valid: !1 },
174
- { status: 400 }
175
- );
176
- }
177
- } else
178
- return r.json(
179
- { error: "Method not allowed", valid: !1 },
180
- { status: 405 }
181
- );
182
- const l = await a(o, t), y = await B(e, l, c);
183
- return r.json(y, {
184
- headers: s ? m(o, s) : {}
185
- });
186
- } catch (e) {
187
- return process.env.NODE_ENV !== "test" && console.error("Next.js dry-run handler error:", e), r.json(
188
- {
189
- error: e instanceof Error ? e.message : "Dry-run validation failed",
190
- valid: !1
191
- },
192
- { status: 400 }
193
- );
194
- }
195
- };
96
+ function A(e) {
97
+ let { extractSecurityContext: t, cors: r } = e, i = w(e);
98
+ return async function(e, a) {
99
+ try {
100
+ let o;
101
+ if (e.method === "POST") {
102
+ let t = await e.json();
103
+ o = t.query || t;
104
+ } else if (e.method === "GET") {
105
+ let t = e.nextUrl.searchParams.get("query");
106
+ if (!t) return C.json({
107
+ error: "Query parameter is required",
108
+ valid: !1
109
+ }, { status: 400 });
110
+ try {
111
+ o = JSON.parse(t);
112
+ } catch {
113
+ return C.json({
114
+ error: "Invalid JSON in query parameter",
115
+ valid: !1
116
+ }, { status: 400 });
117
+ }
118
+ } else return C.json({
119
+ error: "Method not allowed",
120
+ valid: !1
121
+ }, { status: 405 });
122
+ let s = await t(e, a), c = await n(o, s, i);
123
+ return C.json(c, { headers: r ? T(e, r) : {} });
124
+ } catch (e) {
125
+ return process.env.NODE_ENV !== "test" && console.error("Next.js dry-run handler error:", e), C.json({
126
+ error: e instanceof Error ? e.message : "Dry-run validation failed",
127
+ valid: !1
128
+ }, { status: 400 });
129
+ }
130
+ };
196
131
  }
197
- function ne(n) {
198
- const { extractSecurityContext: a, cors: s } = n, c = E(n);
199
- return async function(o, t) {
200
- try {
201
- if (o.method !== "POST")
202
- return r.json(
203
- i("Method not allowed - use POST", 405),
204
- { status: 405 }
205
- );
206
- const e = await o.json(), { queries: l } = e;
207
- if (!l || !Array.isArray(l))
208
- return r.json(
209
- i('Request body must contain a "queries" array', 400),
210
- { status: 400 }
211
- );
212
- if (l.length === 0)
213
- return r.json(
214
- i("Queries array cannot be empty", 400),
215
- { status: 400 }
216
- );
217
- const y = await a(o, t), u = o.headers.get("x-cache-control") === "no-cache", f = await F(l, y, c, { skipCache: u });
218
- return r.json(f, {
219
- headers: s ? m(o, s) : {}
220
- });
221
- } catch (e) {
222
- return process.env.NODE_ENV !== "test" && console.error("Next.js batch handler error:", e), r.json(
223
- i(
224
- e instanceof Error ? e.message : "Batch execution failed",
225
- 500
226
- ),
227
- { status: 500 }
228
- );
229
- }
230
- };
132
+ function j(e) {
133
+ let { extractSecurityContext: t, cors: n } = e, r = w(e);
134
+ return async function(e, a) {
135
+ try {
136
+ if (e.method !== "POST") return C.json(i("Method not allowed - use POST", 405), { status: 405 });
137
+ let { queries: o } = await e.json();
138
+ if (!o || !Array.isArray(o)) return C.json(i("Request body must contain a \"queries\" array", 400), { status: 400 });
139
+ if (o.length === 0) return C.json(i("Queries array cannot be empty", 400), { status: 400 });
140
+ let s = await l(o, await t(e, a), r, { skipCache: e.headers.get("x-cache-control") === "no-cache" });
141
+ return C.json(s, { headers: n ? T(e, n) : {} });
142
+ } catch (e) {
143
+ return process.env.NODE_ENV !== "test" && console.error("Next.js batch handler error:", e), C.json(i(e instanceof Error ? e.message : "Batch execution failed", 500), { status: 500 });
144
+ }
145
+ };
231
146
  }
232
- function se(n) {
233
- const { extractSecurityContext: a, cors: s } = n, c = E(n);
234
- return async function(o, t) {
235
- try {
236
- if (o.method !== "POST")
237
- return r.json(
238
- { error: "Method not allowed" },
239
- { status: 405 }
240
- );
241
- const e = await o.json(), l = e.query || e, y = e.options || {}, u = await a(o, t), f = c.validateQuery(l);
242
- if (!f.isValid)
243
- return r.json(
244
- { error: `Query validation failed: ${f.errors.join(", ")}` },
245
- { status: 400 }
246
- );
247
- const C = await c.explainQuery(
248
- l,
249
- u,
250
- y
251
- );
252
- return r.json(C, {
253
- headers: s ? m(o, s) : {}
254
- });
255
- } catch (e) {
256
- return process.env.NODE_ENV !== "test" && console.error("Next.js explain handler error:", e), r.json(
257
- { error: e instanceof Error ? e.message : "Explain query failed" },
258
- { status: 500 }
259
- );
260
- }
261
- };
147
+ function M(e) {
148
+ let { extractSecurityContext: t, cors: n } = e, r = w(e);
149
+ return async function(e, i) {
150
+ try {
151
+ if (e.method !== "POST") return C.json({ error: "Method not allowed" }, { status: 405 });
152
+ let a = await e.json(), o = a.query || a, s = a.options || {}, c = await t(e, i), l = r.validateQuery(o);
153
+ if (!l.isValid) return C.json({ error: `Query validation failed: ${l.errors.join(", ")}` }, { status: 400 });
154
+ let u = await r.explainQuery(o, c, s);
155
+ return C.json(u, { headers: n ? T(e, n) : {} });
156
+ } catch (e) {
157
+ return process.env.NODE_ENV !== "test" && console.error("Next.js explain handler error:", e), C.json({ error: e instanceof Error ? e.message : "Explain query failed" }, { status: 500 });
158
+ }
159
+ };
262
160
  }
263
- function ue(n) {
264
- const { cors: a } = n, s = E(n);
265
- return async function(d, o) {
266
- try {
267
- if (d.method !== "POST")
268
- return r.json(
269
- i("Method not allowed - use POST", 405),
270
- { status: 405 }
271
- );
272
- const t = await d.json(), e = await X(s, t);
273
- return r.json(e, {
274
- headers: a ? m(d, a) : {}
275
- });
276
- } catch (t) {
277
- return process.env.NODE_ENV !== "test" && console.error("Next.js discover handler error:", t), r.json(
278
- i(
279
- t instanceof Error ? t.message : "Discovery failed",
280
- 500
281
- ),
282
- { status: 500 }
283
- );
284
- }
285
- };
161
+ function N(e) {
162
+ let { cors: n } = e, r = w(e);
163
+ return async function(e, a) {
164
+ try {
165
+ if (e.method !== "POST") return C.json(i("Method not allowed - use POST", 405), { status: 405 });
166
+ let a = await t(r, await e.json());
167
+ return C.json(a, { headers: n ? T(e, n) : {} });
168
+ } catch (e) {
169
+ return process.env.NODE_ENV !== "test" && console.error("Next.js discover handler error:", e), C.json(i(e instanceof Error ? e.message : "Discovery failed", 500), { status: 500 });
170
+ }
171
+ };
286
172
  }
287
- function fe(n) {
288
- const { cors: a } = n, s = E(n);
289
- return async function(d, o) {
290
- try {
291
- if (d.method !== "POST")
292
- return r.json(
293
- i("Method not allowed - use POST", 405),
294
- { status: 405 }
295
- );
296
- const t = await d.json();
297
- if (!t.naturalLanguage)
298
- return r.json(
299
- i("naturalLanguage field is required", 400),
300
- { status: 400 }
301
- );
302
- const e = await q(s, t);
303
- return r.json(e, {
304
- headers: a ? m(d, a) : {}
305
- });
306
- } catch (t) {
307
- return process.env.NODE_ENV !== "test" && console.error("Next.js suggest handler error:", t), r.json(
308
- i(
309
- t instanceof Error ? t.message : "Query suggestion failed",
310
- 500
311
- ),
312
- { status: 500 }
313
- );
314
- }
315
- };
173
+ function P(e) {
174
+ let { cors: t } = e, n = w(e);
175
+ return async function(e, r) {
176
+ try {
177
+ if (e.method !== "POST") return C.json(i("Method not allowed - use POST", 405), { status: 405 });
178
+ let r = await e.json();
179
+ if (!r.naturalLanguage) return C.json(i("naturalLanguage field is required", 400), { status: 400 });
180
+ let o = await a(n, r);
181
+ return C.json(o, { headers: t ? T(e, t) : {} });
182
+ } catch (e) {
183
+ return process.env.NODE_ENV !== "test" && console.error("Next.js suggest handler error:", e), C.json(i(e instanceof Error ? e.message : "Query suggestion failed", 500), { status: 500 });
184
+ }
185
+ };
316
186
  }
317
- function ye(n) {
318
- const { cors: a } = n, s = E(n);
319
- return async function(d, o) {
320
- try {
321
- if (d.method !== "POST")
322
- return r.json(
323
- i("Method not allowed - use POST", 405),
324
- { status: 405 }
325
- );
326
- const t = await d.json();
327
- if (!t.query)
328
- return r.json(
329
- i("query field is required", 400),
330
- { status: 400 }
331
- );
332
- const e = await W(s, t);
333
- return r.json(e, {
334
- headers: a ? m(d, a) : {}
335
- });
336
- } catch (t) {
337
- return process.env.NODE_ENV !== "test" && console.error("Next.js validate handler error:", t), r.json(
338
- i(
339
- t instanceof Error ? t.message : "Query validation failed",
340
- 500
341
- ),
342
- { status: 500 }
343
- );
344
- }
345
- };
187
+ function F(e) {
188
+ let { cors: t } = e, n = w(e);
189
+ return async function(e, a) {
190
+ try {
191
+ if (e.method !== "POST") return C.json(i("Method not allowed - use POST", 405), { status: 405 });
192
+ let a = await e.json();
193
+ if (!a.query) return C.json(i("query field is required", 400), { status: 400 });
194
+ let o = await r(n, a);
195
+ return C.json(o, { headers: t ? T(e, t) : {} });
196
+ } catch (e) {
197
+ return process.env.NODE_ENV !== "test" && console.error("Next.js validate handler error:", e), C.json(i(e instanceof Error ? e.message : "Query validation failed", 500), { status: 500 });
198
+ }
199
+ };
346
200
  }
347
- function he(n) {
348
- const { extractSecurityContext: a, cors: s } = n, c = E(n);
349
- return async function(o, t) {
350
- try {
351
- if (o.method !== "POST")
352
- return r.json(
353
- i("Method not allowed - use POST", 405),
354
- { status: 405 }
355
- );
356
- const e = await o.json();
357
- if (!e.query)
358
- return r.json(
359
- i("query field is required", 400),
360
- { status: 400 }
361
- );
362
- const l = await a(o, t), y = await Y(c, l, e);
363
- return r.json(y, {
364
- headers: s ? m(o, s) : {}
365
- });
366
- } catch (e) {
367
- return process.env.NODE_ENV !== "test" && console.error("Next.js MCP load handler error:", e), r.json(
368
- i(
369
- e instanceof Error ? e.message : "Query execution failed",
370
- 500
371
- ),
372
- { status: 500 }
373
- );
374
- }
375
- };
201
+ function I(e) {
202
+ let { extractSecurityContext: t, cors: n } = e, r = w(e);
203
+ return async function(e, a) {
204
+ try {
205
+ if (e.method !== "POST") return C.json(i("Method not allowed - use POST", 405), { status: 405 });
206
+ let o = await e.json();
207
+ if (!o.query) return C.json(i("query field is required", 400), { status: 400 });
208
+ let c = await s(r, await t(e, a), o);
209
+ return C.json(c, { headers: n ? T(e, n) : {} });
210
+ } catch (e) {
211
+ return process.env.NODE_ENV !== "test" && console.error("Next.js MCP load handler error:", e), C.json(i(e instanceof Error ? e.message : "Query execution failed", 500), { status: 500 });
212
+ }
213
+ };
376
214
  }
377
- function ae(n) {
378
- const { extractSecurityContext: a, cors: s, mcp: c = { enabled: !0 } } = n, d = E(n);
379
- return async function(t) {
380
- if (t.method === "DELETE")
381
- return r.json(
382
- { error: "Session termination not supported" },
383
- { status: 405 }
384
- );
385
- if (t.method === "GET") {
386
- const h = new TextEncoder(), N = T(), x = new ReadableStream({
387
- start(p) {
388
- p.enqueue(h.encode(A({
389
- jsonrpc: "2.0",
390
- method: "mcp/ready",
391
- params: { protocol: "streamable-http" }
392
- }, N, 15e3)));
393
- }
394
- }), b = new Headers({
395
- "Content-Type": "text/event-stream",
396
- "Cache-Control": "no-cache",
397
- Connection: "keep-alive"
398
- });
399
- if (s) {
400
- const p = m(t, s);
401
- Object.entries(p).forEach(([O, H]) => b.set(O, H));
402
- }
403
- return new r(x, { status: 200, headers: b });
404
- }
405
- if (t.method !== "POST")
406
- return r.json(
407
- i("Method not allowed - use POST", 405),
408
- { status: 405 }
409
- );
410
- const e = D(
411
- t.headers.get("origin"),
412
- c.allowedOrigins ? { allowedOrigins: c.allowedOrigins } : {}
413
- );
414
- if (!e.valid)
415
- return r.json(
416
- R(null, -32600, e.reason),
417
- { status: 403 }
418
- );
419
- const l = t.headers.get("accept");
420
- if (!_(l))
421
- return r.json(
422
- R(null, -32600, "Accept header must include both application/json and text/event-stream"),
423
- { status: 400 }
424
- );
425
- const y = Q(Object.fromEntries(t.headers.entries()));
426
- if (!y.ok)
427
- return r.json({
428
- error: "Unsupported MCP protocol version",
429
- supported: y.supported
430
- }, { status: 426 });
431
- let u;
432
- try {
433
- u = await t.json();
434
- } catch {
435
- u = null;
436
- }
437
- const f = V(u);
438
- if (!f)
439
- return r.json(
440
- R(null, -32600, "Invalid JSON-RPC 2.0 request"),
441
- { status: 400 }
442
- );
443
- const C = I(l), j = f.method === "initialize", S = (h, N = 200, x = {}) => r.json(h, {
444
- status: N,
445
- headers: { ...s ? m(t, s) : {}, ...x }
446
- });
447
- try {
448
- const h = await J(
449
- f.method,
450
- f.params,
451
- {
452
- semanticLayer: d,
453
- extractSecurityContext: (p) => a(p),
454
- rawRequest: t,
455
- rawResponse: null
456
- }
457
- );
458
- if (M(f))
459
- return new r(null, { status: 202 });
460
- const N = j && h && typeof h == "object" && "sessionId" in h ? h.sessionId : void 0, x = {};
461
- N && (x[k] = N);
462
- const b = K(f.id ?? null, h);
463
- if (C) {
464
- const p = new TextEncoder(), O = T(), H = new ReadableStream({
465
- start(g) {
466
- g.enqueue(p.encode(`id: ${O}
467
-
468
- `)), g.enqueue(p.encode(A(b, O))), g.close();
469
- }
470
- }), w = new Headers({
471
- "Content-Type": "text/event-stream",
472
- "Cache-Control": "no-cache",
473
- Connection: "keep-alive",
474
- ...x
475
- });
476
- if (s) {
477
- const g = m(t, s);
478
- Object.entries(g).forEach(([v, P]) => w.set(v, P));
479
- }
480
- return new r(H, { status: 200, headers: w });
481
- }
482
- return S(b, 200, x);
483
- } catch (h) {
484
- if (M(f))
485
- return process.env.NODE_ENV !== "test" && console.error("Next.js MCP notification processing error:", h), new r(null, { status: 202 });
486
- process.env.NODE_ENV !== "test" && console.error("Next.js MCP RPC handler error:", h);
487
- const N = h?.code ?? -32603, x = h?.data, b = h.message || "MCP request failed", p = R(f.id ?? null, N, b, x);
488
- if (C) {
489
- const O = new TextEncoder(), H = T(), w = new ReadableStream({
490
- start(v) {
491
- v.enqueue(O.encode(`id: ${H}
492
-
493
- `)), v.enqueue(O.encode(A(p, H))), v.close();
494
- }
495
- }), g = new Headers({
496
- "Content-Type": "text/event-stream",
497
- "Cache-Control": "no-cache",
498
- Connection: "keep-alive"
499
- });
500
- if (s) {
501
- const v = m(t, s);
502
- Object.entries(v).forEach(([P, L]) => g.set(P, L));
503
- }
504
- return new r(w, { status: 200, headers: g });
505
- }
506
- return S(p, 200);
507
- }
508
- };
215
+ function L(e) {
216
+ let { extractSecurityContext: t, cors: n, mcp: r = { enabled: !0 } } = e, a = w(e);
217
+ return async function(e) {
218
+ if (e.method === "DELETE") return C.json({ error: "Session termination not supported" }, { status: 405 });
219
+ if (e.method === "GET") {
220
+ let t = new TextEncoder(), r = S(), i = new ReadableStream({ start(e) {
221
+ e.enqueue(t.encode(d({
222
+ jsonrpc: "2.0",
223
+ method: "mcp/ready",
224
+ params: { protocol: "streamable-http" }
225
+ }, r, 15e3)));
226
+ } }), a = new Headers({
227
+ "Content-Type": "text/event-stream",
228
+ "Cache-Control": "no-cache",
229
+ Connection: "keep-alive"
230
+ });
231
+ if (n) {
232
+ let t = T(e, n);
233
+ Object.entries(t).forEach(([e, t]) => a.set(e, t));
234
+ }
235
+ return new C(i, {
236
+ status: 200,
237
+ headers: a
238
+ });
239
+ }
240
+ if (e.method !== "POST") return C.json(i("Method not allowed - use POST", 405), { status: 405 });
241
+ let o = v(e.headers.get("origin"), r.allowedOrigins ? { allowedOrigins: r.allowedOrigins } : {});
242
+ if (!o.valid) return C.json(_(null, -32600, o.reason), { status: 403 });
243
+ let s = e.headers.get("accept");
244
+ if (!f(s)) return C.json(_(null, -32600, "Accept header must include both application/json and text/event-stream"), { status: 400 });
245
+ let c = u(Object.fromEntries(e.headers.entries()));
246
+ if (!c.ok) return C.json({
247
+ error: "Unsupported MCP protocol version",
248
+ supported: c.supported
249
+ }, { status: 426 });
250
+ let l;
251
+ try {
252
+ l = await e.json();
253
+ } catch {
254
+ l = null;
255
+ }
256
+ let p = h(l);
257
+ if (!p) return C.json(_(null, -32600, "Invalid JSON-RPC 2.0 request"), { status: 400 });
258
+ let w = g(s), E = p.method === "initialize", D = (t, r = 200, i = {}) => C.json(t, {
259
+ status: r,
260
+ headers: {
261
+ ...n ? T(e, n) : {},
262
+ ...i
263
+ }
264
+ });
265
+ try {
266
+ let r = await m(p.method, p.params, {
267
+ semanticLayer: a,
268
+ extractSecurityContext: (e) => t(e),
269
+ rawRequest: e,
270
+ rawResponse: null
271
+ });
272
+ if (b(p)) return new C(null, { status: 202 });
273
+ let i = E && r && typeof r == "object" && "sessionId" in r ? r.sessionId : void 0, o = {};
274
+ i && (o[x] = i);
275
+ let s = y(p.id ?? null, r);
276
+ if (w) {
277
+ let t = new TextEncoder(), r = S(), i = new ReadableStream({ start(e) {
278
+ e.enqueue(t.encode(`id: ${r}\n\n`)), e.enqueue(t.encode(d(s, r))), e.close();
279
+ } }), a = new Headers({
280
+ "Content-Type": "text/event-stream",
281
+ "Cache-Control": "no-cache",
282
+ Connection: "keep-alive",
283
+ ...o
284
+ });
285
+ if (n) {
286
+ let t = T(e, n);
287
+ Object.entries(t).forEach(([e, t]) => a.set(e, t));
288
+ }
289
+ return new C(i, {
290
+ status: 200,
291
+ headers: a
292
+ });
293
+ }
294
+ return D(s, 200, o);
295
+ } catch (t) {
296
+ if (b(p)) return process.env.NODE_ENV !== "test" && console.error("Next.js MCP notification processing error:", t), new C(null, { status: 202 });
297
+ process.env.NODE_ENV !== "test" && console.error("Next.js MCP RPC handler error:", t);
298
+ let r = t?.code ?? -32603, i = t?.data, a = t.message || "MCP request failed", o = _(p.id ?? null, r, a, i);
299
+ if (w) {
300
+ let t = new TextEncoder(), r = S(), i = new ReadableStream({ start(e) {
301
+ e.enqueue(t.encode(`id: ${r}\n\n`)), e.enqueue(t.encode(d(o, r))), e.close();
302
+ } }), a = new Headers({
303
+ "Content-Type": "text/event-stream",
304
+ "Cache-Control": "no-cache",
305
+ Connection: "keep-alive"
306
+ });
307
+ if (n) {
308
+ let t = T(e, n);
309
+ Object.entries(t).forEach(([e, t]) => a.set(e, t));
310
+ }
311
+ return new C(i, {
312
+ status: 200,
313
+ headers: a
314
+ });
315
+ }
316
+ return D(o, 200);
317
+ }
318
+ };
509
319
  }
510
- function oe(n) {
511
- const { extractSecurityContext: a, cors: s, agent: c } = n;
512
- if (!c)
513
- throw new Error("agent config is required for createAgentChatHandler");
514
- const d = E(n);
515
- return async function(t, e) {
516
- try {
517
- if (t.method !== "POST")
518
- return r.json(
519
- { error: "Method not allowed - use POST" },
520
- { status: 405 }
521
- );
522
- const { handleAgentChat: l } = await import("../handler-BV2_dul8.js"), y = await t.json(), { message: u, sessionId: f, history: C } = y;
523
- if (!u || typeof u != "string")
524
- return r.json(
525
- { error: "message is required and must be a string" },
526
- { status: 400 }
527
- );
528
- let j = (c.apiKey || "").trim();
529
- if (c.allowClientApiKey) {
530
- const w = t.headers.get("x-agent-api-key");
531
- w && (j = w.trim());
532
- }
533
- if (!j)
534
- return r.json(
535
- { error: "No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header." },
536
- { status: 401 }
537
- );
538
- const S = c.allowClientApiKey && t.headers.get("x-agent-provider") || void 0, h = c.allowClientApiKey && t.headers.get("x-agent-model") || void 0, N = c.allowClientApiKey && t.headers.get("x-agent-provider-endpoint") || void 0, x = await a(t, e), b = c.buildSystemContext?.(x), p = new TextEncoder(), O = new ReadableStream({
539
- async start(w) {
540
- try {
541
- const g = l({
542
- message: u,
543
- sessionId: f,
544
- history: C,
545
- semanticLayer: d,
546
- securityContext: x,
547
- agentConfig: c,
548
- apiKey: j,
549
- systemContext: b,
550
- providerOverride: S,
551
- modelOverride: h,
552
- baseURLOverride: N
553
- });
554
- for await (const v of g) {
555
- const P = `data: ${JSON.stringify(v)}
556
-
557
- `;
558
- w.enqueue(p.encode(P));
559
- }
560
- } catch (g) {
561
- const v = {
562
- type: "error",
563
- data: { message: g instanceof Error ? g.message : "Stream failed" }
564
- };
565
- w.enqueue(p.encode(`data: ${JSON.stringify(v)}
566
-
567
- `));
568
- } finally {
569
- w.close();
570
- }
571
- }
572
- }), H = new Headers({
573
- "Content-Type": "text/event-stream",
574
- "Cache-Control": "no-cache",
575
- Connection: "keep-alive"
576
- });
577
- if (s) {
578
- const w = m(t, s);
579
- Object.entries(w).forEach(([g, v]) => H.set(g, v));
580
- }
581
- return new Response(O, { status: 200, headers: H });
582
- } catch (l) {
583
- return process.env.NODE_ENV !== "test" && console.error("Next.js agent chat handler error:", l), r.json(
584
- { error: l instanceof Error ? l.message : "Agent chat failed" },
585
- { status: 500 }
586
- );
587
- }
588
- };
320
+ function R(e) {
321
+ let { extractSecurityContext: t, cors: n, agent: r } = e;
322
+ if (!r) throw Error("agent config is required for createAgentChatHandler");
323
+ let i = w(e);
324
+ return async function(e, a) {
325
+ try {
326
+ if (e.method !== "POST") return C.json({ error: "Method not allowed - use POST" }, { status: 405 });
327
+ let { handleAgentChat: o } = await import("../handler-D-2-6uLM.js"), { message: s, sessionId: c, history: l } = await e.json();
328
+ if (!s || typeof s != "string") return C.json({ error: "message is required and must be a string" }, { status: 400 });
329
+ let u = (r.apiKey || "").trim();
330
+ if (r.allowClientApiKey) {
331
+ let t = e.headers.get("x-agent-api-key");
332
+ t && (u = t.trim());
333
+ }
334
+ if (!u) return C.json({ error: "No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header." }, { status: 401 });
335
+ let d = r.allowClientApiKey && e.headers.get("x-agent-provider") || void 0, f = r.allowClientApiKey && e.headers.get("x-agent-model") || void 0, p = r.allowClientApiKey && e.headers.get("x-agent-provider-endpoint") || void 0, m = await t(e, a), h = r.buildSystemContext?.(m), g = new TextEncoder(), _ = new ReadableStream({ async start(e) {
336
+ try {
337
+ let t = o({
338
+ message: s,
339
+ sessionId: c,
340
+ history: l,
341
+ semanticLayer: i,
342
+ securityContext: m,
343
+ agentConfig: r,
344
+ apiKey: u,
345
+ systemContext: h,
346
+ providerOverride: d,
347
+ modelOverride: f,
348
+ baseURLOverride: p
349
+ });
350
+ for await (let n of t) {
351
+ let t = `data: ${JSON.stringify(n)}\n\n`;
352
+ e.enqueue(g.encode(t));
353
+ }
354
+ } catch (t) {
355
+ let n = {
356
+ type: "error",
357
+ data: { message: t instanceof Error ? t.message : "Stream failed" }
358
+ };
359
+ e.enqueue(g.encode(`data: ${JSON.stringify(n)}\n\n`));
360
+ } finally {
361
+ e.close();
362
+ }
363
+ } }), v = new Headers({
364
+ "Content-Type": "text/event-stream",
365
+ "Cache-Control": "no-cache",
366
+ Connection: "keep-alive"
367
+ });
368
+ if (n) {
369
+ let t = T(e, n);
370
+ Object.entries(t).forEach(([e, t]) => v.set(e, t));
371
+ }
372
+ return new Response(_, {
373
+ status: 200,
374
+ headers: v
375
+ });
376
+ } catch (e) {
377
+ return process.env.NODE_ENV !== "test" && console.error("Next.js agent chat handler error:", e), C.json({ error: e instanceof Error ? e.message : "Agent chat failed" }, { status: 500 });
378
+ }
379
+ };
589
380
  }
590
- function me(n) {
591
- const { mcp: a = { enabled: !0 } } = n, s = {
592
- load: Z(n),
593
- meta: ee(n),
594
- sql: te(n),
595
- dryRun: re(n),
596
- batch: ne(n),
597
- explain: se(n)
598
- };
599
- return a.enabled !== !1 && (s.mcpRpc = ae(n)), n.agent && (s.agentChat = oe(n)), s;
381
+ function z(e) {
382
+ let { mcp: t = { enabled: !0 } } = e, n = {
383
+ load: D(e),
384
+ meta: O(e),
385
+ sql: k(e),
386
+ dryRun: A(e),
387
+ batch: j(e),
388
+ explain: M(e)
389
+ };
390
+ return t.enabled !== !1 && (n.mcpRpc = L(e)), e.agent && (n.agentChat = R(e)), n;
600
391
  }
601
- export {
602
- oe as createAgentChatHandler,
603
- ne as createBatchHandler,
604
- me as createCubeHandlers,
605
- ue as createDiscoverHandler,
606
- re as createDryRunHandler,
607
- se as createExplainHandler,
608
- Z as createLoadHandler,
609
- he as createMcpLoadHandler,
610
- ae as createMcpRpcHandler,
611
- ee as createMetaHandler,
612
- le as createOptionsHandler,
613
- te as createSqlHandler,
614
- fe as createSuggestHandler,
615
- ye as createValidateHandler
616
- };
392
+ //#endregion
393
+ export { R as createAgentChatHandler, j as createBatchHandler, z as createCubeHandlers, N as createDiscoverHandler, A as createDryRunHandler, M as createExplainHandler, D as createLoadHandler, I as createMcpLoadHandler, L as createMcpRpcHandler, O as createMetaHandler, E as createOptionsHandler, k as createSqlHandler, P as createSuggestHandler, F as createValidateHandler };